Caitlin Potter
80cd3712c2
LibWeb: Implement WebIDL constructor flow for derived classes
...
Following the rules in the algorithm from
https://webidl.spec.whatwg.org/#js-platform-objects , "To Internally
create a new object implementing the interface interface", this change
incorporates the steps to load a prototype from new.target, and write
it to the created instance returned from constructor_impl(). This
mirrors the code for generate_html_constructor(), which incorporates
additional steps needed by Custom Elements.
Bug #334
2024-07-05 21:04:27 +02:00
Bastiaan van der Plaat
c81a640f3e
LibWeb/CSS: Serialize transform scale percentage values as numbers
2024-07-04 14:41:35 +02:00
Tim Ledbetter
34741d09c6
LibWeb: Update Range::set_base_and_extent() to the latest spec text
...
This allows it to work with content inside shadow roots.
2024-07-04 14:38:56 +02:00
Bastiaan van der Plaat
bff6c0680a
LibWeb/Geometry: Make DOMRect doubles unrestricted
2024-07-01 21:30:52 +01:00
Tim Ledbetter
bdaa7f0e8e
LibWeb: Implement the HTMLTrackElement.kind attribute
...
This reflects the HTML `kind` attribute.
2024-06-30 13:08:42 +02:00
Andreas Kling
4db05ecf69
LibWeb: Set the correct prototype for SVGAElement instances
2024-06-28 17:10:52 +02:00
Andreas Kling
a84261ee7a
Tests/LibWeb: Add test that dumps all global JS constructors
2024-06-28 17:10:52 +02:00
Tim Ledbetter
c4d5ae28ea
LibWeb: Implement a minimal version of Window.find()
...
This is a non-standard API that other browsers implement, which
highlights matching text in the current window.
This is just a thin wrapper around our find in page functionality, the
main motivation for adding this API is that it allows us to write tests
for our find in page implementation.
2024-06-27 10:09:39 +02:00
Andreas Kling
7ce350b8c0
Tests: Add a basic test for Declarative Shadow DOM
2024-06-25 19:22:35 +02:00
Tim Ledbetter
31d7fa2442
LibWeb: Fire auxclick event on middle click
...
Previously, no event was fired on middle click. This change also allows
the UI to open a link in a new tab on middle click.
2024-06-22 14:57:36 +02:00
Matthew Olsson
667e313731
LibWeb: Parse easing values manually
...
The values aren't that complex, so it doesn't make much sense to have a
dedicated generator for them. Parsing them manually also allows us to
have much more control over the produced values, so as a result of this
change, EasingStyleValue becomes much more ergonomic.
2024-06-16 07:12:46 +02:00
Andreas Kling
4c94202e97
LibWeb: Remove unnecessary FIXME marker for CSSStyleDeclaration.cssFloat
2024-06-14 20:45:37 +02:00
Andreas Kling
19fa630fa7
LibWeb: Make CSSKeyframeRule.parentRule actually point to parent rule
2024-06-14 20:45:37 +02:00
Andreas Kling
7f2c833a39
LibWeb: Implement CSSKeyframesRule.cssRuleList
...
To make this straightforward, CSSKeyframesRule now uses a CSSRuleList
for internal storage.
2024-06-14 20:45:37 +02:00
Andreas Kling
a12d28fd30
LibWeb: Implement CSSStyleDeclaration.parentRule
...
This readonly attribute returns the containing CSS rule, or null (in the
case of element inline style).
2024-06-14 20:45:37 +02:00
circl
dbc94ce92e
Tests/LibWeb: Add test to verify correctness of getImageData
2024-06-14 16:54:32 +02:00
Hexeption
7ac6fd2746
LibWeb: Added HTMLLinkElement.as Tests
2024-06-13 07:58:11 +02:00
Kenneth Myhra
e70886595a
LibWeb: Implement and wire up TransformStream's cancel callback
2024-06-09 21:27:26 -04:00
Kenneth Myhra
fc37bc328e
Test/LibWeb: Add test to prove a ReadableStream can be cancelled
2024-06-09 21:27:26 -04:00
Kenneth Myhra
0ec0e92b10
LibWeb: Implement static method ReadableStream.from(asyncIterable)
2024-06-09 10:12:46 +02:00
Jamie Mansfield
0c683af57e
LibWeb: Test referrerPolicy attribute on all elements
2024-06-08 08:01:42 +02:00
Jamie Mansfield
fdb4e05d7f
LibWeb: Use a single test for loading attribute
2024-06-08 08:01:42 +02:00
Jamie Mansfield
1dda129fe1
LibWeb: Test fetchPriority attribute on all elements
2024-06-08 08:01:42 +02:00
Tim Ledbetter
2fed064791
Tests/LibWeb: Wait until document fully loaded before simulating click
...
This makes the `form-image-submission.html` test pass more reliably.
2024-06-08 07:59:21 +02:00
Jamie Mansfield
53d7aa53a2
LibWeb: Use Enumerated for HTMLScriptElement.referrerPolicy
2024-06-07 09:54:19 +02:00
Jamie Mansfield
2ffda00347
LibWeb: Implement HTMLImageElement.crossOrigin
2024-06-05 05:42:47 +01:00
Jamie Mansfield
d7d60268ec
LibWeb: Implement HTMLLinkElement.crossOrigin
2024-06-05 05:42:47 +01:00
Jamie Mansfield
8315ad6759
LibWeb: Implement HTMLImageElement.fetchPriority
2024-06-05 05:42:47 +01:00
Matthew Olsson
b5c682bc2e
LibWeb: Copy the keyframes in KeyframeEffect's copy constructor
2024-06-03 10:53:32 +02:00
Matthew Olsson
37322baf54
LibWeb: Ensure all DocumentTimeline objects have the same time value
...
The DocumentTimeline constructor used the current millisecond time to
initialize its currentTime, but that means that a newly created timeline
would always have a different time value than other timelines that have
been through the update_animations_and_send_events function.
2024-06-03 10:53:32 +02:00
Matthew Olsson
0acf89234c
LibWeb: Try to fix a flaky animation test
...
Not sure if this'll fix it fully, as the flake has only ever been
observed on CI.
2024-06-02 16:07:12 +02:00
Matthew Olsson
73aadddbc1
LibWeb: Reject invalid keyframe offset values
2024-06-02 16:07:12 +02:00
Matthew Olsson
e13cd914a9
LibWeb: Handle animating the 'all' property
2024-06-02 16:07:12 +02:00
Matthew Olsson
6859826e3d
LibWeb: Handle persisting an animation after it has been removed
2024-06-02 16:07:12 +02:00
Matthew Olsson
a80af938eb
LibWeb: Support subtree option in Animatable.getAnimations()
2024-06-02 16:07:12 +02:00
Matthew Olsson
e2cb25e35c
LibWeb: Support interpolation of mixed percentage dimension units
2024-06-02 15:12:17 +02:00
Matthew Olsson
1965943026
LibWeb: Reject invalid AnimationEffect duration string values
2024-05-29 08:18:24 +02:00
Matthew Olsson
3e221fbb2d
IDLGenerators: Handle restricted/unrestricted floating point types
2024-05-29 08:18:24 +02:00
Matthew Olsson
2bd8093449
LibWeb: Detect explicit null timeline given in KeyframeAnimationOptions
...
We already do this for the timeline argument in the KeyframeEffect
constructor
2024-05-29 08:18:24 +02:00
Tim Ledbetter
bb923983fc
LibWeb: Implement WorkerGlobalScope.importScripts()
...
This method allows workers to synchronously import one or more scripts.
2024-05-29 08:17:18 +02:00
Tim Ledbetter
d6297ec074
LibWeb: Cast to the correct type in Element::auto_directionality()
...
Previously, we always cast to a HTMLInputElement when getting the value
of an auto directionality form associated element. This caused
undefined behavior when determining the directionality of an element
that wasn't a HTMLInputElement.
2024-05-28 09:51:07 +02:00
Tim Ledbetter
0b0ad5c9db
LibWeb: Calculate width property resolved value correctly
...
This means that relative width values are now correctly resolved when
calling `getComputedStyle()`.
2024-05-28 08:08:31 +02:00
Tim Ledbetter
7d192ed8c1
LibWeb: Don't crash on clicking a label with an associated text input
...
Previously, we assumed that all label control paintables were of type
`LabelablePaintable`. This caused a crash when clicking on a label with
a text input control.
2024-05-28 08:07:05 +02:00
Shannon Booth
6466fca20a
LibWeb: Implement BaseAudioContext.createGain
2024-05-28 08:06:09 +02:00
Kenneth Myhra
dacba5e610
Tests/LibWeb: Initialize 'arrayBuffer' to an UInt8Array
...
This initializes 'arrayBuffer' to an UInt8Array so that we can
manipulate the contents of 'arrayBuffer'. The test verifies that the
internal buffer is an ArrayBuffer.
Also:
* Correct comparison in test so that we compare arrayBuffer to
arrayClone, not to itself.
* Remove FIXME, this outputs [object ArrayBuffer] in Firefox and Chrome
too.
2024-05-27 17:37:27 +02:00
Jamie Mansfield
600daea544
LibWeb: Implement HTMLIFrameElement.loading
2024-05-27 17:34:59 +02:00
Jamie Mansfield
9ee061ea14
LibWeb: Implement HTMLImageElement.loading
...
Removes some console noise while loading mmu.ac.uk :)
2024-05-27 17:34:59 +02:00
Andreas Kling
802af5ad9d
LibWeb: Allow Element.insertAdjacentHTML on the document element
...
This fixes wpt/domparsing/insert_adjacent_html.html
2024-05-27 17:33:29 +02:00
Andreas Kling
e7febd347b
LibWeb: Don't advertise the empty string as HTMLCollection property name
...
This fixes wpt/dom/collections/HTMLCollection-empty-name.html
2024-05-27 17:33:29 +02:00
Shannon Booth
17ae65cedc
LibWeb: Implement AudioBuffer.copyToChannel
2024-05-26 07:48:37 +02:00