summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-02-01LibGfx+Tests: Remove code unnecessary after 9e7c16d0a44052e598103Nico Weber
2023-02-01LibGfx: Move TestImageDecoder over to input file approach in 8cfabbcd933Nico Weber
Rather than reading files out of /res, put them in a subfolder of Tests/LibGfx/ and pick the path based on AK_OS_SERENITY. That way, the tests can also pass when run under lagom. (I just `cp`d all the files that the test previously read from random places into Tests/LibGfx/test-inputs.)
2023-02-01LibGfx: Move TestFontHandling over to input file approach in 8cfabbcd933Nico Weber
Rather than reading files out of /res, put them in a subfolder of Tests/LibGfx/ and pick the path based on AK_OS_SERENITY. That way, the tests can also pass when run under lagom.
2023-02-01Base: Add more emojiXexxa
πŸ‘Š - U+1F44A ONCOMING FIST 🚢 - U+1F6B6 PERSON WALKING πŸšΆβ€β™‚οΈ - U+1F6B6 U+200D U+2642 MAN WALKING πŸšΆβ€β™€οΈ - U+1F6B6 U+200D U+2640 WOMAN WALKING πŸ§‘β€πŸ¦― - U+1F9D1 U+200D U+1F9AF PERSON WITH WHITE CANE πŸ‘¨β€πŸ¦― - U+1F468 U+200D U+1F9AF MAN WITH WHITE CANE πŸ‘©β€πŸ¦― - U+1F469 U+200D U+1F9AF WOMAN WITH WHITE CANE 🚴 - U+1F6B4 PERSON BIKING πŸš΄β€β™‚οΈ - U+1F6B4 U+200D U+2642 MAN BIKING πŸš΄β€β™€οΈ - U+1F6B4 U+200D U+2640 WOMAN BIKING πŸ‘‘ - U+1F461 WOMAN’S SANDAL
2023-02-01Documentation: Rename WebServer_localhost to .jpgNico Weber
It took me way too long to figure out why PNGImageDecoderPlugin couldn't load WebServer_localhost.png -- turns out it's a jpeg file.
2023-02-01LibLine: Quit event loop when an error occurs on updateAli Mohammad Pur
Previously we were crashing, which was excessive, if we can't read anymore, we should just return with an error.
2023-01-31LibGfx: Make glyph ID lookup faster with a cacheAndreas Kling
This patch adds a "GlyphPage" cache which stores the mapping between code points and glyph IDs in a segmented table of "pages". This makes Font::glyph_id_for_code_point() significantly faster by not reparsing the font tables every time you call it. In the future, we can add more information to GlyphPage (such as horizontal metrics for each glyph) to further reduce time spent in text layout and painting.
2023-01-31AK: Fix all quadratic-time append-loops over ByteBufferBen Wiederhake
2023-01-31AK: Remove unused network ordered 'address' variableIman Seyed
2023-01-30LibJS: Allow "approximately" results to differ in plural formTimothy Flynn
This is a normative change in the Intl.NumberFormat V3 spec. See: https://github.com/tc39/proposal-intl-numberformat-v3/commit/08f599b Note that this didn't seem to actually affect our implementation. The Unicode spec states: https://www.unicode.org/reports/tr35/tr35-53/tr35-numbers.html#Plural_Ranges "If there is no value for a <start,end> pair, the default result is end" Therefore, our implementation did not have the behavior noted by the issue this normative change addressed: const pr = new Intl.PluralRules("en-US"); pr.selectRange(1, 1); // Is "other", should be "one" Our implementation already returned "one" here because there is no such <start=one, end=one> value in the CLDR for en-US. Thus, we already returned the end value of "one".
2023-01-30LibSoftGPU: Remove DeprecatedString usageJelle Raaijmakers
2023-01-30LibGPU: Remove DeprecatedString usageJelle Raaijmakers
2023-01-30LibGL: Remove DeprecatedString usageJelle Raaijmakers
We only use it for the extension string, which we now convert into a `ByteBuffer` object containing the null-terminated bytes :^)
2023-01-30LibJS: Make use of the Intl MV in more Intl.NumberFormat AOsTimothy Flynn
This is an editorial change in the Intl.NumberFormat V3 spec. See: https://github.com/tc39/proposal-intl-numberformat-v3/commit/c24b33e Note our implementation was already using the Intl MV in these AOs just due to C++ type safety.
2023-01-30LibJS: Refactor the Intl.NumberFormat GetStringOrBooleanOption AOTimothy Flynn
This is an editorial change in the Intl.NumberFormat V3 spec. See: https://github.com/tc39/proposal-intl-numberformat-v3/commit/654bfad
2023-01-30LibJS: Shorten some spec text for BestAvailableLocaleTimothy Flynn
This is an editorial change in the Intl.NumberFormat V3 spec. See: https://github.com/tc39/proposal-intl-numberformat-v3/commit/654bfad
2023-01-30LibJS: Allow locale approximately signs to be empty in Intl.NumberFormatTimothy Flynn
This is a normative change in the Intl.NumberFormat V3 spec. See: https://github.com/tc39/proposal-intl-numberformat-v3/commit/23e69cf This isn't particularly testable because every locale in the CLDR has a non-empty "approximatelySign" field in cldr-numbers-modern. The issue for this change seems to be considering the "miscPatterns/approximately" field instead, which has different semantics. But as noted on the CLDR issue https://unicode-org.atlassian.net/browse/CLDR-14918, the ICU uses the "approximatelySign" field (as do our implementation).
2023-01-30LibJS: Move resolution of some Intl.NumberFormat options to a common AOTimothy Flynn
This is a normative change in the Intl.NumberFormat V3 spec. See: https://github.com/tc39/proposal-intl-numberformat-v3/commit/29acfc6 This is to allow Intl.PluralRules to use these options, as they were in- effect required by later AOs anyways.
2023-01-29AK: Move memory streams from `LibCore`Tim Schumacher
2023-01-29Tests: Remove the 10KB file read test for AllocatingMemoryStreamTim Schumacher
When we move the test to AK (together with the actual stream implementation), finding the input file to read from is going to become significantly harder, since the test also runs outside of SerenityOS. Since this was just a smoke test during early development (and we should now have reasonable coverage with actual usages in the other parts of the OS), let's just remove that test instead of trying to make input file lookups work.
2023-01-29AK: Provide a fallback definition for `std::nothrow`Tim Schumacher
2023-01-29AK: Move bit streams from `LibCore`Tim Schumacher
2023-01-29AK: Move buffered streams from `LibCore`Tim Schumacher
2023-01-29AK: Move `Stream` and `SeekableStream` from `LibCore`Tim Schumacher
`Stream` will be qualified as `AK::Stream` until we remove the `Core::Stream` namespace. `IODevice` now reuses the `SeekMode` that is defined by `SeekableStream`, since defining its own would require us to qualify it with `AK::SeekMode` everywhere.
2023-01-29AK: Move `Handle` from `LibCore` and name it `MaybeOwned`Tim Schumacher
The new name should make it abundantly clear what it does.
2023-01-29AK: Remove `Buffered`Tim Schumacher
2023-01-29AK: Deprecate the old `AK::Stream`Tim Schumacher
This also removes a few cases where the respective header wasn't actually required to be included.
2023-01-29AK: Add DeprecatedString::from_utf8()Andreas Kling
This will be used in Jakt to help transition off of DeprecatedString.
2023-01-29AK: Add two helpers to DeprecatedStringCodePointIteratorAndreas Kling
2023-01-29Tests: Modernize TestImageDecoder a bitNico Weber
- Use MUST() instead of checking plugin_decoder_or_error.is_error() - Use MappedFile::bytes() - Don't use EXPECT_EQ when comparing to fixed bools No intended behavior change.
2023-01-29Tests: Make LibGfx tests not depend on LibGUINico Weber
As far as I can tell, that's not needed and never was.
2023-01-29LibGfx: Support ICCs in JPEGs that are split across several tagsNico Weber
Most jpegs that use multi-tag ICCs are in CMYK format, so running `icc` on them still produces Runtime error: Unsupported number of components in SOF but it no longer prints several jpg: Ignoring ICC profile spanning several chunks (1/9) lines before that. (And if I manually comment out that error message, the profile is printed fine. But we can't decode the actual pixel data yet.)
2023-01-29LibSQL: Use `kill` to exit forked SQLServer processes to avoid Qt issuesTimothy Flynn
In order to daemonize the SQLServer process for Ladybird, we double-fork and exit the first child process to ensure the grandchild process is in a detached state to become SQLServer. After commit c05fcd5, this happens after Ladybird's QApplication is created. QApplication seems to hook up some `exit` handling that makes the call to `exit(0)` here not actually exit the child process. Instead, using `kill` with SIGTERM will actually terminate the child process.
2023-01-29Welcome: Rename m_initial_tip_index=>m_tip_indexthankyouverycool
2023-01-29Welcome: Load banner font in a fallible mannerthankyouverycool
And simplify painting logic by using the banner widget's relative rect and tray_text() ColorRole.
2023-01-29LibGUI+LibGfx: Add Tray ColorRole helpers to Palettethankyouverycool
2023-01-29Welcome: Replace instances of DeprecatedString with Stringthankyouverycool
2023-01-29Welcome: Use fallible try_create()thankyouverycool
2023-01-29LibDebug: Correct a (un-)signed mixup in the DWARF abbreviations mapTim Schumacher
I accidentally replaced this with `read_unsigned` in 908b88db347e932934ee311be8d3920cabbe8886, now it's correct again.
2023-01-29LibGfx: Fix constructor initialisation style in GradientPaintingMacDue
2023-01-29LibGfx: Stop passing color stop spans by const referenceMacDue
No idea why I did this, possibly because these were once vectors? Anyway, the const reference is pointless here.
2023-01-29PixelPaint: Increase default window height by 10pxMacDue
This stops the clone and gradient tools from being cut off the side bar.
2023-01-29Ports: Use absolute path of port_includeJan200101
This ensures that .port_include will always import other scripts from the correct location.
2023-01-29Ports: Document how to declare external port directoriesJan200101
2023-01-29Ports: Support multiple port directoriesJan200101
This allows Ports unfit for the main repository to be put elsewhere.
2023-01-29Kernel/FileSystem: Simplify the ProcFS inode codeLiav A
This is done by merging all scattered pieces of derived classes from the ProcFSInode class into that one class, so we don't use inheritance but rather simplistic checks to determine the proper code for each ProcFS inode with its specific characteristics.
2023-01-29LibGfx: Validate tag types of AToBNTag, BToANTag, gamutTag, previewNTagNico Weber
Also rewrite a few of the existing tag type checks using a new helper.
2023-01-29LibGfx: Make ICC EMatrix3x3::operator[] a bit less sillyNico Weber
2023-01-29LibGfx: Rename EMatrix to EMatrix3x3 in ICC codeNico Weber
There will be an EMatrix3x4 in a future change.
2023-01-29LibGfx: Use auto more in ICC codeNico Weber