ladybird/Userland/Libraries/LibWeb/WebDriver
Timothy Flynn bf0bc62654 WebContent+WebDriver: Asynchronously wait for navigations to complete
Similar to commit c2cf65adac, we should
avoid spinning the event loop from the WebContent-side of the WebDriver
connection. This can result in deadlocks if another component in LibWeb
also spins the event loop.

The AO to await navigations has two event loop spinners - waiting for
the navigation to complete and for the document to reach the target
readiness state. We now use NavigationObserver and DocumentObserver to
be notified when these conditions are met. And we use the same async IPC
mechanism as script execution to notify the WebDriver process when all
conditions are met (or timed out).
2024-10-26 11:25:42 +02:00
..
Actions.cpp LibWeb: Implement WebDriver element references according to the spec 2024-10-24 18:59:51 -04:00
Actions.h LibWeb: Implement WebDriver element references according to the spec 2024-10-24 18:59:51 -04:00
Capabilities.cpp LibWeb+WebDriver: Add a flag to default WebDriver to headless mode 2024-10-22 04:24:31 +01:00
Capabilities.h LibWeb+WebDriver: Add a flag to default WebDriver to headless mode 2024-10-22 04:24:31 +01:00
Client.cpp LibWeb: Do not break WebDriver errors into multiple socket writes 2024-09-27 09:46:55 +01:00
Client.h WebDriver: Add boilerplate for endpoint 15.7 Perform Actions 2024-09-09 14:11:23 +01:00
Contexts.cpp LibWeb+WebContent: Convert WebDriver to choose a navigable AO 2024-02-05 08:05:48 -07:00
Contexts.h LibWeb/WebDriver: Handle WindowProxy in internal_json_clone_algorithm() 2023-04-20 14:41:31 -04:00
ElementLocationStrategies.cpp
ElementLocationStrategies.h
ElementReference.cpp LibWeb+WebContent: Ensure elements are in view before clicking them 2024-10-24 18:59:51 -04:00
ElementReference.h LibWeb+WebContent: Ensure elements are in view before clicking them 2024-10-24 18:59:51 -04:00
Error.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Error.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
ExecuteScript.cpp LibWeb: Move WebDriver's HeapTimer helper class to its own file 2024-10-26 11:25:42 +02:00
ExecuteScript.h LibWeb+WebContent: Implement the WebDriver JSON clone steps for elements 2024-09-15 00:56:21 +01:00
HeapTimer.cpp WebContent+WebDriver: Asynchronously wait for navigations to complete 2024-10-26 11:25:42 +02:00
HeapTimer.h WebContent+WebDriver: Asynchronously wait for navigations to complete 2024-10-26 11:25:42 +02:00
InputSource.cpp LibWeb+WebDriver+WebContent: Implement the Element Click endpoint 2024-10-06 01:42:24 +01:00
InputSource.h LibWeb+WebDriver+WebContent: Implement the Element Click endpoint 2024-10-06 01:42:24 +01:00
InputState.cpp LibWeb: Begin implementing the WebDriver Input State and Input Source 2024-10-01 11:02:27 +02:00
InputState.h LibWeb: Begin implementing the WebDriver Input State and Input Source 2024-10-01 11:02:27 +02:00
Properties.h LibWeb: Ensure numbers provided to WebDriver are "safe" 2024-10-01 11:02:27 +02:00
Response.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Response.h
Screenshot.cpp LibWeb/WebDriver: Use correct dimensions for WPT reftest screenshots 2024-09-16 09:11:52 -04:00
Screenshot.h
TimeoutsConfiguration.cpp LibWeb: Update (not replace) timeout values in WebDriver's Set Timeouts 2024-10-12 15:02:41 +02:00
TimeoutsConfiguration.h LibWeb: Update (not replace) timeout values in WebDriver's Set Timeouts 2024-10-12 15:02:41 +02:00