Ali Mohammad Pur
b93d8ef875
AK: Disable implicit conversion from char* -> ipv4 -> ipv6
...
This is a footgun with some massive bullets.
2024-11-20 21:37:58 +01:00
Pavel Shliak
8a07131229
LibGfx: Clean up #include directives
...
We actually include what we use where we use it.
This change aims to improve the speed of incremental builds.
2024-11-20 21:13:23 +01:00
Andreas Kling
063cd68bf4
LibWeb: Mark image elements for layout before firing their load event
...
This removes a long-standing source of flakiness seen for example in
WPT's /referrer-policy/ tests.
2024-11-20 19:04:37 +01:00
Luke Wilde
f638f84185
LibWeb: Make default document readiness be "complete"
...
This is required by mini Cloudflare invisible challenges, as it will
only run if the readyState is not "loading". If it is "loading", then
it waits for readystatechange to check that it's not "loading" anymore.
Initial about:blank iframes do not go through the full navigation and
thus don't go through HTMLParser::the_end, which sets the ready state
to something other than "loading". Therefore, the challenge would never
run, as readyState would never change.
Seen on https://discord.com/login
2024-11-20 16:20:28 +01:00
Andreas Kling
4203b7823f
LibWeb: Fix incorrect exception on replaceChild() with doctypes
...
We were checking for presence of the wrong child in the parent.
2024-11-20 16:10:57 +01:00
Andreas Kling
cd446e5e9c
LibWeb: Set doctype node immediately while parsing XML document
...
Instead of deferring it to the end of parsing, where scripts that
were expecting to look at the doctype may have already run.
2024-11-20 16:10:57 +01:00
Andreas Kling
ab0dc83d28
LibWeb: Make Node.normalize() ignore CDATASection nodes
...
We hadn't modeled the "exclusive text node" concept correctly.
2024-11-20 16:10:57 +01:00
Nico Weber
6fc06f45c2
LibWeb: Plumbing for svg stroke-dashoffset
2024-11-20 15:57:37 +01:00
Nicolas Ramz
e98e9b8e81
Documentation: Fix typo in Testing markdown
2024-11-20 15:48:13 +01:00
Gingeh
4b1deb6fe1
LibWeb: Don't skip filtering when CSS contains null or surrogates
2024-11-20 15:47:19 +01:00
Jonne Ransijn
356507284e
LibWeb: Compare font keys by reference
...
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
`StyleComputer::font_matching_algorithm` was creating a copy of a
`FlyString` every time a `MatchingFontCandidate` was constructed or
copied, causing millions of unnecessairy reference updates when a
lot of fonts are loaded.
While a more permanent solution would be to not load so many unused
fonts, let's do the right thing and remove the unnecessairy copies of
`FlyString`.
2024-11-20 15:38:03 +01:00
Jonne Ransijn
ec5ea0d686
LibGfx: Return family names by reference to avoid unnecessairy cloning
2024-11-20 15:38:03 +01:00
Pavel Shliak
b3c253e50f
LibFileSystem: Clean up #include directives
...
This change aims to improve the speed of incremental builds.
2024-11-20 15:17:53 +01:00
Pavel Shliak
d0c0db5bb3
LibCompress: Clean up #include directives
...
This change aims to improve the speed of incremental builds.
2024-11-20 15:17:31 +01:00
Timothy Flynn
b99a3ec2df
LibWeb: Clone CDATASection nodes with the correct node type
...
We were cloning these as plain Text nodes, but the clone must also be a
CDATASection node.
2024-11-20 15:15:56 +01:00
rmg-x
74b27d620d
LibJS: Parse dates like "Wed Nov 20 2024"
2024-11-20 09:20:48 +00:00
stasoid
dabf3da7e5
LibCore: Fix bug in CreateFileMapping call
...
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
size >> 31 >> 1 is used instead of size >> 32 to support 32-bit Windows
(size_t is 32 bit there, and you cannot shift 32-bit value by 32 bits
on x86)
This is equivalent to sizeof(size) == 4 ? 0 : size >> 32
2024-11-19 22:07:01 -07:00
stasoid
11460b3daa
LibCore: Fix ConfigFile.cpp compilation on Windows
2024-11-19 22:07:01 -07:00
stasoid
43056a8684
LibCore: Port Directory to Windows
2024-11-19 22:07:01 -07:00
stasoid
a423493dd8
AK: Add LexicalPath::is_root()
2024-11-19 22:07:01 -07:00
stasoid
77d205571d
LibCore/System: Add mkdir, openat (stub), fstatat (stub) for Windows
...
Also support directories in open().
2024-11-19 22:07:01 -07:00
Psychpsyo
f09ed59351
LibWeb: Add the search element
2024-11-19 23:30:43 +00:00
stasoid
866609c682
LibCore: Make Process::wait_for_termination return exit code
CI / Lagom (false, NO_FUZZ, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, 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-19 14:40:03 -07:00
stasoid
3468a83e45
LibCore: Port Process to Windows
...
Windows doesn't have a concept of zombie children, hence:
* `disown` not needed
* we need a process handle because otherwise if the process have ended
by the time `wait_for_termination` is called
its pid may be reassigned to other process
2024-11-19 14:40:03 -07:00
stasoid
4a731b3858
LibCore/Process: Make all spawn
overloads return ErrorOr<Process>
2024-11-19 14:40:03 -07:00
stasoid
ddd15e96b6
AK: Define pid_t on Windows
2024-11-19 14:40:03 -07:00
stasoid
61d52c8a3f
LibCore: Remove Process::spawn(StringView, ReadonlySpan<char const*>)
2024-11-19 14:40:03 -07:00
stasoid
33e7d6121b
LibFileSystem: Port to Windows
2024-11-19 14:35:52 -07:00
stasoid
d87144fde2
LibFileSystem: Remove some unused functions
2024-11-19 14:35:52 -07:00
stasoid
69f5f40617
AK: Add static bool LexicalPath::is_absolute_path(StringView path);
2024-11-19 14:35:52 -07:00
stasoid
a828a0e158
LibCore/System: Port getcwd, stat, rmdir, unlink to Windows
2024-11-19 14:35:52 -07:00
Andrew Kaster
4b4a6991e3
Tests: Use ABI entry point for swift-testing tests
...
Avoid the unstable SwiftPM entry point in favor of the stable ABI entry
point.
2024-11-19 14:32:11 -07:00
Andrew Kaster
fca6fd0b85
LibGC: Add Swift bindings to the GC heap
...
This includes a protocol for creating LibGC Heap allocated Swift
objects. Pay no attention to the Unmanaged shenanigans, they are
all behind the curtain.
2024-11-19 14:32:11 -07:00
Andrew Kaster
829391e714
LibGC: Add a ForeignCell class for ownership of non-C++ objects
...
This will allow us to use the GC to manage the lifetime of objects
that are not C++ objects, such as Swift objects. In the future we
could expand this cursed FFI to other languages as well.
2024-11-19 14:32:11 -07:00
Andrew Kaster
726f2cfb11
LibGC: Expose deferred state publicly, annotate DeferGC for Swift
...
While we don't want arbitrary callers deferring GC, we do want
deferral to be available to the Swift. In order for Swift to
understand the RAII nature of DeferGC, we need to mark it as
non-copyable.
2024-11-19 14:32:11 -07:00
Andrew Kaster
32cf4d1e29
AK: Add missing swift/bridging empty defines for non-Swift compilers
2024-11-19 14:32:11 -07:00
Andrew Kaster
d5fb48a6f5
LibGC: Add missing Types.h to forwarding header
...
The forwarding header was not including any other headers, but still
relied on a definition of size_t.
2024-11-19 14:32:11 -07:00
Andrew Kaster
458167935c
AK: Add an extension to construct an AK.String from a Swift.String
2024-11-19 14:32:11 -07:00
Andrew Kaster
a95f761cb4
AK: Include missing StdLibExtras from NeverDestroyed
2024-11-19 14:32:11 -07:00
Pavel Shliak
6033349574
LibWeb: Do not crash when Radial Gradient height is 0
2024-11-19 22:31:51 +01:00
Pavel Shliak
ed409eacf5
LibGfx: Remove unused Bitmap loaders
2024-11-19 21:48:45 +01:00
Andreas Kling
6ffc7ea36d
LibWeb: Make Node::is_text() return true for CDATASection nodes
...
CDATASection inherits from Text, and so it was incorrect for them to
claim not to be Text nodes.
This fixes at least two WPT subtests. :^)
It also exposed a bug in the DOM Parsing and Serialization spec,
where we're not told how to serialize CDATASection nodes.
Spec bug: https://github.com/w3c/DOM-Parsing/issues/38
2024-11-19 19:24:37 +00:00
Andreas Kling
564dc0a434
LibWeb: Use correct factory function when cloning a Document node
...
Cloning an XMLDocument should produce a new XMLDocument. Same for
HTMLDocument.
This fixes at least one WPT test, which we're also importing. :^)
2024-11-19 19:24:37 +00:00
Aliaksandr Kalenik
24a6fd3d76
Tests/LibWeb: Rebaseline WebAnimations/misc/steps-serialization.html
...
Fixes failing test introduced by
b342758dbf
2024-11-19 16:13:38 +01:00
Aliaksandr Kalenik
c47d19d05a
LibWeb: Update LegendBox and FieldSetBox to use GC namespace
...
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
Fixes broken build.
2024-11-19 14:51:42 +01:00
Kostya Farber
a820308a02
LibWeb: Add layout objects for fieldset and legend
...
Add the boilerplate code for the layout objects that represent the
`<fieldset>` and `<legend>` elements. Using these, we can make progress
towards laying out these two elements per the spec at
https://html.spec.whatwg.org/multipage/rendering.html#the-fieldset-and-legend-elements .
2024-11-19 14:31:03 +01:00
Pavel Shliak
b342758dbf
LibWeb: Fix extra validation for EasingStyleValue intervals
2024-11-19 14:10:53 +01:00
Psychpsyo
801499f13e
LibWeb: Fix crash from text inside SVG
2024-11-19 13:41:15 +01:00
Valtteri Koskivuori
135daeb8bb
LibCompress: Don't assume zlib header is available right away
...
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
Instead of checking the header in ZlibDecompressor::create(), we now
check it in read_some() when it is called for the first time. This
resolves a FIXME in the new DecompressionStream implementation.
2024-11-18 19:55:46 -05:00
Timothy Flynn
be09893fa7
AK+LibJS: Don't use Temporal for console.time() and console.timeLog()
...
We don't need nanosecond precision here anyways, as we only display
millisecond resolution.
This uses our simple duration formatter from AK, which is updated to
accept a Duration here. This method did not have any users after the
move from Serenity.
2024-11-18 17:46:41 -05:00