Andreas Kling
018d236439
LibWeb: Make TextDecoder GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
7e508456a0
LibWeb: Make TextEncoder GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
57db2529cf
LibWeb: Make DOMRect, DOMRectReadOnly and DOMRectList GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
44415af428
LibWeb: Make DOMPoint and DOMPointReadOnly GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
7a9b8ced38
LibWeb: Make SubtleCrypto GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
2ac8e3db3a
LibWeb: Make Storage GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
233208b640
LibWeb: Make XMLSerializer GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
6b7a1d13e9
LibWeb: Make TextMetrics GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
2704bcdaaa
LibWeb: Make Path2D GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
0d2fee351a
LibWeb: Make CanvasGradient GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
369dd42d67
LibWeb: Make ImageData GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
4452b5ca09
LibWeb: Make 2D and 3D canvas rendering contexts GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
b8d485e6f0
LibWeb: Make AbortController GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
3905d54a9c
LibWeb: Make SVGLength and SVGAnimatedLength GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
16fbb91aa1
LibWeb: Make History GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
2ff7e37048
LibWeb: Make MessageChannel GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
2bba97964b
LibWeb: Make HTMLCollection and subclasses GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
905eb8cb4d
LibWeb: Make MutationObserver GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
43ec0f734f
LibWeb: Make MutationRecord GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
48e0066371
LibWeb: Make NodeList GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
5f4d4ffe39
LibWeb: Make PerformanceTiming GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
8c90e08e0b
LibWeb: Make CSS::Screen GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
d5e831988e
LibWeb: Make DOMParser GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
6f433c8656
LibWeb+LibJS: Make the EventTarget hierarchy (incl. DOM) GC-allocated
...
This is a monster patch that turns all EventTargets into GC-allocated
PlatformObjects. Their C++ wrapper classes are removed, and the LibJS
garbage collector is now responsible for their lifetimes.
There's a fair amount of hacks and band-aids in this patch, and we'll
have a lot of cleanup to do after this.
2022-09-06 00:27:09 +02:00
Andreas Kling
bb547ce1c4
LibWeb: Make AbstractRange and subclasses GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
7c3db526b0
LibWeb: Make DOM::Event and all its subclasses GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
a4ddb0ef87
LibWeb: Make TreeWalker GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
bd629c45b5
LibWeb: Make NodeIterator GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
8cda70c892
LibWeb: Move event listeners, handlers and callbacks to the GC heap
...
This patch moves the following things to being GC-allocated:
- Bindings::CallbackType
- HTML::EventHandler
- DOM::IDLEventListener
- DOM::DOMEventListener
- DOM::NodeFilter
Note that we only use PlatformObject for things that might be exposed
to web content. Anything that is only used internally inherits directly
from JS::Cell instead, making them a bit more lightweight.
2022-09-06 00:27:09 +02:00
Andreas Kling
967a3e5a45
LibWeb: Make DOMImplementation GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
cfdb8f2a8e
LibWeb: Make MediaList GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
0176d42f49
LibWeb: Make DOMTokenList GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
a56b3f9862
LibWeb: Make NamedNodeMap GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
ae11d70b0c
LibWeb: Make DOMStringMap GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
72bacba97b
LibWeb: Make CSSStyleDeclaration GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
12042f0757
LibWeb: Make CSSRule and all its subclasses GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
5d6cb9cbdb
LibWeb: Make CSSRuleList GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
5366924f11
LibWeb: Make StyleSheetList GC-allocated
2022-09-06 00:27:09 +02:00
Andreas Kling
5d60212076
LibWeb: Make StyleSheet and CSSStyleSheet GC-allocated
2022-09-06 00:27:09 +02:00
martinfalisse
c40dd9ee78
LibWeb: Add GridTrackPlacementShorthandStyleValue
...
Add GridTrackPlacementShorthandStyleValue for the use of grid-column and
grid-row.
2022-08-25 13:47:48 +02:00
martinfalisse
08b832eb69
LibWeb: Add GridTrackPlacementStyleValue
...
Add GridTrackPlacementStyleValue for the use of CSS properties
grid-column-start, grid-column-end, grid-row-start, grid-row-end.
2022-08-25 13:47:48 +02:00
martinfalisse
0148260b5f
LibWeb: Add GridTrackSizeStyleValue
...
Add GridTrackSizeStyleValue for the use of CSS properties
grid-template-columns, grid-template-rows.
2022-08-25 13:47:48 +02:00
martinfalisse
ca286fc220
LibWeb: Add GridTrackPlacement for grid-[column/row]-[start/end]
...
Add GridTrackPlacement to use with grid-column-start and related CSS
properties.
2022-08-25 13:47:48 +02:00
martinfalisse
fc36970973
LibWeb: Add GridTrackSize class for grid-template-*
...
Add GridTrackSize to be used with grid-template-column and
grid-template-row.
2022-08-25 13:47:48 +02:00
Sam Atkins
62b561e2e1
LibWeb: Extract CanvasDrawPath class from CRC2D
...
Again, this is an entirely virtual class since the methods involve
direct access to the Painter. Though, maybe I could just expose the
Painter...
2022-08-14 11:30:40 +02:00
Sam Atkins
2ec52bbbd5
LibWeb: Implement Path2D class
2022-08-14 11:30:40 +02:00
MacDue
6a6475673f
LibWeb: Convert images to common AbstractImageStyleValue base
...
This commit moves both the ImageStyleValue and LinearGradientStyleValue
to a common base class of AbstractImageStyleValue. This abstracts
getting the natural_width/height, loading/resolving, and painting
the image.
Now for 'free' you get:
- Linear gradients working with the various background sizing/repeat
properties.
- Linear gradients working as list-markers :^) -- best feature ever!
P.s. This commit is a little large as it's tricky to make this change
incrementally without breaking things.
2022-08-08 22:39:06 +02:00
Tom
8163ee1500
LibWeb: Use rect value in CSS clip property
...
When a rect value is passed to the clip property via CSS, keep it in
ComputedValues so that at a later stage can make use of it.
2022-08-07 22:40:11 +02:00
Tom
b4dd477644
LibWeb: Parse rect style value
...
Add ability to parse a rect when it is used as the value of a style
property.
2022-08-07 22:40:11 +02:00
Andreas Kling
602f927982
LibWeb: Start implementing "create and initialize a Document" from HTML
...
The way we've been creating DOM::Document has been pretty far from what
the spec tells us to do, and this is a first big step towards getting us
closer to spec.
The new Document::create_and_initialize() is called by FrameLoader after
loading a "text/html" resource.
We create the JS Realm and the Window object when creating the Document
(previously, we'd do it on first access to Document::interpreter().)
The realm execution context is owned by the Environment Settings Object.
2022-08-05 12:46:40 +02:00