Andreas Kling
701ed8470d
Tests: Import a bunch of WPT tests related to dynamic markup insertion
2024-11-23 19:19:31 +01:00
Shannon Booth
e565e3c557
LibWeb: Implement BroadcastChannel.postMessage
...
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (true, NO_FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Push notes / build (push) Waiting to run
The repository being in static storage is a bit of a hodgepodge, but in
line with how our current storage partitioning is done. We should
eventually move this, along with other across browsing context APIs to a
proper location at a later stage. But for now, this makes progress on
the meat of the BroadcastChannel API.
2024-11-23 16:43:55 +01:00
Shannon Booth
8f6fe1de83
LibURL+LibWeb: Make URL serialization return a String
...
This can only ever fail from OOM, and will never by string containing
random byte sequences.
2024-11-23 16:43:55 +01:00
Shannon Booth
9724c67be2
LibWeb: Default initialize StructuredDeserialize memory argument
...
This is optional in the spec, so let's make it actually optional at the
call site.
2024-11-23 16:43:55 +01:00
Shannon Booth
617b8eed75
LibWeb: Const qualify many functions in EnvironmentSettingsObject
...
Which also allows us to remove a const_cast :^)
2024-11-23 16:43:55 +01:00
Shannon Booth
473bebc9a8
LibWeb: Tidy up return types of BroadcastChannel
...
Use GC::Ptr over a raw pointer and make the name() function const
qualfied returning a reference instead of a copy.
2024-11-23 16:43:55 +01:00
Andreas Kling
d3ee49b092
LibWeb: Avoid an infinite recursion in replaced element sizing
...
In the case where we had a preferred aspect ratio and a natural height
but no natural width, we'd get into ping-ponging infinite recursion by
trying to find the width to resolve the height to resolve the width to
resolve the height...
2024-11-23 16:39:45 +01:00
Timothy Flynn
d0149d8fc0
LibJS: Begin implementing the relativeTo option of Duration.total
2024-11-23 14:46:00 +01:00
Timothy Flynn
70ad66d3c0
LibJS: Begin implementing the relativeTo option of Duration.round
2024-11-23 14:46:00 +01:00
Timothy Flynn
0befd52725
LibJS: Begin implementing the relativeTo option of Duration.compare
2024-11-23 14:46:00 +01:00
Timothy Flynn
06593b1894
LibJS: Implement most of GetTemporalRelativeToOption
...
Now that we have the Temporal.PlainDate object, we can flesh out this AO
for such relative-to objects.
2024-11-23 14:46:00 +01:00
Timothy Flynn
521638642f
LibJS: Capture CalendarFields by reference in Calendar*FromFields AOs
...
These fields are modified by an invocation to CalendarResolveFields. All
callers currently don't care about these modifications, so they move the
CalendarFields struct into the AO. But it turns out that at least one AO
will care (InterpretTemporalDateTimeFields), thus we will need to take
by reference here.
2024-11-23 14:46:00 +01:00
Timothy Flynn
021a5f4ded
LibJS: Move ISO-related structures to their own file
...
Currently, AbstractOperations.h needs to include Time.h for the Time
structure. Soon, Time.h will need to include AbstractOperations.h for
structures defined there. To avoid a circular include, let's put the
ISO types into their own file, so that AO.h does not need to include
any JS type header.
2024-11-23 14:46:00 +01:00
Timothy Flynn
46998e922a
LibJS: Implement Temporal.PlainMonthDay/YearMonth.prototype.toPlainDate
2024-11-23 14:46:00 +01:00
Timothy Flynn
06ef32818e
LibJS: Implement Temporal.PlainDate.prototype.valueOf
2024-11-23 14:46:00 +01:00
Timothy Flynn
f8b593a7df
LibJS: Implement Temporal.PlainDate.prototype.toPlainMonthDay/YearMonth
2024-11-23 14:46:00 +01:00
Timothy Flynn
3aa4cdd314
LibJS: Implement Temporal.PlainDate.prototype.until/since
2024-11-23 14:46:00 +01:00
Timothy Flynn
abc6b679c3
LibJS: Check both the quotient and remainder for rounding negativity
...
Our BigInt implementation can store the negativity of the division
result in either the quotient or the remainder. This is exposed by an
upcoming prototype, which will reach this division with:
-432000000000000 / 86400000000000000000000
Which has the BigInt division result:
quotient = 0
remainder = -432000000000000
(Our old Temporal implementation also had this bug).
2024-11-23 14:46:00 +01:00
Timothy Flynn
b319d45566
LibJS: Optimize the CalendarDateUntil AO for large year differences
...
For example, consider the following operation:
const instance = new Temporal.PlainDate(2000, 5, 2);
instance.until("-271821-04-19");
The spec would have us enter a loop to compute the difference between
these dates by incrementing an intermediate date one day at a time.
Instead, we can do some math to skip ahead much closer to the desired
date.
2024-11-23 14:46:00 +01:00
Timothy Flynn
f280a96e35
LibJS: Implement Temporal.PlainDate.prototype.with/withCalendar
2024-11-23 14:46:00 +01:00
Timothy Flynn
c2ead84bd9
LibJS: Implement Temporal.PlainDate.prototype.add/subtract/equals
2024-11-23 14:46:00 +01:00
Timothy Flynn
9fbb5a57fa
LibJS: Implement stringification Temporal.PlainDate prototypes
2024-11-23 14:46:00 +01:00
Timothy Flynn
a0c55f76e7
LibJS: Implement the Temporal.PlainDate constructor
...
And the simple Temporal.PlainDate.prototype getters, so that the
constructed Temporal.PlainDate may actually be validated.
2024-11-23 14:46:00 +01:00
Andreas Kling
30fb2bf2e1
Tests: Skip html/rendering/pixel-length-attributes.html for now
...
This test is too slow for GCC CI.
2024-11-23 14:41:41 +01:00
Andreas Kling
1b4763f75f
LibWeb: Allow border="0" on HTMLObjectElement
2024-11-23 14:41:41 +01:00
Andreas Kling
6e85363a84
LibWeb: Allow border="0" on HTMLInputElement
2024-11-23 14:41:41 +01:00
Andreas Kling
1288452bc3
LibWeb: Honor border
attribute on HTMLImageElement
2024-11-23 14:41:41 +01:00
Andreas Kling
e781aab274
LibWeb: Honor the various margin attributes in HTMLBodyElement
...
This one is particularly weird as there's a priority order, and we even
have to look at attributes from the container element if we're inside a
subframe.
2024-11-23 14:41:41 +01:00
Andreas Kling
97aa608c13
Tests: Import WPT test for pixel length attributes
2024-11-23 14:41:41 +01:00
Andreas Kling
7ea7352bf3
LibWeb: Bail on applying the history step when no active window
...
This is an ad-hoc hack papering over the fact that we can apparently
end up in these places without an active window, and proceeding without
one leads to assertions on WPT.
2024-11-23 14:41:41 +01:00
rmg-x
59c8e0cd5a
Documentation: Remove SerenityOS references where appropriate
2024-11-23 14:29:48 +01:00
rmg-x
d389fb440f
CI: Ignore changes to Documentation related files
...
This will prevent CI from running if:
- the only changes included are under the Documentation folder, or
- the only changes included are *.md files in the root
See:
https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#example-excluding-paths
2024-11-23 10:44:54 +01:00
Psychpsyo
3e536a4cd7
LibWeb: Implement more IntersectionObserver attributes
2024-11-23 09:52:32 +01:00
Gingeh
7444f76b0d
LibWeb: Make querySelectorAll match each element at most once
2024-11-23 09:49:33 +01:00
Gingeh
bb678e75f9
LibWeb: Reject selectors with named namespaces in querySelectorAll
2024-11-23 09:49:33 +01:00
Gingeh
ba0cc7fe46
LibWeb: Use correct case-sensitivity when matching attribute selectors
...
Also removed get_attribute_with_lowercase_qualified_name
because it was buggy, duplicated logic, and now unused.
2024-11-23 09:49:33 +01:00
Gingeh
a2cf1d17fd
LibWeb: Require CSS combinators to be followed by a simple selector
2024-11-23 09:49:33 +01:00
Gingeh
bb5678a175
LibWeb: Don't allow trailing commas in selector lists
...
comma-separated list != #-multiplier
2024-11-23 09:49:33 +01:00
sideshowbarker
8965698ce7
LibWeb: Support accessible-name computation for SVG elements
...
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (true, NO_FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Push notes / build (push) Waiting to run
This change adds support for computing accessible names for SVG
elements, per the https://w3c.github.io/svg-aam/#mapping_additional_nd
spec requirements. Otherwise, without this change, accessible names for
SVG elements don’t get exposed as expected.
2024-11-23 04:34:23 +00:00
Psychpsyo
b22341fc77
LibGfx: Support AVIF images with missing pixi property
2024-11-23 03:57:54 +00:00
Shannon Booth
3fffd1129c
LibWeb: Implement overload resolution for sequence types
...
Fixes : #2508
2024-11-23 02:38:21 +00:00
Psychpsyo
e2b2115722
LibWeb: Fix spec link in FlexFormattingContext
2024-11-23 01:37:32 +00:00
Andreas Kling
9a7c9286c4
LibWeb: Support individual scale
CSS property
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (true, NO_FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Push notes / build (push) Waiting to run
2024-11-22 20:06:44 +01:00
Andreas Kling
66a821e731
LibWeb: Support individual translate
CSS property
2024-11-22 20:06:44 +01:00
Andreas Kling
6836d4edb1
LibWeb: Fix incomplete plumbing for individual rotate
CSS property
2024-11-22 20:06:44 +01:00
Andreas Kling
d6f7fccf49
Tests: Import a bunch of WPT tests from /css/css-transforms
2024-11-22 20:06:44 +01:00
Timothy Flynn
b64ccb95ec
LibJS: Implement Temporal.PlainYearMonth.prototype.valueOf
2024-11-22 19:55:24 +01:00
Timothy Flynn
35f22dcf79
LibJS: Implement Temporal.PlainYearMonth.prototype.add/subtract
2024-11-22 19:55:24 +01:00
Timothy Flynn
cb5d1b5086
LibJS: Implement Temporal.PlainYearMonth.prototype.until/since
2024-11-22 19:55:24 +01:00
Timothy Flynn
203269fae2
LibJS: Implement Temporal.PlainYearMonth.prototype.with/equals
2024-11-22 19:55:24 +01:00