Commit graph

239 commits

Author SHA1 Message Date
Timothy Flynn
1c4996ff34 LibWeb: Move some classes from the DOM namespace to the HTML namespace
The following classes are in the HTML spec and thus belong in the HTML
namespace:

* BeforeUnloadEvent
* HTMLFormControlsCollection
* RadioNodeList

(cherry picked from commit 13b7355ec10c21be90df997c66022e246c57656d)
2024-11-28 21:31:42 -05:00
Tim Ledbetter
13f5bff2eb LibWeb: Implement BeforeUnloadEvent
This is required to support legacy behavior of the `returnValue`
attribute.

(cherry picked from commit 99ef078c9733f5dae04e29aa0c5393ec1acc7fb9)
2024-11-28 14:15:33 -05:00
Sam Atkins
a4c7586337 LibWeb: Implement CSSNestedDeclarations type
This is basically a list of properties, without a block around it. It'll
be part of CSSStyleRules' contents.

(cherry picked from commit 9c66ab356ac96602e5c1dc23906288fa187e9f01)
2024-11-18 09:48:28 -05:00
Andrew Kaster
98663d09c6 LibWeb: Add stub of ServiceWorker interface
(cherry picked from commit a0c07d1bb27cdab33a12e1b1ad03a9452750503a)
2024-11-17 11:03:57 -05:00
Jelle Raaijmakers
35f4f5cf54 LibWeb: Implement AudioListener
This exposes BaseAudioContext.listener, which is a container for
parameters related to the configuration of an actual "listener" in 3D
space.

(cherry picked from commit 2a98f2a12d5069a2189fa38b4a7e158d84ee03ec)
2024-11-14 17:46:06 -05:00
Jelle Raaijmakers
b67c8d138c LibWeb: Add WebGLShaderPrecisionFormat
(cherry picked from commit 3d8ab0e67c707062e4d889598fbd176fa0c6fce8)
2024-11-13 19:32:27 -05:00
Jelle Raaijmakers
b288bfd994 LibWeb: Add WebGLActiveInfo
(cherry picked from commit d63a979bde54ad93422c2fadb5cf24cbc3339e07)
2024-11-13 19:32:27 -05:00
Jelle Raaijmakers
59ed552646 LibWeb: Add WebGLUniformLocation
(cherry picked from commit 889e7942fa090a240743d3b53ab2bc5288e064c3)
2024-11-13 19:32:27 -05:00
Jelle Raaijmakers
1097eaf38b LibWeb: Add WebGLTexture
(cherry picked from commit f2a164365007ad5e06f3ce47702ded55c42fbcb6)
2024-11-13 19:32:27 -05:00
Jelle Raaijmakers
e41789f5f9 LibWeb: Add WebGLShader
(cherry picked from commit 2b09afb971059f22a0eb82661262954211b694b9)
2024-11-13 19:32:27 -05:00
Jelle Raaijmakers
e64cf9633d LibWeb: Add WebGLRenderbuffer
(cherry picked from commit d53cb9833b274658c1ec1b6c1813cfb466470bdb)
2024-11-13 19:32:27 -05:00
Jelle Raaijmakers
8e05ba45d0 LibWeb: Add WebGLProgram
(cherry picked from commit 6b7d5dbec6a9daf1033ee2e8c4c48037ccd35360)
2024-11-13 19:32:27 -05:00
Jelle Raaijmakers
88ce676d20 LibWeb: Add WebGLFramebuffer
(cherry picked from commit 5d0b206d6ec9c3a5284ee6db7452b21a6cf6c7cd)
2024-11-13 19:32:27 -05:00
Jelle Raaijmakers
4e9c64c37f LibWeb: Add WebGLBuffer
(cherry picked from commit b21857b26587a1108325ba7d1e7c69986d3ddaa3)
2024-11-13 19:32:27 -05:00
Jelle Raaijmakers
1e0b742903 LibWeb: Add WebGLObject interface
(cherry picked from commit e6ee7f3e642acd548b3ae96c47f7174ceb98f730)
2024-11-13 19:32:27 -05:00
Jelle Raaijmakers
e87b17b0e0 LibWeb: Add stubbed Media Source Extensions API
Just the boilerplate :^)

(cherry picked from commit 35043702813117d22e841e1b1d887d1726d4ed2d;
amended to fix conflict in idl_files.gni due to ladybird being worse
than serenity at having that file sorted alphabetically)
2024-11-13 19:32:14 -05:00
Jamie Mansfield
5ef8538d38 LibWeb/UIEvents: Implement TextEvent
(cherry picked from commit f610a12671cccc5bf96c7ce8f7773c02412b8d81)
2024-11-12 22:26:21 -05:00
Jamie Mansfield
ad93d00ed2 LibWeb/UIEvents: Implement CompositionEvent
(cherry picked from commit 86e20ea2469c0defb6fca40de3cbb339c168b543)
2024-11-12 22:26:21 -05:00
Jamie Mansfield
77cdbb5318 LibWeb/UIEvents: Implement InputEvent
(cherry picked from commit 9fce70069dc29f2232feb8247e69d21fe720fa94)
2024-11-12 22:26:21 -05:00
Noah Bright
8725bb12f2 LibWeb: Define PerformanceEventTiming
https://www.w3.org/TR/event-timing/#sec-performance-event-timing

Add idl, header and stubs for PerformanceEventTiming interface.

Two missing `PerformanceEntry` types that have come up in issues
are the `first-input` and the `event` entryTypes. Those are both
this.

Also, because both of those are this same interface, the static
methods from the parent class are difficult to implement because
of instance-specific details. Might either need subclasses or to
edit the parent and also everything that inherits from it :/

(cherry picked from commit d30ae92b82d997bc4db407c563c88f90d8260093)
2024-11-11 19:54:09 -05:00
Jamie Mansfield
070fa6febf LibWeb/WebVTT: Implement VTTCue idl interface
(cherry picked from commit 973f774e56b519964f2f43d965035d9076658096)
2024-11-10 10:46:01 -05:00
Jamie Mansfield
b8530d3848 LibWeb/WebVTT: Implement VTTRegion idl interface
(cherry picked from commit 1a012f279a9791c685781b7189fba6cddb973f96)
2024-11-10 10:46:01 -05:00
Jamie Mansfield
7003437a43 LibWeb/HTML: Implement TextTrackCueList idl interface
(cherry picked from commit cfec88feb312f3fbffe2270009a9ba07e2fd9b3f)
2024-11-10 10:46:01 -05:00
Jamie Mansfield
24f5f7289f LibWeb/HTML: Implement TextTrackCue idl interface
(cherry picked from commit 0b2449d8d264f58b39ed2a4a69b0afb8eb762011)
2024-11-10 10:46:01 -05:00
Jamie Mansfield
722e144eba LibWeb/EntriesAPI: Implement FileSystemEntry
(cherry picked from commit 169163b0023302ae3a0762d875e7b7840cfcb687)
2024-11-09 16:08:01 -05:00
Jamie Mansfield
89e76f4ea6 LibWeb: Stub MediaCapabilities IDL interface
(cherry picked from commit 4c5a1763546a0ce71703fb89a7f89c968a7ac12f)
2024-11-09 07:29:52 -05:00
Jamie Mansfield
77847cbb0e LibWeb/SVG: Add missing SVGGElement IDL file
(cherry picked from commit ea61e189eb31b185bfd7ccf381258d5ab5023072)
2024-11-07 23:07:20 -05:00
Jamie Mansfield
df05fe55c7 LibWeb/SVG: Implement <metadata> element
(cherry picked from commit e2f599ebee67ee1bf1509685b98abcef7a5d4ca9)
2024-11-07 23:07:20 -05:00
Tim Ledbetter
8ef2496882 LibWeb: Stub the ServiceWorkerContainer interface
(cherry picked from commit 53ab6fa403ac774d6edb76c33a9b0f460eea9640)
2024-11-04 13:16:23 -05:00
Tim Ledbetter
c455a7492d LibWeb: Stub the ServiceWorkerRegistration interface
(cherry picked from commit 0c0a4a6042f7d25186c65ca60aa04d066dc51e97)
2024-11-04 13:16:23 -05:00
Timothy Flynn
7e3ead83b0 LibWeb: Implement the ClipboardEvent IDL interface
We don't actually generate any such events ourselves. But Google Lens
will create one with the DataTransfer attribute set to that of any drop
event we send it.

(cherry picked from commit 0b0d44da275067458e61a5dd80c4563f6aa7fdc6)
2024-11-01 22:04:14 -04:00
Timothy Flynn
80c1ab0de1 LibWeb: Add an empty DataTransferItemList IDL implementation
(cherry picked from commit dcb76572e4d33e8ee91e3cb191dabf5099dd0bdb)
2024-11-01 19:58:08 -04:00
Timothy Flynn
7afdd457af LibWeb: Add an empty DataTransferItem IDL implementation
(cherry picked from commit 9e3c6921ab541cddeda186460ee96dc8e56a7192)
2024-11-01 19:58:08 -04:00
Jamie Mansfield
e27951fc9d LibWeb: Stub StorageManager idl interface
(cherry picked from commit 1b84062c747e90ee00c5cbc42224f2c22e9e2aba)
2024-11-01 18:23:28 -04:00
Colin Reeder
96d8776eba LibWeb: Add stub implementation of performance.navigation
(cherry picked from commit 14267b5d631d69091c1e9a936e1fa0f9a28752c1)
2024-11-01 16:16:35 -04:00
Tim Ledbetter
5dc046bb7a LibWeb/SVG: Implement SVGImageElement
This element allows images to be embedded within SVGs.

(cherry picked from commit 03bbc2b111b211f472bfbc0f04c10f03e28dbbdf)
2024-10-21 12:01:12 -04:00
Sam Atkins
068d7236cc LibWeb/CSS: Add CSSOM types for @layer rules
Depending on usage, `@layer` has two forms, with two different CSSOM
types. One simply lists layer names and the other defines a layer with
its contained rules.

(cherry picked from commit 1c6133aa523fe29c25b11284d8b3353de0a03c0f)
2024-10-20 21:09:21 -04:00
Jamie Mansfield
f82e976df4 LibWeb: Implement DOMStringList
(cherry picked from commit 75216182c9a04741b2f773eb2f26ceb7a96bfbba)
(cherry picked from commit 2a55ab13ef9c735a16674006a518c0e5acf7c88f)

Co-authored-by: Sam Atkins <atkinssj@serenityos.org>
2024-07-29 09:14:06 -04:00
Shannon Booth
ff5358d9b8 WebAudio: Add IDL interface for AudioDestinationNode
This is an AudioNode representing the final audio destination and is
what the user will ultimately hear.

This node is used as one of the connecting nodes in athenacrisis.com

Add a placeholder for the interface without anything backing it for now.

(cherry picked from commit 5eb80b8697d458ea2b70112a995e066f64b37ca6)
2024-07-28 20:21:18 -04:00
Jamie Mansfield
9bbf50b755 LibWeb: Stub BroadcastChannel interface
This is enough to get the 1Password login page to load :^)

(cherry picked from commit d4a7cfb68fddbcfaaaddbd7f159c502c869281bf)
2024-07-28 16:44:35 -04:00
bbb651
a6ba31af93 WebAudio: Stub BiquadFilterNode
(cherry picked from commit 64663d53fa466dcb9b62becc352c92e3d932353b)
2024-07-23 13:06:46 -04:00
bbb651
db21801fbc WebAudio: Stub AudioBufferSourceNode
(cherry picked from commit 6672fb4b47ee0da35678f55088b4afdfce5fd10b)
2024-07-23 13:06:46 -04:00
Andrew Kaster
a8c4f34bff LibWeb: Create separate DedicatedWorkerGlobalScope class
This is how it's supposed to have been from the beginning, we were just
lazy :).

(cherry picked from commit 40a2bb32c3ab3fb0a5e298a31f674a5eb80b4870)
2024-07-22 21:29:21 -04:00
Jamie Mansfield
a09b52e40f LibWeb/HTML: Implement TextTrackList IDL interface
(cherry picked from commit ecad28657a0941c99870bdb72f3a6f09b6db6ee3)
2024-07-14 14:01:30 -04:00
Jamie Mansfield
0a1146c67a LibWeb/HTML: Stub TextTrack IDL interface
(cherry picked from commit 67e3ac8916d7354c8485b4bbe9c4162392e0e99c)
2024-07-14 06:57:14 -04:00
Maciej
1e41585416 LibWeb: Implement HTML DragEvent class
This just defines the class, drag events aren't actually fired yet.

(cherry picked from commit 65d8d205ee5d7ef356da58f8238e610949773683)
2024-07-13 22:52:06 -04:00
Luke Warlow
33c315bad0 LibWeb: Implement CloseWatcher API
This implements most of the CloseWatcher API from the html spec.

AbortSignal support is unimplemented.

Integration with dialogs and popovers is also unimplemented.

(cherry picked from commit b216046234560df531e1a32269e5dfa18f8f240c,
manually amended to replace a single `UIEvents::KeyCode::Key_Escape`
with `KeyCode::Key_Escape` in EventHandler.cpp since we don't have
the second commit of https://github.com/LadybirdBrowser/ladybird/pull/86)
2024-06-28 00:55:43 +02:00
Shannon Booth
4033776fb5 LibWeb: Add stub for ValidityState
This fixes https://html5test.com/ as previously an exception was being
thrown after trying to access this attribute which would then result in
a popup about the test failing (and none of the test results being
shown).

(cherry picked from commit e0bbbc729b6aad04ceff5f67c3e2868b65970047,
manually amended with the output of `git clang-format master`)
2024-06-27 17:13:16 +02:00
Luke Warlow
39a8974840 LibWeb: Implement stub for ElementInternals
This implements a stub ElementInternals object which implements the
shadowRoot getter only.

Also implement attachInternals function.

(cherry picked from commit a65f1ecc375fa02deeab5d0e7ab4702972ffa72e)
2024-06-26 20:02:46 +02:00
Andreas Kling
f72805398b LibWeb: Add the bare minimum to render SVGAElement (<a>)
(cherry picked from commit 85a4cfc59bc901e860ba60c51ad1fc9c0cf4e669)
2024-06-26 14:13:40 +02:00