Shannon Booth
27dd2a40ad
LibWeb: Implement HTMLFormControlsCollection
...
This collection is used in the form element for when element lookup
yields multiple elements.
2023-08-20 11:04:03 +02:00
Shannon Booth
daefe744ba
LibWeb: Implement RadioNodeList
...
This interface is used in the interface for HTMLFormControlsCollection
as a live view over its matching elements.
Currently the "value" attribute for this interface is left
unimplemented.
2023-08-20 11:04:03 +02:00
Jonah
52d6df5ee5
LibWeb: Add the MathML Element
...
This patch introduces the MathML element, which provides the interface
all MathML elements are built from.
2023-08-12 07:59:23 +01:00
Andreas Kling
9e22f01eba
LibWeb: Stub out SVGMaskElement
...
Just enough that we stop creating layout nodes for mask elements, which
was making some SVG content look very wrong. :^)
2023-08-10 11:36:17 +02:00
Andreas Kling
9f6ceff7cf
LibWeb: Implement basic version of CSSOM View's VisualViewport
...
We got some errors while loading https://twinings.co.uk/ about this
interface missing, and it looked fairly simple so I sketched it out.
Note that I did leave some FIXMEs where it's not clear exactly which
metrics we should be returning.
2023-08-06 16:29:24 +02:00
Andreas Kling
ec24d7555a
LibWeb: Add a simple internals
objects only available during testing
...
This object is available as `window.internals` (or just `internals`) and
is only accessible while running in "test mode".
This first version only has one API: gc(), which triggers a garbage
collection immediately.
In the future, we can add more APIs here to help us test parts of the
engine that are hard or impossible to reach via public web APIs.
2023-08-06 15:26:34 +02:00
Jonah
60e35f2a97
LibWeb: Rough implementation of CSS namespace rule
...
This provides a rough implementation of the CSS @namespace rule.
Currently we just support default namespaces, namespace prefixes
are still to come.
2023-07-30 20:27:19 +01:00
MacDue
b30a1b957d
LibWeb: Add support for SVG <tspan> elements
2023-07-23 06:32:39 +02:00
MacDue
0e12503586
LibWeb: Split SVGTextContentElement into spec defined subclasses
...
As part of this move properties/methods to the correct subclass
(position related properties go under SVGTextPositioningElement).
SVG text element hierarchy:
SVGTextContentElement
^- SVGTextPositioningElement
^- SVGTextElement
^- SVGTSpanElement
^- SVGTextPathElement (TODO)
^- SVGTRefElement (TODO)
2023-07-23 06:32:39 +02:00
Andrew Kaster
5c2c412318
Meta: Bind WritableStreamDefaultController to JS
...
This was missed in 868cd95069
.
2023-07-17 00:00:49 +01:00
Kenneth Myhra
0091a60448
LibWeb: Add TransformStreamDefaultController scaffolding
...
This adds the scaffolding of TransformStreamDefaultController so we can
start implementing the necessary abstract operations for it.
2023-07-15 11:59:39 +02:00
Kenneth Myhra
f1d69d789b
LibWeb: Add TransformStream scaffolding
...
This adds the scaffolding of TransformStream so we can start
implementing the necessary abstract operations for it.
2023-07-15 11:59:39 +02:00
Luke Wilde
165abafb80
LibWeb: Add initial implementation of IntersectionObserver
...
The main missing features are rootMargin, proper nested browsing
context support and content clip/clip-path support.
This makes images appear on some sites, such as YouTube and
howstuffworks.com.
2023-07-07 05:27:25 +02:00
Andreas Kling
8f927eaa68
LibWeb: Add HTMLDocument class
...
This class is currently not in the spec, but it *is* still in all the
major browser engines. For compatibility reasons, let's do what other
engines do.
There is discussion about bringing HTMLDocument back into specs:
- https://github.com/whatwg/html/issues/4792
- https://github.com/whatwg/dom/issues/221
2023-06-21 16:30:27 +02:00
Shannon Booth
f86c3ab148
LibWeb: Implement ByteLengthQueuingStrategy highWaterMark property
2023-06-21 12:27:04 +02:00
Shannon Booth
c9941ba95b
LibWeb: Implement CountQueuingStrategy highWaterMark property
2023-06-21 12:27:04 +02:00
Caoimhe
5ef01e562a
LibWeb: Generate JavaScript bindings for CSSKeyframesRule
...
This one also needs a bit of work, but it's a nice start.
2023-06-21 12:26:22 +02:00
Caoimhe
e3612708c7
LibWeb: Generate JavaScript bindings for CSSKeyframeRule
...
We still need to do a bit of work. For example: `set_key_text` isn't
implemented due to its requirements being quite complex, but it's
a start.
2023-06-21 12:26:22 +02:00
Timothy Flynn
c89fd6dff0
LibWeb: Implement the AudioTrack and AudioTrackList interfaces
...
These are used to own and manage the playing of audio data.
2023-06-13 06:14:01 +02:00
PrestonLTaylor
e2a935b1dc
LibWeb: Implement the <style>
SVG element
...
The `<style>` element is allowed to be in the SVG namespace, so we now
support this element.
It has the same behaviour as the HTML namespace `<style>` element as
described in the spec.
"The semantics and processing of a ‘style’ and its attributes must be
the same as is defined for the HTML ‘style’ element."
2023-06-09 17:14:50 +02:00
Timothy Flynn
e2e4e6da52
LibWeb: Implement the SVG title element
2023-06-09 01:12:48 +02:00
PrestonLTaylor
aa691c22d4
LibWeb: Implement the <symbol>
SVG element
2023-06-03 05:58:00 +02:00
PrestonLTaylor
c7c3043aa2
LibWeb: Implement the <use>
SVG element
...
The SVG <use> element is used to be able to reuse other SVG graphics
without having to re-write the svg element.
We now support this feature! :^)
2023-06-03 05:58:00 +02:00
Luke Wilde
a5936864d9
LibWeb: Stub AudioContext constructor
...
This is enough to make Discord not throw up "Well this is awkward" on
login.
2023-05-22 06:07:05 +02:00
Luke Wilde
036e1e1bcf
LibWeb: Implement performance.{measure,clearMeasures}
2023-05-13 16:31:10 +02:00
MacDue
9b652842e4
LibWeb: Add an initial implementation of SVG <radialGradient>
...
This follows on from the SVG linear gradients. It supports the same
features (xlink:href, gradientUnits, gradientTransform).
With this commit I have now implemented all web gradients :^)
(Though we are still missing a few parameters for SVG gradients,
e.g. spreadMethod).
2023-05-04 16:50:01 +02:00
MacDue
aa3464466e
LibWeb: Implement SVGLinearGradientElement (<linearGradient>)
...
This represents the SVG <linearGradient>. The actual gradient is
converted to a Gfx::PaintStyle for use in SVG fills... There is a little
guesswork in the implementation, but it seems to match Chrome/Firefox.
Note: Still not hooked up to actual painting in this commit.
2023-04-28 09:42:28 +02:00
MacDue
71938550fa
LibWeb: Implement SVGGradientElement
...
This is the base class for all SVG gradient types. This supports:
- The `gradientUnits` attribute
- The `gradientTransform` attribute
- And following `xlink:hrefs` for inheriting <stops>/attributes
2023-04-28 09:42:28 +02:00
MacDue
b19d2634f6
LibWeb: Implement SVGStopElement (<stop>)
...
This is used to specify the color/position of color stops for SVG
gradients.
2023-04-28 09:42:28 +02:00
MacDue
66d1b78348
LibWeb: Implement SVGAnimatedNumber
...
See https://www.w3.org/TR/2013/WD-SVG2-20130409/types.html#InterfaceSVGAnimatedNumber
2023-04-28 09:42:28 +02:00
Matthew Olsson
e8ad571082
LibWeb: Add ReadableStreamBYOBReader interface
2023-04-27 07:57:53 +02:00
Timothy Flynn
73a80b7047
LibWeb: Implement the MediaError IDL interface
2023-04-23 16:22:45 +02:00
Luke Wilde
1f863de9aa
LibWeb: Add XMLDocument stub
...
Required by old versions of Pixi.js's XMLFormat bitmap font loader.
db824181dc/packages/text-bitmap/src/formats/XMLFormat.ts (L16)
2023-04-21 07:59:50 +02:00
Timothy Flynn
680a9f748e
LibWeb: Stub out the HTML TimeRanges IDL interface
...
This is used by media elements. Provide a stub for websites which depend
on the interface existing.
2023-04-19 07:57:52 +02:00
Matthew Olsson
819b6332d1
LibWeb: Add ReadableStreamByteController interface
2023-04-12 01:47:48 +02:00
Matthew Olsson
c7aa4fa166
LibWeb: Add ReadableStreamBYOBRequest interface
2023-04-12 01:47:48 +02:00
Timothy Flynn
460e1bd072
LibWeb: Implement TrackEvent for media events
2023-04-07 16:02:22 +02:00
Timothy Flynn
3f1badf9b2
LibWeb: Implement VideoTrack and VideoTrackList
...
This implements the IDL for these types and some event handling around
them.
2023-04-07 16:02:22 +02:00
Matthew Olsson
bdab61ad93
LibWeb: Add the WritableStreamDefaultWriter interface
2023-04-06 22:54:58 +02:00
Matthew Olsson
e93560b769
LibWeb: Add the WritableStream interface
2023-04-06 22:54:58 +02:00
Luke Wilde
034aaf3f51
LibWeb: Introduce CustomElementRegistry and creating custom elements
...
The main missing feature here is form associated custom elements.
2023-04-06 11:36:56 +02:00
Matthew Olsson
bc9919178e
LibWeb: Add ReadableStreamDefaultController
2023-04-01 23:43:07 +01:00
Matthew Olsson
222e3c32cd
LibWeb: Add ReadableStreamDefaultReader
2023-04-01 23:43:07 +01:00
Luke Wilde
cbe0901706
LibWeb: Implement performance.mark and performance.clearMarks
2023-03-23 21:00:43 +00:00
Luke Wilde
31b507afbf
LibWeb: Introduce Performance Timeline and its Performance functions
2023-03-23 21:00:43 +00:00
Timothy Flynn
57646c86ef
LibWeb: Port the WebAssembly namespace to IDL
2023-03-16 19:39:17 +00:00
Timothy Flynn
2cfcbccdb5
LibWeb: Port WebAssembly.Table to IDL
2023-03-16 13:54:16 +01:00
Timothy Flynn
ca96f8e364
LibWeb: Port WebAssembly.Memory to IDL
2023-03-16 13:54:16 +01:00
Timothy Flynn
de32c44762
LibWeb: Port WebAssembly.Instance to IDL
2023-03-16 13:54:16 +01:00
Timothy Flynn
fb1f15774f
LibWeb: Port WebAssembly.Module to IDL
2023-03-16 13:54:16 +01:00