Sam Atkins
d0d5600f47
LibWeb/CSS: Move rule-conversion code into its own file
...
This is an attempt to bring the size of Parser.cpp down. No code
changes, just moves and some explicit template instantiations now that
we're using them from a different file.
2024-11-01 16:16:40 +00:00
Shannon Booth
f20822e293
LibWeb: Handle language attributes without a '-'
...
Where we would previously index out of bounds.
2024-11-01 16:09:12 +01:00
Aliaksandr Kalenik
e915143593
LibWeb: Fix selectionchange
event dispatch on text control elements
...
With a8077f79cc
Selection object is no
longer aware of selection state inside text controls (<textarea> and
<input>), so this change makes them responsible for dispatching
`selectionchange` if their selection state was changed.
2024-11-01 15:06:09 +01:00
Timothy Flynn
3a6b698572
Documentation: Add note about making the macOS terminal a developer tool
2024-11-01 15:04:53 +01:00
Grubre
8703ca0c7d
LibWeb: Use String::to_fullwidth()
when applying text-transform
...
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-14, 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
Before, we just returned the input string. Now the property is applied
using the `String::to_fullwidth()` function.
fixes:
https://wpt.fyi/results/css/css-text/text-transform/text-transform-fullwidth-001.xht
2024-11-01 07:48:17 -04:00
Grubre
a8a81342bb
LibUnicode: Implement to_fullwidth()
in String
...
The implementation uses the transliterator class from icu.
2024-11-01 07:48:17 -04:00
Grubre
5a6a7b7e5e
LibWeb: Pass locale to to_lowercase()
from apply_text_transform
...
Previously we passed `{}` which resulted in incorrect text when using
some languages like `lt`.
Fixes:
http://wpt.fyi/results/css/css-text/text-transform/text-transform-upperlower-039.html
2024-11-01 07:48:17 -04:00
Grubre
1b25fb5d40
LibWeb: Pass locale to to_uppercase()
from apply_text_transform
...
Previously we passed the default argument which is `{}`. This resulted
in incorrect uppercasing for some languages like `tr`.
Fixes:
http://wpt.live/css/css-text/text-transform/text-transform-tailoring-002.html
2024-11-01 07:48:17 -04:00
Jelle Raaijmakers
47597d0fb8
LibIDL: Allow trailing comma in enumerations
...
IDL enumerations are one of the rare list types in the IDL spec that
allow for a trailing comma:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=17508
2024-11-01 12:27:41 +01:00
sideshowbarker
286511c4cf
Meta: Make import-wpt-test.py use html.parser, not BeautifulSoup
...
This change switches the Meta/import-wpt-test.py script to using the
standard html.parser module rather than BeautifulSoup.
Otherwise, without this change, when a contributor first tries to run
the script, if they don’t have BeautifulSoup installed, it will fail.
Note that this patch also includes an unrelated small change that
switches to using os.path.normpath — rather than Path.absolute() — to
“normalize” the destination names of the downloaded test files.
2024-11-01 12:27:24 +01:00
Andreas Kling
56e1c0e7ee
LibWeb: Check for active document in descendant_navigables()
...
This is not in the spec, but I did see a null pointer dereference here
while browsing the web, and it seems completely harmless for this
function to skip over navigables without an active document.
2024-11-01 12:25:52 +01:00
Shannon Booth
aa585c4182
LibWeb: Avoid potential infinite recursion in Document::update_layout
2024-11-01 12:25:17 +01:00
Shannon Booth
15c15116dd
LibWeb: Ensure fully active document before appending to an iframe
2024-11-01 12:25:17 +01:00
Shannon Booth
bfc28bd621
LibWeb: Avoid possible infinite recursion in Document::is_fully_active
2024-11-01 12:25:17 +01:00
Jelle Raaijmakers
c7773d0312
Meta: Update my email address everywhere
2024-11-01 12:14:53 +01:00
Timothy Flynn
ddf3add6a7
LibJS: Remove Array::create_from overload that accepts a plain vector
...
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-14, 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
There's no need to have overloads for both a span and a vector.
2024-11-01 00:35:54 +01:00
Timothy Flynn
663a5e97ca
LibJS: Add an Array::create_from overload to accept a plain array
...
This is just a wrapper to easily construct an Array from a span. This
avoids creating a Vector of values that are possiby Objects. One such
case is in ArrayIteratorPrototype::next.
2024-11-01 00:35:54 +01:00
Timothy Flynn
108b4e7c15
LibJS: Do not store iterated values in a plain vector
2024-11-01 00:35:54 +01:00
Timothy Flynn
9949173fce
LibJS: Do not store console table columns and rows in a plain vector
...
These values may contain Object types.
2024-11-01 00:35:54 +01:00
Timothy Flynn
cd2a34deb7
LibWeb: Do not store message port objects in a plain vector
2024-11-01 00:35:54 +01:00
Timothy Flynn
c479ca97b6
LibWeb: Do not store supported performance entry types in a plain vector
...
These are not protected from GC.
2024-11-01 00:35:54 +01:00
Timothy Flynn
d5c3a0e53a
LibWeb: Do not store resize observer sizes in a plain vector
2024-11-01 00:35:54 +01:00
Timothy Flynn
04648d93d4
LibWeb: Do not store resize observer entries in a plain vector
...
This is not safe from GC. Unfortunately we cannot add a test to capture
the issue, as the allocation which may trigger GC is internal and not
observable from JS.
2024-11-01 00:35:54 +01:00
Timothy Flynn
be1d400369
LibWebView: Add a browser flag to collect garbage after each allocation
2024-11-01 00:35:54 +01:00
stelar7
171af8de33
LibWeb: Implement AES-GCM.generateKey
2024-10-31 23:33:56 +01:00
stelar7
196d99352a
LibWeb: Stub out AES-GCM.decrypt
2024-10-31 23:33:56 +01:00
stelar7
2672acf9c4
LibWeb: Stub out AES-GCM.encrypt
2024-10-31 23:33:56 +01:00
stelar7
3dd80d2a6e
LibWeb: Implement AES-GCM.exportKey
2024-10-31 23:33:56 +01:00
stelar7
e53b3f5fb1
LibWeb: Implement AES-GCM.importKey
2024-10-31 23:33:56 +01:00
stelar7
80d37a6def
LibWeb: Implement AES-GCM.getKeyLength
2024-10-31 23:33:56 +01:00
Jonne Ransijn
a733e2a31c
LibWeb: Fix use-after-move in URLSearchParams::update
...
This was previously still valid since the `Optional<String>` move
constructor copied its input, but since the move is now destructive,
the code no longer works.
2024-10-31 23:26:22 +01:00
Jonne Ransijn
2457118024
AK: Add template specializations for Optional<{,Fly}String>
...
Slice the size of `Optional<{,Fly}String>` in half by introducing
`UINTPTR_MAX` as an invalid bit pattern for these values.
2024-10-31 23:26:22 +01:00
Jonne Ransijn
fcdf3014f1
AK: Move "conditional xtor" pattern into a macro
...
`Optional` and `Variant` both use essentially the same pattern of only
declaring a copy constructor/move constructor/destructor and copy/move
assignment operator if all of their template parameters have one.
Let's move these into a macro to avoid code duplication and to give a
name to the thing we are trying to accomplish.
2024-10-31 23:26:22 +01:00
Jonne Ransijn
a70ed6a2ad
AK: Add OptionalBase
class to reduce code duplication
...
Using CRTP and `static_cast`s because "deducing this" is
still not fully supported yet.
2024-10-31 23:26:22 +01:00
Sam Atkins
f80fca2dee
LibWeb/HTML: Update legacy color parsing steps to match spec
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-14, 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-10-31 19:23:23 +00:00
Aliaksandr Kalenik
46db0febf7
LibUnicode+LibWeb: Move should_continue_beyond_word helper in Segmenter
2024-10-31 19:04:07 +00:00
Aliaksandr Kalenik
fb23fd328b
LibWeb: Simplify empty string allocation in handle_delete()
2024-10-31 19:04:07 +00:00
Aliaksandr Kalenik
bdaac6ce48
LibWeb: Bring back FIXME about using UTF-16 length in handle_insert()
...
It was accidentally removed in a8077f79cc
2024-10-31 19:04:07 +00:00
Aliaksandr Kalenik
54d7314bd9
LibWeb: Remove unnecessary double cast in PaintableFragment
2024-10-31 19:04:07 +00:00
Aliaksandr Kalenik
835181e9d8
LibWeb: Move constructor and visit_edges in .cpp for EditingHostManager
2024-10-31 19:04:07 +00:00
Aliaksandr Kalenik
3ac7ba7f58
LibWeb: Fix alphabetical sorting in LibWeb/Forward.h
2024-10-31 19:04:07 +00:00
Timothy Flynn
6708251968
LibWeb: Disable css/transition-basics.html test
...
This is flaky in CI.
2024-10-31 13:23:26 -04:00
Timothy Flynn
d188aaf288
LibWeb: Protect animation frame callbacks from GC while they execute
...
Stealing the callbacks from the AnimationFrameCallbackDriver made them
no longer safe from GC. Continue to store them on the class until we
have finished their execution.
2024-10-31 15:37:47 +01:00
stelar7
f6991a2955
LibWeb: Bring performance.now() closer to spec
2024-10-31 14:10:13 +01:00
Sam Atkins
f31c18756b
LibWeb: Update spec comments using "Type(Foo)" -> "is a Foo"
2024-10-31 14:01:51 +01:00
Sam Atkins
00e613c7df
LibWeb/HTML: Guard showModal() with fully active check
...
This corresponds to this spec change:
https://github.com/whatwg/html/pull/10705
(We don't implement showPopover() yet.)
2024-10-31 14:01:15 +01:00
Sergei Azarkin
2199fde5a9
LibWeb: Support shorthands when setting style attribute
...
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-14, 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
Better support for CSS shorthands when setting the style attribute. This
improves some tests in WPT /css/css-align/default-alignment/*shorthand.
When setting the style attribute in JS via element.style = '..' or the
setAttribute method, shorthand properties were not expanded to longhand
properties.
2024-10-31 12:23:03 +00:00
Sam Atkins
99c66f49fb
LibJS: Update console spec's use of "Type()" -> "is a"
...
Corresponds to the change in this PR:
https://github.com/whatwg/console/pull/241
2024-10-31 08:16:19 -04:00
Gingeh
3467076dbc
LibWeb+LibGfx: Keep path properties when cloning and implement fill-rule
2024-10-31 10:30:24 +00:00
Gingeh
a7e83c38ee
LibWeb: Implement missing basic shapes
2024-10-31 10:30:24 +00:00