summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-15Base: Add Transport and Map Symbols to font Katica Regular 10Lady Gegga
1F6A9, 1F6AA, 1F6AB, 1F6B9, 1F6BF, 1F6C6, 1F6C7, 1F6CF, 1F6E1, 1F6E3, 1F6F7, 1F6A1, 1F6F6, 1F6F8, 1F6A0, 1F69D, 1F69E, 1F69F, 1F682, 1F683, 1F6A2 https://www.unicode.org/charts/PDF/U1F680.pdf
2022-02-15Base: Add Ornamental Dingbats to font Katica Regular 10Lady Gegga
1F67C-1F67F, 1F67A, 1F676-1F679, 1F672, 1F673, 1F670 https://www.unicode.org/charts/PDF/U1F650.pdf
2022-02-15Base: Add Khojki characters to font Katica Regular 10Lady Gegga
1123A, 1123B https://www.unicode.org/charts/PDF/U11200.pdf
2022-02-15Base: Add Hatran characters to font Katica Regular 10Lady Gegga
108E0-108FF https://www.unicode.org/charts/PDF/U108E0.pdf
2022-02-15Base: Add Lao character to font Katica Regular 10Lady Gegga
0ED0 https://www.unicode.org/charts/PDF/U0E80.pdf
2022-02-15Base: Allow font-files be "Open with" Hex EditorLady Gegga
This is way more useful then the default "Open with" option which is Text Editor.
2022-02-15Base: Add 10CD1E-10CD21 emojis to PUA codepointsLady Gegga
10CD1E (Yakmeasure), 10CD1F (Yakcowboy), 10CD20 (Yakspeed), 10CD21 (Yakmando)
2022-02-15Base+Piano: Insert missing icons into menubarelectrikmilk
Inserts icons for 'Export', 'Add Track' and 'Next Track'.
2022-02-15LibJS: Fix cases where we incorrectly allowed 'in' in for loopsAnonymous
We needed to propagate the forbidden token set to all parsing functions that can call back into parse_expression.
2022-02-15DisplaySettings: Include aspect ratio in resolution list textForLoveOfCats
2022-02-15LibWeb: Compute some height of BlockFormattingContexts earliermichiell1
In some cases the height of the parent is needed in computations of the height for the child. This patch attempts to fix these cases.
2022-02-15Base+PixelPaint: Use Merge Active Layer Up/Down Iconselectrikmilk
The icons for these actions were added in a previous commit but never used, now they are.
2022-02-15PixelPaint: Implement Merge Active Layer Upelectrikmilk
Implements 'Merge Active Layer Up' and adds it to the 'Layer' menu.
2022-02-15Playground: Add editor actions to the window menuKarol Kosek
2022-02-15LibWeb: Make IFC register absolutely positioned descendants with BFCAndreas Kling
This allows BFC to position all absolutely positioned descendants in the same pass.
2022-02-15LibWeb: Make InlineLevelIterator skip over positioned elementsAndreas Kling
2022-02-15LibWeb: Implement HTMLElement.click()Andreas Kling
This doesn't send the correct type of click event, but it does send something, so it's already somewhat useful. :^)
2022-02-15LibWeb: Add spec comments to the StackOfOpenElements classAndreas Kling
2022-02-15LibWeb: Rename element_before() => element_immediately_above()Andreas Kling
This matches the spec terminology around the "stack of open elements".
2022-02-15LibWeb: Add spec comments to find_appropriate_place_for_inserting_node()Andreas Kling
2022-02-15LibJS: Correct an include in PrimitiveStringdavidot
2022-02-15LibJS: Use CopyDataProperties when spreading in object expressionsdavidot
Before this was a mix of different strategies but copy_data_properties does all of that in a spec way. This fixes numeric properties in object spreading. And ensures that any new properties added during spreading are not taken into account.
2022-02-15LibJS: Use entire array of SimpleIndexedPropertyStorage before growingdavidot
A common use case in JS is pushing items in an array in a loop. A simple test case of 100_000 pushes took around ~20 seconds. This is due to the fact that any pushed element per definition is beyond the current size of the array. This meant calling grow_storage_if_needed which then grew the storage by 25%. But this was done on every single push, growing the array just a little bigger than its current capacity. Now we now first use capacity of the array and only grow if the array is actually full. This decreases the time for 100_000 to around 0.35 seconds. One problem is that we never shrink the capacity of the array but this was already an issue before this.
2022-02-15LibWeb: Remove non-standard ReturnNullIfCrossOrigin IDL attributeLinus Groh
This is no longer needed as BrowsingContextContainer::content_document() now does the right thing, and HTMLIFrameElement.contentDocument is the only user of this attribute. Let's not invent our own mechanisms for things that are important to get right, like same origin comparisons.
2022-02-15LibWeb: Implement BCC's "content document" concept according to specLinus Groh
2022-02-15LibWeb: Implement Origin's "same origin-domain" conceptLinus Groh
Check of domains is left as a FIXME as our Origin class doesn't support those yet.
2022-02-15LibWeb: Rename Origin::is_same() to Origin::is_same_origin()Linus Groh
The HTML Origin spec has two similar but slightly different concepts of origin equality: "same origin" and "same origin-domain". Let's be explicit with the naming here :^) Also add spec comments.
2022-02-15LibWeb: Rename Origin::is_null() to Origin::is_opaque()Linus Groh
This is what the HTML Origin spec calls it.
2022-02-15Spreadsheet: Make ranges vertically end-inclusiveu9g
With the spreadsheet: ``` A0:1 B0:2 A1:2 B1:3 ``` Before: sum(range("A0","B1")) === 3 After: sum(range("A0","B1")) === 8
2022-02-14LibJS: Add missing include for 'u32' to CanonicalIndex.hLinus Groh
2022-02-14Applications: Use default constructors/destructorsLenny Maiorani
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#cother-other-default-operation-rules "The compiler is more likely to get the default semantics right and you cannot implement these functions better than the compiler."
2022-02-14Meta: Use clang-13 instead of clang-12 in Azure CIIdan Horowitz
This should hopefully resolve a clang ICE seen in PR #12523.
2022-02-14LibJS: Get rid of unnecessary work from canonical_numeric_index_stringAnonymous
The spec version of canonical_numeric_index_string is absurdly complex, and ends up converting from a string to a number, and then back again which is both slow and also requires a few allocations and a string compare. Instead this patch moves away from using Values to represent canonical a canonical index. In most cases all we need to know is whether a PropertyKey is an integer between 0 and 2^^32-2, which we already compute when we construct a PropertyKey so the existing is_number() check is sufficient. The more expensive case is handling strings containing numbers that don't roundtrip through string conversion. In most cases these turn into regular string properties, but for TypedArray access these property names are not treated as normal named properties. TypedArrays treat these numeric properties as magic indexes that are ignored on read and are not stored (but are evaluated) on assignment. For that reason there's now a mode flag on canonical_numeric_index_string so that only TypedArrays take the cost of the ToString round trip test. In order to improve the performance of this path this patch includes some early returns to avoid conversion in cases where we can quickly know whether a property can round trip.
2022-02-14LibWeb: Add stacking contexts to Node::for_each_child_in_paint_orderSteven Schmoll
The existing implementation, which is used by Node::hit_test() and sub-classes, does not include stacking contexts which prevents hit testing from returning elements contained by those stacking contexts in some situations. This is quite rough and definitely not optimal. The stacking contexts are not retrieved in the correct order. They should be sorted by z-index then tree order. This change makes DuckDuckGo technically usable with all the absolute and relative positioning they use.
2022-02-14LibGfx/PNG: Respect the tRNS chunk transparency with color type 2Andreas Kling
For PNG color type 2 (TrueColor), if there's a tRNS chunk, it specifies an R/G/B triplet in the image bit depth. This triplet acts as the transparency value, and should yield transparent pixels wherever that specific color value is present. We now support this. :^)
2022-02-14LibGfx/PNG: Collect tRNS (transparency chunk) info for all color typesAndreas Kling
The tRNS metadata is valid for color types 0, 2 and 3, so let's collect it in each of those cases. This ensures that we produce a bitmap with an alpha channel if needed.
2022-02-14LibGfx: Remove unnecessary includes from PNGLoader.cppAndreas Kling
2022-02-14LibGfx: Make Bitmap::has_alpha_channel() return true for RGBA8888Andreas Kling
2022-02-14LibWeb: Paint inline-level and replaced elements on top of floatsAndreas Kling
This matches CSS 2.1 appendix E, and fixes an instance of red face border on ACID2. :^)
2022-02-14LibWeb: Support inline-level padding and border properlyAndreas Kling
Here's roughly how this works: - InlineLevelIterator keeps a nesting stack of inline-level nodes with box model metrics. - When entering a node with box model metrics, we add them to the current "leading metrics". - When exiting a node with box model metrics, we add them to the current "trailing metrics". - Pending leading metrics are consumed by the first fragment added to the line. - Pending trailing metrics are consumed by the last fragment added to the line. Like before, the position of a line box fragment is the top left of its content box. However, fragments are placed horizontally along the line with space inserted for padding and border. InlineNode::paint() now expands the content rect as appropriate when painting background and borders. Note that margins and margin collapsing is not yet implemented. This makes the eyes on ACID2 horizontally centered. :^)
2022-02-14LibWeb: Always assign box model metrics in IFC::dimension_box_on_line()Andreas Kling
Replaced elements have box model metrics, too. We shouldn't only assign them to inline-block elements.
2022-02-14LibUnicode: Port the CLDR time format generator to the stream APITimothy Flynn
2022-02-14LibUnicode: Port the CLDR date format generator to the stream APITimothy Flynn
2022-02-14LibUnicode: Port the CLDR number format generator to the stream APITimothy Flynn
2022-02-14LibUnicode: Port the CLDR locale generator to the stream APITimothy Flynn
This adds a generator utility to read an entire file and parse it as a JSON value. This is heavily used by the CLDR generators. The idea here is to put the file reading details in the utility so that when we have a good story for generically reading an entire stream in LibCore, we can update the generators to use that by only touching this helper.
2022-02-14LibUnicode: Port the UCD generator to the stream APITimothy Flynn
2022-02-14LibTimeZone: Port the TZDB generator to the stream APITimothy Flynn
This also moves the open_file helper to the utility file. It's currently a lambda redefined in each TZDB/Unicode generator. It used to display the missing command line flag and other info local to each generator. After switching to LibMain, it just returns a generic error message, and is duplicated several times.
2022-02-14Base: Add new bitmap font Comic BookLady Gegga
2022-02-14SystemServer: Remove now unnecessary call to chmod on /dev/audioLiav A
Don't use chmod now that DevTmpFS honors permission mode when creating new directories.
2022-02-14Kernel: Honor permission mode when creating new directories in DevTmpFSLiav A