summaryrefslogtreecommitdiff
path: root/Userland/Libraries
AgeCommit message (Collapse)Author
2021-07-29LibTTF/LibGfx: Remove circular dependency by merging LibTTF into LibGfxAndrew Kaster
LibTTF has a concrete dependency on LibGfx for things like Gfx::Bitmap, and LibGfx has a concrete dependency in the TTF::Font class in Gfx::FontDatabase. This circular dependency works fine for Serenity and Lagom Linux builds of the two libraries. It also works fine for static library builds on Lagom macOS builds. However, future changes will make Lagom use shared libraries, and circular library dependencies are not tolerated in macOS.
2021-07-29Kernel+LibC: Add linger to sys/sockets.hLuke
Also adds SO_BROADCAST in UnixTypes.h to match sys/sockets.h. Required by bash 5.1.8.
2021-07-29LibWeb: Remove unused enum value CSS::StyleValue::PositionAndreas Kling
CSS position values are just basic identifiers, they don't require a custom StyleValue type.
2021-07-29LibGUI+Playground: Move GMLAutocompleteProvider to LibGUIConor Byrne
2021-07-29LibWeb: Add proper support for text-decoration-line property valuesTobias Christiansen
The code handling the rendering of the text-decoration-line got moved into its own function to reduce clutter. The CSS property text-decoration-line now supports underline, overline and line-through.
2021-07-29LibGUI: Allow to specify FilePicker window positionLuK1337
2021-07-29LibGUI: Allow to specify position on screen for Dialog windowLuK1337
This change allows us to specify where on screen we'd like the Dialog window to be drawn. By default it's set to CenterWithinParent which may fall back to Center if parent window is unset or not visible on screen.
2021-07-29LibCore: Prevent LockFile fd from leaking into child processPeter Elliott
Fixes #9059
2021-07-29LibWeb: Handle comment blocks when skipping unknown @-rulesK-Adam
This css definition was parsed incorrectly before: ```css @media screen { /* Unclosed bracket in comment { */ body { background: red; } } ```
2021-07-28LibJS: Reflect infallibility editorial changes in the Temporal specLinus Groh
See: - https://github.com/tc39/proposal-temporal/commit/3c0671f - https://github.com/tc39/proposal-temporal/commit/fe28b86
2021-07-28LibWeb: Fix incompatibility of attribute "contenteditable"SeekingBlues
The previous behavior of mapping a missing value to the "inherit" state is incompatible. Now, a missing value maps to the "true" state, which is the expected behavior.
2021-07-28LibUnicode: Handle code points that are both cased and case-ignorableTimothy Flynn
Apparently, some code points fit both categories, for example U+0345 (COMBINING GREEK YPOGEGRAMMENI). Handle this fact when determining if a code point is a final code point in a string.
2021-07-28LibUnicode: Reduce Unicode data generator boilerplateTimothy Flynn
There's a fair amount of boilerplate when e.g. adding a new UCD file to parse or a new enumeration to generate. Reduce the overhead by adding helper lambdas. Also adds a couple missing spec links with UCD field information.
2021-07-28LibUnicode: Check word break when deciding on case-ignorable code pointsTimothy Flynn
2021-07-28LibUnicode: Download and parse the word break property list UCD fileTimothy Flynn
Note that unlike the main property list, each code point has only one word break property. Code points that do not have a word break property are to be assigned the property "Other".
2021-07-28LibUnicode: Check property list when deciding if a code point is casedTimothy Flynn
2021-07-28LibUnicode: Download and parse the property list UCD fileTimothy Flynn
2021-07-28LibJS: Implement Temporal.Now.plainTimeISO()Linus Groh
2021-07-28LibJS: Update Temporal.Now spec section numbersLinus Groh
The addition of @@toStringTag shifted them all by 1.
2021-07-28LibJS: Handle PlainTime objects in GetTemporalCalendarWithISODefaultLinus Groh
2021-07-28LibJS: Handle PlainTime objects in ToTemporalCalendarLinus Groh
2021-07-28LibJS: Implement Temporal.PlainTime.prototype.nanosecondLinus Groh
2021-07-28LibJS: Implement Temporal.PlainTime.prototype.microsecondLinus Groh
2021-07-28LibJS: Implement Temporal.PlainTime.prototype.millisecondLinus Groh
2021-07-28LibJS: Implement Temporal.PlainTime.prototype.secondLinus Groh
2021-07-28LibJS: Implement Temporal.PlainTime.prototype.minuteLinus Groh
2021-07-28LibJS: Implement Temporal.PlainTime.prototype.hourLinus Groh
2021-07-28LibJS: Implement Temporal.PlainTime.prototype.calendarLinus Groh
2021-07-28LibJS: Implement Temporal.PlainTime.prototype.valueOf()Linus Groh
2021-07-28LibJS: Implement Temporal.PlainTime.prototype[@@toStringTag]Linus Groh
2021-07-28LibJS: Start implementing Temporal.PlainTimeLinus Groh
This commit adds the PlainTime object itself, its constructor and prototype (currently empty), and the CreateTemporalTime abstract operation.
2021-07-28LibJS: Fix types of PlainDateTime iso_{milli,micro,nano}second paramsLinus Groh
999 does not fit into an u8. :^)
2021-07-28LibJS/Tests: Remove two leftover console.log() callsLinus Groh
2021-07-28LibJS: Reflect infallibility editorial change in ToTemporalCalendarLinus Groh
See: https://github.com/tc39/proposal-temporal/commit/3437106
2021-07-28Revert "LibGUI: Only dispatch Leave if the now-hovered widget isn't a child"Andreas Kling
This reverts commit cfc9ee6f16b9c4d2b246bb2832dd436637cbeaad. This change was wrong: The parent *does* lose hover when the mouse cursor enters a child widget. Hover is not hierarchical, there is only a hovered window and a hovered widget within that window. This fixes an issue with GUI::TabWidget buttons appearing hovered despite the mouse cursor not being over the buttons.
2021-07-28Revert "LibGUI: Ignore the Enter event by default"Andreas Kling
This reverts commit a5a32fbccef8f8f663001363a278f80ef6320efe. This change was wrong: it's fine for a child widget to receive an enter event despite its parent never getting one. Only the widget directly under the mouse cursor is considered hovered for enter/leave purposes.
2021-07-28LibGUI+LibGfx: Highlight currently active tab button with accent colorAndreas Kling
Use the new "Accent" color role to emphasize the currently active tab within a GUI::TabWidget. :^)
2021-07-28LibGUI: Update windows when they become active/inactiveAndreas Kling
Since interfaces may look different depending on the window active state we need to update them when it changes.
2021-07-28LibGfx+Base: Add a themable "Accent" color roleAndreas Kling
This can be used by GUI widgets to draw attention to a specific part of the widget, for example the currently active sub-widget component.
2021-07-28LibGfx: Remove unused StylePainter::paint_surface()Andreas Kling
2021-07-28LibWeb: Avoid assertion failure on parsing numeric character referencesovf
2021-07-28LibGUI: Align FilePickerDialog's common locations with file list viewLuK1337
2021-07-28LibGUI: Convert indexes to size_t and use Optional in TabWidgetLuke
Previously it was using int for indexes and using the -1 magic value. Supersedes b9d51b86015e8410a2082c42f95651c0599ec7ae
2021-07-28LibGUI: Always reset pressed close button index on mouse up in TabWidgetLuke
Previously it would only do this if the mouse was over the close button. If you released the mouse outside the close button, the close button would appear permanently depressed afterwards.
2021-07-28LibGUI: Add GUI_HOVER_DEBUG runtime debugging flag (environment)Andreas Kling
You can now see the outline of GUI widgets when hovering them. For example: $ export GUI_HOVER_DEBUG=1 $ FileManager Then move the mouse around in the file manager. :^)
2021-07-28LibGUI: Make Label padding work with left/right aligned textAndreas Kling
The previous text_rect() algorithm only produced the right result for horizontally centered labels. This adds some missing padding to GUI::Statusbar which we've apparently needed for some time. :^)
2021-07-27LibGUI: Add a ClipboardClient for GUI::ClipboardTheFightingCatfish
Anyone who inherits from `GUI::Clipboard::ClipboardClient` will receive clipboard notifications via `clipboard_content_did_change()`. Update ClipboardHistoryModel, TextEditor and TerminalWidget to inherit from this class.
2021-07-27LibWeb: Return null if an unknown canvas context type is requestedK-Adam
2021-07-27LibGfx: Take the glyph spacing into account when building a linesin-ack
Without this, a word might be added to a line despite going outside the rect, due to the glyph spacing between blocks not being considered.
2021-07-27LibGfx: Remove extra space considered during wrappingsin-ack
This was previously required because the whitespace was consumed and manually added back after the fact, but now that we preserve whitespace, this breaks wrapping of text with whitespace after it.