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
Jamie Mansfield
67e3ac8916
LibWeb/HTML: Stub TextTrack IDL interface
2024-07-05 07:15:04 +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
Luke Warlow
6623177265
LibWeb: Implement support for scrollbar-gutter
...
This property is now correctly parsed.
Ladybird always uses overlay scrollbars so this property does nothing.
2024-07-04 13:22:40 +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
Aliaksandr Kalenik
8feaecd5c8
LibWeb: Create BlockContainer layout node for <input type="button">
...
...and shadow tree with TextNode for "value" attribute is created.
This means InlineFormattingContext is used, and button's text now
respects CSS text-decoration properties and unicode-ranges.
2024-06-14 07:58:55 +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
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
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
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