Timothy Flynn
ce11a90726
WebContent+WebDriver: Handle when new windows are immediately closed
...
This happens when window.close() is invoked immediately upon a window
being opened.
2024-10-06 01:42:24 +01:00
Timothy Flynn
b035f0cd3d
WebContent+WebDriver: Log all unimplemented WebDriver endpoints
...
It's difficult to know what we need to implement if we silently ignore
these endpoints. Let's log the endpoints and their parameters, and clean
up the wall of FIXME comments to be easier to grok.
2024-09-25 14:03:46 -04:00
Timothy Flynn
5fc51b2ff9
WebContent+WebDriver: Update the current BC when switching windows
...
We had only implemented this step in the WebDriver process, but we need
to update the remote WebContent process as well.
2024-09-15 00:56:21 +01:00
Noah Bright
ee352e59db
WebDriver: Add boilerplate for endpoint 15.7 Perform Actions
...
Following the structure of the ReleaseActions endpoints, define
analogous classes and methods for PerformActions
2024-09-09 14:11:23 +01:00
Han
d1ba317e22
WebDriver: Add Routes, IPC definitions, and boilerplates
...
Added the following Routes, IPC definitions, and boilerplates for the
missing endpoints:
- Switch To Frame
- Switch To Parent Frame
- Element Clear
- Element Send Keys
2024-09-08 12:59:06 +01:00
Andrew Kaster
ca806a3e18
WebDriver+WebContent: Add /session/ 🆔 /window/consume-user-activation
...
This extension to the WebDriver spec is defined in the HTML spec, how
fun.
2024-05-29 21:30:15 +02:00
stelar7
23b378822b
LibWeb: Stub out Release Actions
...
This allows WPT to open the browser, and it no longer instantly crashes
2023-08-21 13:22:04 -06:00
Timothy Flynn
a96ba912b3
WebDriver: Activate the browser tab during the Switch To Window command
2023-03-21 09:39:49 +00:00
Aliaksandr Kalenik
126fa7df14
WebContent+WebDriver: Get window handle from WebContent process
...
This change makes window handles on WebDriver process side be
consistent with handles returned by /window/new.
2023-03-16 13:17:37 -04:00
Aliaksandr Kalenik
f287165823
LibWeb+WebContent+WebDriver: Add WebDriver endpoint to open new window
2023-03-16 13:17:37 -04:00
Timothy Flynn
0524bc1d13
WebContent+WebDriver: Ensure Get Window Handle checks for closed BCs
2023-03-07 18:16:35 +00:00
Aliaksandr Kalenik
0905fd57e4
WebContent+WebDriver: Move window commands handling back to WebDriver
...
With current architecture every window has its own WebContent process
and there is one WebDriver process that is responsible for talking to
all opened windows. It thus make sense to manage open windows from
WebDriver process instead of WebContent process that is not supposed
to know about all other opened WebContent processes.
This mostly reverts 826d5f8f9a but also
adds `web_content_connection` to window structure and window id
generation (currently out of spec).
With these changes `get_window_handles`, `switch_to_window` and
`close_window` start to actually switch, close and returned handles
of currently opened windows.
2023-03-07 07:16:23 -05:00
Timothy Flynn
77fbd912b7
LibWeb+WebContent+WebDriver: Port WebDriver parameters to String
...
This changes the parameters parsed from a WebDriver HTTP request to
String for transferring over IPC. Conveniently, most locations these
were ultimately passed to only need a StringView.
2023-03-05 23:50:05 +00:00
Jonah
30ec59f163
WebDriver: Add computedlabel endpoint
2023-02-19 13:28:01 -05:00
Sam Atkins
c43db5dae7
WebDriver+LibWeb: Rename "click" to "element_click"
...
This matches the name used in the spec, and is unambiguous.
2023-01-27 17:30:46 +00:00
Jonah
569b56e2ad
WebDriver: Add computedrole endpoint
2023-01-16 20:32:21 -05:00
Baitinq
419dea0996
WebDriver: Implement stub for .../element/{element id}/click
...
This patch adds a stub implementation for the POST
/session/{session id}/element/{element id}/click endpoint.
2022-12-25 17:24:52 +01:00
Linus Groh
6e19ab2bbc
AK+Everywhere: Rename String to DeprecatedString
...
We have a new, improved string type coming up in AK (OOM aware, no null
state), and while it's going to use UTF-8, the name UTF8String is a
mouthful - so let's free up the String name by renaming the existing
class.
Making the old one have an annoying name will hopefully also help with
quick adoption :^)
2022-12-06 08:54:33 +01:00
Victor Song
88ecc4a1e5
WebContent+WebDriver: Implement POST /session/{id}/window endpoint
2022-12-04 09:33:55 -05:00
Baitinq
02a2018ec4
WebDriver: Implement stub for /session/{id}/print
2022-11-27 00:37:28 +00:00
Timothy Flynn
adc7977ec7
WebContent+WebDriver: Send the parsed capabilities over to WebContent
2022-11-18 12:21:57 +00:00
Timothy Flynn
f7bb835d09
LibWeb+LibWebView+WebContent+WebDriver: Implement Send Alert Text
2022-11-16 17:23:56 +00:00
Timothy Flynn
f9b8742fff
LibWeb+WebContent+WebDriver: Implement Get Alert Text
2022-11-16 17:23:56 +00:00
Timothy Flynn
3e7d633954
LibWeb+WebContent+WebDriver: Implement Accept Alert
2022-11-16 17:23:56 +00:00
Timothy Flynn
7cf2feb047
LibWeb+WebContent+WebDriver: Implement Dismiss Alert
2022-11-16 17:23:56 +00:00
Timothy Flynn
8e624c8f6d
LibWeb+WebContent+WebDriver: Implement Find Elements From Shadow Root
2022-11-15 11:55:36 +00:00
Timothy Flynn
6d9bd04233
LibWeb+WebContent+WebDriver: Implement Find Element From Shadow Root
2022-11-15 11:55:36 +00:00
Timothy Flynn
4d9fd5d190
LibWeb+WebContent+WebDriver: Implement Get Element Shadow Root
2022-11-15 11:55:36 +00:00
Timothy Flynn
cb91e6067c
LibWeb+WebContent+WebDriver: Implement Get Active Element
...
Unfortunately, nothing ever calls DOM::Document::set_active_element at
the moment, so this will always return ErrorCode::NoSuchElement.
2022-11-15 11:55:36 +00:00
Timothy Flynn
826d5f8f9a
WebContent+WebDriver: Move Window commands to WebContent
...
This moves Get Window Handle, Close Window, and Get Window Handles over
to WebContent so they may be implemented closer to the spec and be used
by Ladybird.
2022-11-14 13:43:24 -05:00
Tobias Christiansen
1aa16b4dd4
WebDriver: Implement POST /session/{id}/window/fullscreen endpoint
2022-11-12 12:12:05 +00:00
Timothy Flynn
04f41bda52
WebContent+WebDriver: Move Get/Set Timeouts to WebContent
2022-11-11 22:03:23 +00:00
Timothy Flynn
2c9549cb76
Browser+WebContent+WebDriver: Move Get Title to WebContent
2022-11-11 22:03:23 +00:00
Timothy Flynn
7f142745e2
Browser+WebContent+WebDriver: Move Back, Forward, Refresh to WebContent
2022-11-11 22:03:23 +00:00
Timothy Flynn
ff6055e0a3
Browser+WebContent+WebDriver: Move Delete All Cookies to WebContent
2022-11-11 18:02:04 +00:00
Timothy Flynn
b7f21bb92e
Browser+WebContent+WebDriver: Move Delete Cookie to WebContent
2022-11-11 18:02:04 +00:00
Timothy Flynn
18abc6c85d
Browser+WebContent+WebDriver: Move Add Cookie to WebContent
...
The new implementation is made a bit simpler by way of TRY. It also
implements setting the SameSite attribute.
2022-11-11 18:02:04 +00:00
Timothy Flynn
a3d6c2f6af
Browser+WebContent+WebDriver: Move Get Named Cookie to WebContent
...
Instead of sending *all* cookies over IPC and filtering by name, we now
filter by name from the cookie jar and send just the first matching
cookie.
2022-11-11 18:02:04 +00:00
Timothy Flynn
c77260c480
Browser+WebContent+WebDriver: Move Get All Cookies to WebContent
...
There are a couple changes here from the existing Get All Cookies
implementation.
1. Previously, WebDriver actually returned *all* cookies in the cookie
jar. The spec dictates that we only return cookies that match the
document's URL. Specifically, it calls out that we must run just the
first step of RFC 6265 section 5.4 to perform domain matching.
This change adds a special mode to our implementation of that section
to skip the remaining steps.
2. We now fill in the SameSite cookie attribute when serializing the
cookie to JSON (this was a trival FIXME that didn't get picked up
when SameSite was implemented).
2022-11-11 18:02:04 +00:00
Timothy Flynn
31469ee45a
Browser+WebContent+WebDriver: Move Execute Async Script to WebContent
...
With this, WebDriverEndpoints is unused and removed :^)
2022-11-11 11:36:07 +00:00
Timothy Flynn
0b9803dc93
WebContent+WebDriver: Move Execute Script to WebContent
2022-11-11 11:36:07 +00:00
Timothy Flynn
88dcdf681f
Browser+WebContent+WebDriver: Move Get Page Source to WebContent
2022-11-11 11:36:07 +00:00
Timothy Flynn
ea0561a0b3
Browser+WebContent+WebDriver: Move Take Element Screenshot to WebContent
2022-11-11 11:36:07 +00:00
Timothy Flynn
de1e882601
Browser+WebContent+WebDriver: Move Take Screenshot to WebContent
2022-11-11 11:36:07 +00:00
Timothy Flynn
93e14799c5
Browser+WebContent+WebDriver: Move Is Element Enabled to WebContent
2022-11-10 17:02:11 +00:00
Timothy Flynn
30d6a73d0e
Browser+WebContent+WebDriver: Move Get Element Rect to WebContent
2022-11-10 17:02:11 +00:00
Timothy Flynn
9dd62228c8
Browser+WebContent+WebDriver: Move Get Element Tag Name to WebContent
2022-11-10 17:02:11 +00:00
Timothy Flynn
5d32fd7026
Browser+WebContent+WebDriver: Move Get Element Text to WebContent
2022-11-10 17:02:11 +00:00
Timothy Flynn
06f1b8825c
Browser+WebContent+WebDriver: Move Get Element CSS Value to WebContent
2022-11-10 17:02:11 +00:00
Timothy Flynn
3c00d0e92b
Browser+WebContent+WebDriver: Move Get Element Property to WebContent
2022-11-10 17:02:11 +00:00