summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-03-10Libraries: Use default constructors/destructors in LibCryptoLenny 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-03-10Libraries: Use default constructors/destructors in LibCppLenny 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-03-10Libraries: Use default constructors/destructors in LibCoredumpLenny 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-03-10Libraries: Use default constructors/destructors in LibCoreLenny 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-03-10Libraries: Use default constructors/destructors in LibCompressLenny 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-03-10Libraries: Use default constructors/destructors in LibChessLenny 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-03-10Libraries: Use default constructors/destructors in LibCardsLenny 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-03-10Libraries: Use default constructors/destructors in LibAudioLenny 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-03-11Revert "LibPthread: Partially implement pthread_cleanup_(push pop)"Ali Mohammad Pur
This reverts commit 5d51e26caff61516d6fcf612c2e9ba72a82b699f. The threadlocal Vector was somehow misaligned, causing UBSAN to be sad about calling a misaligned method (either the dtor or .is_empty()) on it. For now, let's revert this and avoid the CI flake. Fixes #12957.
2022-03-11Documentation: Add some notes about LibWeb's new paint treeAndreas Kling
2022-03-11LibWeb: Remove a bunch of no-longer needed #includesAndreas Kling
2022-03-11LibWeb: Move hit testing to the painting treeAndreas Kling
2022-03-11LibWeb: Move PaintingBox to its own .cpp and .h filesAndreas Kling
2022-03-11LibWeb: Make hit testing return a { paintable, offset }Andreas Kling
Everything related to hit testing is better off using the painting tree. The thing being mousemoved over is a paintable, so let's hand that out directly instead of the corresponding layout node.
2022-03-11LibWeb: Move mouse event and label logic from layout to painting treeAndreas Kling
Input events have nothing to do with layout, so let's not send them to layout nodes. The job of Paintable starts to become clear. It represents a paintable item that can be rendered into the viewport, which means it can also be targeted by the mouse cursor.
2022-03-11LibWeb: Make Paintable ref-countedAndreas Kling
This will allow us to use a protective NonnullRefPtr to keep paintables alive while running arbitrary JavaScript in response to events.
2022-03-11LibWeb: Make Layout::SVGBox inherit from Layout::BoxAndreas Kling
This doesn't need anything from Layout::BlockContainer, so let's not inherit from that.
2022-03-11LibWeb: Generate a TextPaintable for every Layout::TextNodeAndreas Kling
This is prep work for moving event handling over to the painting tree.
2022-03-11LibWeb: Port inline elements to the new Paintable systemAndreas Kling
This patch adds InlinePaintable which corresponds to Layout::InlineNode.
2022-03-11LibWeb: Split Paintable into Paintable and PaintableBoxAndreas Kling
To prepare for paintable inline content, we take the basic painting functionality and hoist it into a base class.
2022-03-11LibWeb: Add Paintable::layout_box() accessorAndreas Kling
Let's move away from accessing the m_layout_box member directly.
2022-03-11LibWeb: Use Layout::Box::paint_box() accessor in more placesAndreas Kling
2022-03-11LibWeb: Let Paintable perform the paintingAndreas Kling
This patch adds a bunch of Paintable subclasses, each corresponding to the Layout::Node subclasses that had a paint() override. All painting logic is moved from layout nodes into their corresponding paintables. Paintables are now created by asking a Layout::Box to produce one: static NonnullOwnPtr<Paintable> Layout::Box::create_paintable() Note that inline nodes still have their painting logic. Since they are not boxes, and all paintables have a corresponding box, we'll need to come up with some other solution for them.
2022-03-11LibWeb: Rename Painting::Box => PaintableAndreas Kling
Calling this "Box" made it very confusing to look at code that used both Layout::Box and Painting::Box. Let's try calling it Paintable instead.
2022-03-11LibWeb: Make Painting::Box virtual and add Painting::BoxWithLinesAndreas Kling
BlockContainer paint boxes are the only ones that have line boxes associated, so let's not waste memory on line boxes in all the other types of boxes. This also adds Layout::Box::paint_box() and the more tightly typed Layout::BlockContainer::paint_box() to get at the paint box from the corresponding layout box.
2022-03-11LibWeb: Hang StackingContext off of the paint boxesAndreas Kling
Stacking contexts have nothing to do with layout and everything with painting, so let's keep them in Painting::Box.
2022-03-11LibWeb: Make StackingContext paint functions constAndreas Kling
2022-03-11LibWeb: Move StackingContext and PaintPhase into the Painting namespaceAndreas Kling
2022-03-11LibWeb: Add Painting::Box and move things from Layout::Box into itAndreas Kling
The "paintable" state in Layout::Box was actually not safe to access until after layout had been performed. As a first step towards making this harder to mess up accidentally, this patch moves painting information from Layout::Box to a new class: Painting::Box. Every layout can have a corresponding paint box, and it holds the final used metrics determined by layout. The paint box is created and populated by FormattingState::commit(). I've also added DOM::Node::paint_box() as a convenient way to access the paint box (if available) of a given DOM node. Going forward, I believe this will allow us to better separate data that belongs to layout vs painting, and also open up opportunities for naturally invalidating caches in the paint box (since it's reconstituted by every layout.)
2022-03-11Base: Add some more Transport and Map to Katica 10diogenes
Added: 1F684 - 1F692, 1F694, 1F697 - 1F69C, 1F6A3 - 1F6A7, 1F6AC - 1F6AE, 1F6B0 - 1F6B2, 1F6BA, 1F6CB - 1F6CE, 1F6E2, 1F6E4
2022-03-10LibJS: Use CreateTemporalCalendar in GetBuiltinCalendarLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/f6b3a10
2022-03-10LibJS: Replace dead code in ParseTimeZoneOffsetString with an assertionLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/a29c40b
2022-03-10LibJS: Add missing check in ParseTemporalInstantLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/baead4d
2022-03-10LibJS: Assert CreateTemporalDuration does not throw given correct inputLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/881dd22
2022-03-10LibJS: Assert CreateTemporalDuration does not throw in Record casesLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/43e954c
2022-03-10LibJS: Assert CreateTemporalDuration does not throw in trivial casesLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/685e20e
2022-03-10LibJS: Adjust grammar for DateExtendedYear to exclude -000000Linus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/fb3e656 We lose the custom error message, but it's not the end of the world.
2022-03-10LibJS: Follow rules for consuming completion recordsLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/1c19b96
2022-03-10LibJS: Remove Sign abstract operationLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/bbc1ebc
2022-03-10LibJS: Move string-parsing code into ToTemporalDurationRecordLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/a68b97b
2022-03-10LibJS: Move IsValidDuration check into ToTemporalDurationRecordLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/00958d0
2022-03-10LibJS: Fix numeric type confusion in ToTemporalRoundingIncrementLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/6e59366
2022-03-10LibJS: Use different variable name in DifferenceISODateTimeLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/c32cc4d
2022-03-10LibJS: Add clarifying assertion to BalanceDurationRelativeLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/9a3477a
2022-03-10LibJS: Fix "set it to" language to be more explicitLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/de58241
2022-03-10LibJS: Do not expose mathematical values to script in Duration methodsLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/26a4c4f No behavioral change as we already did this correctly, but I changed some implicit JS::Value creations to explicit ones.
2022-03-10LibJS: Create Duration Records with their own abstract operationsLinus Groh
This is an editorial change in the Temporal spec. See: - https://github.com/tc39/proposal-temporal/commit/387c405 - https://github.com/tc39/proposal-temporal/commit/b203e26 - https://github.com/tc39/proposal-temporal/commit/387c405
2022-03-10LibJS: Remove assertions that are now part of structured headersLinus Groh
This is an editorial change in the Temporal spec. See: - https://github.com/tc39/proposal-temporal/commit/7fbdd28 - https://github.com/tc39/proposal-temporal/commit/f666243 - https://github.com/tc39/proposal-temporal/commit/8c7d066 - https://github.com/tc39/proposal-temporal/commit/307d108 - https://github.com/tc39/proposal-temporal/commit/d9ca402 In practical terms this means we can now get rid of a couple of awkward assertion steps that were no-ops anyway, since the types are enforced by the compiler.
2022-03-10LibJS: Refactor return value of RoundDurationLinus Groh
This is an editorial change in the Temporal spec. See: - https://github.com/tc39/proposal-temporal/commit/3641adf - https://github.com/tc39/proposal-temporal/commit/8ea590c
2022-03-10LibJS: Describe various kinds of "Duration Records"Linus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/983902e We already had these defined as structs, but now they're properly defined in the spec (opposed to the previous anonymous records), and we don't have to make up our own names anymore :^) Note that while we're usually not including 'record' in the name, in this case the 'Duration Record' has a name clash with the Duration object. Additionally, later editorial changes introduce CreateFooRecord AOs, so let's just go with FooRecord structs here.