summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-11-20MailSettings: Migrate to using SettingsWindow :^)Sam Atkins
2021-11-20LibGUI: Add SettingsWindow classSam Atkins
The FooSettings apps have quite a lot of boilerplate just around creating a tabbed window with the same styling and the same row of buttons along the bottom. So, let's extract that out into a class we can reuse! :^) You create a SettingsWindow instead of a regular Window, passing a title and a flag to determine if a "Defaults" button is shown. Then call add_tab() to add tabs to it. Tabs are widgets extending SettingsWindow::Tab, which has methods for saving and resetting the values.
2021-11-20Base: Add new FontEditor icons already in useLady Gegga
These should have been part of 7180813cd452d496f7f06543923b8a4e110e3d8d.
2021-11-20FontEditor: Set all pixels when pasting a glyphBen Wiederhake
For an empty glyph (all pixels initially clear), this makes no difference. However, if the glyph for the selected code point already contains some set pixels, pasting used to "add" the set pixels, instead of overwriting.
2021-11-20FontEditor: Add ability to copy the selected code pointBen Wiederhake
This makes it easier to preview the current glyph, if it is not easily typable.
2021-11-20FontEditor: Support flipping and rotatingBen Wiederhake
This is especially useful for highly symmetric scripts like this: https://www.unicode.org/charts/PDF/U1400.pdf
2021-11-20FontEditor: Tighten type of UndoGlyph::undo_state (cannot fail)Ben Wiederhake
2021-11-20FontEditor: Don't show focus box after clicking 'present' checkboxBen Wiederhake
2021-11-20FontEditor: More reasonable labels, move property to GMLBen Wiederhake
2021-11-20FontEditor: Convert UI from fixed to implicit heightBen Wiederhake
This gets rid of a magic number, and means that the widget will adapt nicely when the system font changes.
2021-11-20LibWeb: Use the sandboxed image ImageDecoder when loading faviconsAndreas Kling
2021-11-20LibWeb: Use the sandboxed ImageDecoder when creating image documentsAndreas Kling
An image document is the synthetic DOM::Document we create to wrap an image when you open the URL of an image directly in a web view. The path that creates these documents will now also call out to the separate ImageDecoder process for the actual decoding work.
2021-11-20LibWeb: Move ImageDecoder client connection singleton to its own fileAndreas Kling
This will allow us to use it in more places around LibWeb.
2021-11-20FontEditor: Show code point name in status barBen Wiederhake
2021-11-20Meta+LibUnicode: Provide code point names through libraryBen Wiederhake
2021-11-20PixelPaint: Allow toggling the active layer boundary display rectAndreas Kling
Let the user opt out of painting a rectangle around the currently active layer.
2021-11-19LibWeb: Add spec comments to CSS TokenizerSam Atkins
Some of the code has been slightly rearranged to match the spec order, but otherwise I've tried not to mess with it.
2021-11-19LibWeb: Convert CSS Token::m_value from StringBuilder to FlyStringSam Atkins
Again, this value does not change once we have finished creating the Token, so it can be more lightweight.
2021-11-19LibWeb: Convert CSS Token::m_unit from StringBuilder to FlyStringSam Atkins
This value doesn't change once it's assigned to the Token, so it can be more lightweight than a StringBuilder.
2021-11-19LibWeb: Break friendship between CSS Token and Parser :^(Sam Atkins
The Parser no longer needs to mess with Token's internals, since we have getter functions that are safer.
2021-11-19LibWeb: Verify that the Tokenizer doesn't produce Dimensions from %Sam Atkins
If `12.34%` ever produces a Dimension token instead of a Percentage, then something has gone wrong and we want to know about it!
2021-11-19LibWeb: Use number value from CSS TokensSam Atkins
This lets us get rid of `try_parse_float()`, and simplifies the various places we were calling it before.
2021-11-19LibWeb: Return numeric values from Token value gettersSam Atkins
This saves user code from having to parse the numbers, as we already did that while Tokenizing. :^) As a bonus, we now round extremely large integers to the closest available value, like the spec tells us to.
2021-11-19LibWeb: Convert numeric tokens to numbers in CSS TokenizerSam Atkins
The spec wants us to produce numeric values as the Tokenizer sees them, rather than waiting until the parse stage. This is a first step towards that.
2021-11-19CI: Prevent false errors if a commit message contains CRLFthislooksfun
Previously if a commit message contained any carriage returns it would correctly fail the 'contains CRLF line breaks' test, but it would also report 'Commit message lines are too long' and 'Commit title ends in a period', even if neither is true.
2021-11-19LibJS: Treat relativeTo parameters as PlainDate or ZonedDateTimeLinus Groh
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/c822e14
2021-11-19LibJS: Update spec comments in format_time_zone_offset_string()Linus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/60c753a
2021-11-19LibJS: Allow string as parameter in Temporal's round() / total()Linus Groh
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/1f0c586
2021-11-19LibUnicode: Support locales-without-script aliases for ECMA-402Timothy Flynn
As noted by ECMA-402, if a supported locale contains all of a language, script, and region subtag, then the implementation must also support the locale without the script subtag. The most complicated example of this is the zh-TW locale. The list of locales in the CLDR database does not include zh-TW or its maximized zh-Hant-TW variant. Instead, it inlcudes the zh-Hant locale. However, zh-Hant-TW is listed in the default-content locale list in the cldr-core package. This defines an alias from zh-Hant-TW to zh-Hant. We must then also support the zh-Hant-TW alias without the script subtag: zh-TW. This transitively maps zh-TW to zh-Hant, which is a case quite heavily tested by test262.
2021-11-19LibUnicode: Stop passing the cldr-core package to UnicodeNumberFormatTimothy Flynn
This is no longer needed now that this generator isn't parsing the default-content locales.
2021-11-19LibUnicode: Generate default-content locales as aliasesTimothy Flynn
Previously, we were just copying the locale data into default-content locales (for example, copying the "en" data into "en-US"). Instead, we can just define the default-content locales as aliases to their main locales.
2021-11-19LibUnicode: Move GenerateUnicodeData's Alias struct to generator headerTimothy Flynn
This will be used for locale aliases as well. Also rename the "property" field in this struct to "name", as it no longer is only used for property aliases.
2021-11-19Base: Add Runic characters to font Katica Regular 10Lady Gegga
16A0–16FF https://unicode.org/charts/PDF/U16A0.pdf Also align(move 1px up) Shavian short letters & ligatures(10464-1047F)
2021-11-19LibWeb+LibHTTP: Support multiple Set-Cookie response headersTheFightingCatfish
2021-11-19Hexdump: Add verbose optionPankaj Raghav
Verbose option overrides the default coalescing behaviour by displaying the complete output.
2021-11-19Hexdump: Allow identical lines to coalescePankaj Raghav
Coalesce feature is enabled by default when using the program. Any number of lines identical to the preceding line will be replaced by a single asterik.
2021-11-18Kernel: Use DistinctNumeric for filesystem ID'sAndreas Kling
This patch adds the FileSystemID type, which is a distinct u32. This prevents accidental conversion from arbitrary integers.
2021-11-18LibWeb: Move BrowsingContext into HTML/Andreas Kling
Browsing contexts are defined by the HTML specification, so let's move them into the HTML directory. :^)
2021-11-18LibGfx: Remove ImageDecoderPlugin::bitmap() in favor of frame(index)Andreas Kling
To encourage proper support for multi-frame images throughout the system, get rid of the single-frame convenience bitmap() API.
2021-11-18Fuzzers: Use ImageDecoderPlugin::frame() in image decoder fuzzersAndreas Kling
Let's work towards getting rid of the first-frame-only bitmap() API.
2021-11-18Kernel: Make VirtualRangeAllocator setup functions propagate errorsAndreas Kling
If an internal allocation failure occurs while setting up a new VRA, we'll now propagate the error to our caller instead of panicking.
2021-11-18AK: Make RedBlackTree::try_insert() return ErrorOr<void> instead of boolAndreas Kling
2021-11-18Kernel: Propagate Vector append failures from Inode::apply_flock()Andreas Kling
2021-11-18LibWeb: Delete CSSLoaderSam Atkins
All CSS loading is now done by the relevant classes: - CSSImportRule, which loads its linked stylesheet - HTMLStyleElement, which "loads" its contents - HTMLLinkElement, which loads its linked stylesheet
2021-11-18LibWeb: Make HTMLLinkElement responsible for its own loadingSam Atkins
This is the last use of CSSLoader, which can now be deleted.
2021-11-18LibWeb: Remove `for_first_not_loaded_import_rule()` :^)Sam Atkins
This was only used for making sure `@import` rules got loaded, and since they handle that themselves now, we can get rid of all this code!
2021-11-18LibWeb: Remove redundant `@import`-handling code from CSSLoaderSam Atkins
Now that `@import` rules load themselves, we don't want to also load them here.
2021-11-18LibWeb: Make `@import` rules functional again :^)Sam Atkins
The changes in commit d462a6720afe721b6821ce14d5b7802d1890b61f meant that `CSSLoader::load_next_import_if_needed()` was no longer being called, so no `@import` rules were loading. The spec does not seem to mention when that loading should take place, but WebKit does this at parse time, as each rule is added to the style sheet. If it works for them, it's probably not that bad. :^) So, that's what we now do here. The `CSSImportRule` creates a fetch request when it is constructed, so each one is responsible for its own contents.
2021-11-18Ports: Remove ScummVM's SVG patchJelle Raaijmakers
No longer necessary now that we have a better `acosf` implementation.
2021-11-18AK: Implement `acos<T>` correctlyJelle Raaijmakers
This is a naive implementation based on the symmetry with `asin`. Before, I'm not really sure what we were doing, but it was returning wildly incorrect results.