summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2022-09-06LibWeb: Make TreeWalker GC-allocatedAndreas Kling
2022-09-06LibWeb: Make NodeIterator GC-allocatedAndreas Kling
2022-09-06LibWeb: Move event listeners, handlers and callbacks to the GC heapAndreas Kling
This patch moves the following things to being GC-allocated: - Bindings::CallbackType - HTML::EventHandler - DOM::IDLEventListener - DOM::DOMEventListener - DOM::NodeFilter Note that we only use PlatformObject for things that might be exposed to web content. Anything that is only used internally inherits directly from JS::Cell instead, making them a bit more lightweight.
2022-09-06LibWeb: Make DOMImplementation GC-allocatedAndreas Kling
2022-09-06LibWeb: Make MediaList GC-allocatedAndreas Kling
2022-09-06LibWeb: Make DOMTokenList GC-allocatedAndreas Kling
2022-09-06LibWeb: Make NamedNodeMap GC-allocatedAndreas Kling
2022-09-06LibWeb: Make DOMStringMap GC-allocatedAndreas Kling
2022-09-06LibWeb: Make CSSStyleDeclaration GC-allocatedAndreas Kling
2022-09-06LibWeb: Make CSSRule and all its subclasses GC-allocatedAndreas Kling
2022-09-06LibWeb: Make CSSRuleList GC-allocatedAndreas Kling
2022-09-06LibWeb: Make StyleSheetList GC-allocatedAndreas Kling
2022-09-06LibWeb: Make StyleSheet and CSSStyleSheet GC-allocatedAndreas Kling
2022-09-06LibWeb: Add an "internal" JS realm & window objectAndreas Kling
These will be used to host JS objects that don't belong in one of the web-facing global objects.
2022-09-06LibWeb: Add Bindings::LegacyPlatformObject base classAndreas Kling
This will be inherited by "legacy platform objects", i.e objects that need to hijack indexed and/or named property access as described in the IDL spec: https://webidl.spec.whatwg.org/#dfn-legacy-platform-object Instead of overriding JS::Object virtuals, subclasses only need to implement a very simple interface for property queries. Note that this code is taken verbatim from code generator output. I didn't write any of this now, so it's effectively "moved" code.
2022-09-06LibWeb: Add PlatformObject classAndreas Kling
This represents the "platform object" concept from the IDL spec, which refers to an object that implements an IDL interface.
2022-09-05LibLocale: Move locale source files to the LibLocale libraryTimothy Flynn
Everything is now setup to create the LibLocale library and link it where needed.
2022-09-05LibUnicode: Generate a separate Locale enumeration for special casingTimothy Flynn
The UCD only cares about a few locales for special casing rules (az, lt, and tr). Unfortunately, LibUnicode cannot use LibLocale once the libraries are separate because LibLocale will need to use LibUnicode for many more things; thus there would be a circular dependency. Instead, just generate the small enum needed for this one use case.
2022-09-05LibLocale: Move locale source files to the LibLocale folderTimothy Flynn
These are still included in LibUnicode, but this updates their location and the include paths of other files which include them.
2022-09-05Userland: Move files destined for LibLocale to the Locale namespaceTimothy Flynn
2022-09-05LibUnicode+LibJS: Move Unicode::get_available_currencies() to Locale.hTimothy Flynn
This is generated by GenerateLocaleData, which will soon be in the Locale namespace. Move it out of CurrencyCode.h, as that will continue to live in the Unicode namespace.
2022-09-05LibLocale+LibUnicode: Move generated CLDR data files to LibLocale folderTimothy Flynn
They are still included into LibUnicode, but this moves their generated location to be under LibLocale.
2022-09-05LibUnicode+Userland: Migrate generated CLDR data to LibLocaleDataTimothy Flynn
Currently, LibUnicodeData contains the generated UCD and CLDR data. Move the UCD data to the main LibUnicode library, and rename LibUnicodeData to LibLocaleData. This is another prepatory change to migrate to LibLocale.
2022-09-05LibUnicode: Move CLDR data generators to a LibLocale subfolderTimothy Flynn
To prepare for placing all CLDR generated data in a new library, LibLocale, this moves the code generators for the CLDR data to the LibLocale subfolder.
2022-09-05LibUnicode: Fully qualify use of AK::Variant in Locale.hTimothy Flynn
The generated locale data contains an enum also named Variant, as variants are part of locale strings. This hasn't been an issue, but as includes are reordered, the order in which the enum and AK::Variant are included may cause an ambiguity error.
2022-09-05LibJS: Remove unused include from JS::Temporal::CalendarTimothy Flynn
2022-09-05LibC: Move `dlfcn_integration.h` to the `bits` directoryTim Schumacher
2022-09-05LibC: Reduce reliance on the dlfcn internals for `regex` functionsTim Schumacher
2022-09-05LibC: Remove the `LibDl` interface targetTim Schumacher
2022-09-05Everywhere: Fully remove the separate LibDl directoryTim Schumacher
2022-09-05LibDl: Move the `dlfcn` implementation to LibCTim Schumacher
2022-09-05Everywhere: Refer to `dlfcn*.h` by its non-prefixed nameTim Schumacher
2022-09-05LibGUI: Implement basic rubber band selections in ColumnsViewnetworkException
This patch adds the ability to select multiple entries in a column using a rubber band selection. Currently the implementation is lacking support for expanding a selection using the ctrl modifier.
2022-09-05LibGUI: Add granular ColumnView helpers for column and index at eventsnetworkException
This patch extracts logic for getting colum at an event position and for getting an index in a column at an event position from index_at_event_position into separate functions.
2022-09-05WebServer: Make bound socket a clickable hyperlink :^)networkException
This patch adds a hyperlink that can be hovered over and clicked on to open the WebServer's index page in Browser.
2022-09-05LibVT: Handle non file urls in on hover tooltipsnetworkException
Previously we would simply compute the basename of the hovered url's path and display it as the resource that will be opened. This patch adds a fallback for non file urls to simply show the full url, making http urls show up properly.
2022-09-04LibGUI: Add Widgets before the ResizeCorner by default in StatusbarFrHun
Before this, any Widgets added through e.g. GML appeared after the ResizeCorner, which didn't make sense. (see FileManager)
2022-09-04Utilities/lsusb: Fix uninitialized variable errorJesse Buhagiar
The variable `print_verbose` (which prints verbose information about the USB devices connected to the system) was uninitialized in `lsusb`. This was causing the verbose information to be printed if `-v` was NOT seen on the command line.
2022-09-03PixelPaint: Introduce a vectorscopekleines Filmröllchen
Vectorscopes are a standard tool in professional video/film color grading. *Very* simply, the Vectorscope shows image colors with hue as the angle and saturation as the radius; brightness for each point in the scope is determined by the number of "color vectors" at that point. More specifically, the Vectorscope shows a 2D UV histogram of the image, where U and V are the chroma ("color") channels of the image. Co-authored-by: MacDue <macdue@dueutil.tech>
2022-09-03LibGfx: Add AntiAliasingPainter::fill_rectMacDue
This function is able to draw rectangles of floating-point pixel precision.
2022-09-03LibGfx: Add saturation modification functions to Colorkleines Filmröllchen
This operates via the HSV color space; I'm not 100% sure whether the conversions are lossless.
2022-09-03LibGfx: Add YUV conversion functions to Colorkleines Filmröllchen
2022-09-03LibGfx: Make Color::set_alpha constexprkleines Filmröllchen
2022-09-03PixelPaint: Invoke the modified_change callback when layers changekleines Filmröllchen
This propagates layer edits as well as undo stack operations to whoever needs to perform updates when the image changes.
2022-09-03PixelPaint: Extract common scope code into a generic ScopeWidgetkleines Filmröllchen
When we add more scopes, this will facilitate code sharing.
2022-09-03PixelPaint: Specify histogram height in GMLkleines Filmröllchen
The histogram is perfectly fine with being drawn at any size, but the code currently fixes its height to 65. Once the histogram is in a subclass and several GML things around it change, the fixed height breaks, so we move the height specification to GML. Additionally, the container is specified to shrink as much as possible, alleviating a hard-coded UI size. The user can now change histogram height in GML, which is a lot more obvious.
2022-09-03LibJS: Don't use a Handle<Realm> in FinalizationRegistryAndreas Kling
Instead just treat it like a normal GC cell edge.
2022-09-03LibJS: Make Handle<T> more user-friendlyAndreas Kling
Allow *handle, !handle, handle.ptr(), assignment from compatible pointer types, etc. This is in preparation for using Handles in more generated code.
2022-09-03LibJS: Add Cell::Visitor::visit(Cell&)Andreas Kling
2022-09-03LibJS: Add GCPtr and NonnullGCPtrAndreas Kling
These are two new smart pointers that are really just raw pointers under the hood. The initial benefit is all in the names, they allow us to declare that we're pointing at something in the GC heap. Later we may also find ways to add debugging logic or static analysis to these types.