Aliaksandr Kalenik
3e8b2454fb
LibWeb: Stub InputEvent.getTargetRanges()
...
We need this, because https://www.slatejs.org/ that is used by Discord
checks this function to decide whether a browser has "beforeinput" event
support.
2024-10-22 08:44:51 -04:00
Aliaksandr Kalenik
63f502ab0a
LibWeb: Implement dispatching of "beforeinput" event
2024-10-22 08:44:51 -04:00
Aliaksandr Kalenik
0de61b0f65
LibWeb: Implement dispatching of "input" event
2024-10-22 08:44:51 -04:00
Aliaksandr Kalenik
d88e6bee5d
LibWeb: Put cursor in last text node when contenteditable is focused
...
With this change we match behavior of other engines a bit more closer.
2024-10-22 08:44:51 -04:00
Kostya Farber
da42c19cb6
LibWeb: Apply the word-spacing css property to Node
...
This will let us start to begin applying this during
text shaping.
2024-10-22 13:36:26 +01:00
Jelle Raaijmakers
e4533e5595
LibWeb: Do not floor SVG offset in SVGPathPaintable
...
Resolves a FIXME and improves the visuals of https://tweakers.net :^)
2024-10-22 07:37:59 -04:00
Timothy Flynn
c96c5e45ff
LibWeb: Implement KeyboardEvent.charCode according to spec
...
It should be 0 for keydown/keyup events.
2024-10-22 12:48:58 +02:00
Timothy Flynn
1bbe8309d4
LibUnicode: Add a helper to determine if a code point is printable
2024-10-22 12:48:58 +02:00
Timothy Flynn
14c3bff5da
Meta: Add a flag to WPT.sh to run Ladybird headlessly
...
We have more work to do before we can run WPT headlessly by default
(i.e. handling alerts). But for now, we can run it headlessly locally
with the --headless flag.
2024-10-22 04:24:31 +01:00
Timothy Flynn
b24a7079f1
LibWeb+WebDriver: Add a flag to default WebDriver to headless mode
...
We previously only supported enabling headless mode on a per-session
basis via the capabilities record. We don't have the ability to mutate
this record from WPT, so this adds a flag to set the default mode.
2024-10-22 04:24:31 +01:00
Timothy Flynn
a67018b2fc
WebDriver: Use the same command line arguments for all browser chromes
...
In other words, pass the same flags to headless-browser.
2024-10-22 04:24:31 +01:00
Timothy Flynn
b73f9fef5a
headless-browser: Support creating child web views
...
This is used when a page calls window.open, and is relied upon heavily
by WPT.
2024-10-22 04:24:31 +01:00
Timothy Flynn
34b8784dd9
headless-browser: Do not immediately exit when running under WebDriver
...
We need to spin the Application's event loop.
2024-10-22 04:24:31 +01:00
samu698
d08d305399
LibWeb: Fixed IDL for HTMLInputElement
...
Use Enumerated for the form{Enctype, Method} attributes
2024-10-21 15:41:00 -06:00
samu698
ab04f6d422
LibWeb: Fixed IDL for HTMLButtonElement
...
Use Enumerated for the form{Enctype, Method} attributes
2024-10-21 15:41:00 -06:00
samu698
6892482755
LibWeb: Use correct IDL for HTTPFormElement's method attribute
...
Removed the custom getter and updated the idl so that the attribute
is Reflected and Enumerated.
2024-10-21 15:41:00 -06:00
Timothy Flynn
ebe89a3207
WebContent: Parse the type hint in WebDriver's New Window endpoint
...
Although we aren't using this hint (we always create tabs), we do need
to validate the payload.
2024-10-21 13:15:11 -04:00
Tim Ledbetter
74983e6966
WebDriver: Don't return from new_window()
until WebDriver is connected
...
Previously, tests would intermittently fail because the current session
wasn't yet aware of a newly created window handle.
Co-authored-by: Timothy Flynn <trflynn89@pm.me>
2024-10-21 18:02:21 +01:00
Andreas Kling
72f4253911
LibWeb: Scale up "inspected node" hint text to match screen DPI
...
This fixes an issue where the text would look very small on macOS.
2024-10-21 15:57:28 +02:00
Aliaksandr Kalenik
629a3ac61e
LibWeb: Add missing check if scrollable overflow defined for paintable
...
With 6a549f6270
we need to check if
optional scrollable overflow exists for paintable box, because it's not
computed for inline nodes.
Fixes crashing after navigating into direct messages screen on Discord.
2024-10-21 15:57:19 +02:00
Jelle Raaijmakers
27928cd28c
LibWeb: Add PointerEvent.getCoalescedEvents() and .getPredictedEvents()
...
Fixes at least 4 WPT subtests in /pointerevents.
2024-10-21 07:37:59 -04:00
Jelle Raaijmakers
effa21a69f
LibWeb: Add PointerEvent.persistentDeviceId
...
Fixes at least 2 WPT subtests in /pointerevents.
2024-10-21 07:37:59 -04:00
Andreas Kling
325ff4ac27
Revert "LibGfx: Use actual vector size as indicated by HarfBuzz"
...
This reverts commit 14f5f51147
.
2024-10-21 12:09:11 +02:00
Andreas Kling
fdfbfcab37
Revert "LibWeb: Unbreak harfbuzz text layout"
...
This reverts commit a8d0712c28
.
2024-10-21 12:09:02 +02:00
Vincent Sgherzi
9ce139a3f0
LibWeb: Fix boolean logic mistake in XMLSerializer for empty public ID
...
Fixes 5 subtests on http://wpt.live/domparsing/xml-serialization.xhtml
2024-10-21 10:53:02 +02:00
stelar7
d81f31c699
LibWeb/Meta: Adjust how missing/invalid default values are generated
2024-10-21 10:34:26 +02:00
Andreas Kling
a8d0712c28
LibWeb: Unbreak harfbuzz text layout
...
The reason we were keeping track of the pre-shaping buffer was to know
where we had tab characters in the input. This is a very strange way of
doing that, but since it broke the web, let's patch it up quickly.
Follow-up to #1870 which broke text layout on many web pages.
2024-10-21 10:30:12 +02:00
Ben Wiederhake
14f5f51147
LibGfx: Use actual vector size as indicated by HarfBuzz
...
This fixes a browser crash as experienced on Wikipedia when encountering
the ≠ entity. As a side-effect, this also affects some tab-align and
-wrap tests.
2024-10-21 10:15:39 +02:00
Gabriel Tassinari
07400b515c
Qt: Fix -Werror=deprecated-declarations when using Qt > 6.7
2024-10-20 21:35:42 -06:00
Jim Broadbent
97ca6036fa
LibWeb/XHR: Progess event handle empty length
2024-10-20 22:22:59 +02:00
samu698
50f642613d
LibWeb/HTML: Implement inner text set according to spec
...
Replaced the ad-hoc implementation with a spec compliant one.
This change fixes 36 WPT tests.
2024-10-20 22:15:04 +02:00
Andreas Kling
58c523ae46
LibWeb: Honor appearance: none
when creating input element layout node
...
Per css-ui-4, setting `appearance: none` is supposed to suppress the
creation of a native-looking widget for stuff like checkboxes, radio
buttons, etc.
This patch implements this behavior by simply falling back to creating
a layout node based on the CSS `display` property in such cases.
This fixes an issue on the hey.com imbox page where we were rendering
checkboxes on top of sender profile photos.
2024-10-20 21:58:58 +02:00
stasoid
6b73a2d8a4
LibCore: Port File
to Windows
...
Co-authored-by: Cameron Youell <cameronyouell@gmail.com>
2024-10-20 10:18:03 -06:00
stasoid
f6430035e7
LibCore/System: Add initial Windows support
...
Co-authored-by: Cameron Youell <cameronyouell@gmail.com>
2024-10-20 10:18:03 -06:00
Timothy Flynn
6cba55893e
WebContent: Return the handle of the newly opened window from New Window
...
We were returning the handle of the already opened window, rather than
the handle of the window we just opened.
2024-10-20 16:41:11 +01:00
Timothy Flynn
981aaba96c
LibWeb: Break the Window open steps into two methods for internal use
...
Some callers (namely WebDriver) will need access to the navigable opened
by these steps. But if the noopener parameter is set, the returned proxy
will always be null.
This splits some of the Window open steps into an internal method that
returns the chosen navigable.
2024-10-20 16:41:11 +01:00
Bastian Müller
748e3c2e6c
LibWeb/XHR: Pass API URL character encoding
2024-10-20 07:58:22 -04:00
Bastian Müller
3be93ac49f
LibWeb/XHR: Parse URL to resolve blob
2024-10-20 07:58:22 -04:00
Andreas Kling
4fdb266077
LibWeb: Make DOM Node unique IDs strongly typed (and 64 bit)
...
This is strictly nicer than passing them around as i32 everywhere,
and by switching to i64 as the underlying type, ID allocation becomes as
simple as incrementing an integer.
2024-10-20 13:42:33 +02:00
Tim Ledbetter
eca2318390
WebContent: Use window open steps to create a new window with WebDriver
...
This matches the specification steps and fixes a WPT regression caused
by us not loading `about:blank` when opening a new window.
2024-10-20 11:42:19 +01:00
Tim Ledbetter
f3c6326f27
LibWeb: Rename Window::open_impl()
to Window::window_open_steps()
...
This is the same name used in the specification.
2024-10-20 11:42:19 +01:00
Shannon Booth
b999f925dc
LibWeb: Allow splitting surrogate pairs in CharacterData.substringData()
2024-10-20 11:18:57 +01:00
thislooksfun
0b775da7c7
LibWeb/CSS: Evaluate media queries in shadow roots
...
This fixes a rendering issue on https://prodengi.kz/ that someone on
Discord reported. :^)
2024-10-20 07:57:09 +01:00
Timothy Flynn
1aab7b51ea
LibWebView: Generate hyperlinks for attributes that represent links
...
On the view-source page, generate anchor tags for any 'href' or 'src'
attribute value we come across. This handles both when the attribute
contains an absolute URL and a URL relative to the page.
This requires sending the document's base URL over IPC to resolve
relative URLs.
2024-10-20 08:50:01 +02:00
Timothy Flynn
0703ba118b
AK: Add a comparison operator for Utf32View
2024-10-20 08:50:01 +02:00
Timothy Flynn
cf9693169c
AK: Allow constructing Utf32 from a span of u32
2024-10-20 08:50:01 +02:00
Cameron Youell
94601e1ffd
LibCore: Add Windows version of DirIterator
...
Co-authored-by: stasoid <stasoid@yahoo.com>
2024-10-19 18:14:48 -06:00
Cameron Youell
c5219b0193
CMake: Fix linker issues on Windows
...
Co-authored-by: Andrew Kaster <akaster@serenityos.org>
2024-10-19 18:14:48 -06:00
rmg-x
57f82c029c
LibWeb/HTML: Check if evaluationStatus has a value before dereferencing
...
Previously, we would crash if scripting was disabled and a javascript
URL was evaluated.
2024-10-19 18:28:12 -04:00
thislooksfun
feaf2feab8
LibWeb: Skip DedicatedWorkerGlobalScope-instanceof test
...
It is consistently hanging on mac. See #1306 for details.
2024-10-19 16:59:51 -04:00