1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 02:47:35 +00:00
serenity/Userland/Services/WebContent
Sam Atkins d94d60219c LibWebView+WebContent: Propagate unconsumed input events out of OOPWV
Since 9e2bd9d261a8c0c1b5eeafde95ca310efc667204, the OOPWV has been
consuming all mouse and keyboard events, preventing action shortcuts
from working. So let's fix that. :^)

OOPWV now queues up input events, sending them one at a time to the
WebContent process and waiting for the new
`did_finish_handling_input_event(bool event_was_accepted) =|` IPC call
before sending the next one. If the event was not accepted, OOPWV
imitates the usual event bubbling: first passing the event to its
superclass, then to its parent widget, and finally propagating to any
Action shortcuts.

With this, shortcuts like Ctrl+I to open Browser's JS console work
again, except when a contenteditable field is selected. That's a
whole separate stack of yaks.

Co-authored-by: Zaggy1024 <zaggy1024@gmail.com>
2022-11-26 00:44:49 +01:00
..
CMakeLists.txt WebContent: Add a very-empty WebDriver IPC class to WebContent 2022-11-08 19:58:34 -05:00
ConnectionFromClient.cpp LibWebView+WebContent: Propagate unconsumed input events out of OOPWV 2022-11-26 00:44:49 +01:00
ConnectionFromClient.h LibWebView+WebContent: Propagate unconsumed input events out of OOPWV 2022-11-26 00:44:49 +01:00
ConsoleGlobalObject.cpp WebContent: Add $() and $$() functions to browser console 2022-11-19 16:56:31 +00:00
ConsoleGlobalObject.h WebContent: Add $() and $$() functions to browser console 2022-11-19 16:56:31 +00:00
Documentation.txt LibWeb: Remove the InProcessWebView widget 2022-04-06 19:35:07 +02:00
Forward.h WebContent: Add a very-empty WebDriver IPC class to WebContent 2022-11-08 19:58:34 -05:00
ImageCodecPluginSerenity.cpp LibWeb+LibWebView+WebContent: Add Web::Platform::ImageCodecPlugin 2022-09-16 15:15:50 +02:00
ImageCodecPluginSerenity.h LibWeb+LibWebView+WebContent: Add Web::Platform::ImageCodecPlugin 2022-09-16 15:15:50 +02:00
main.cpp WebContent: Add a very-empty WebDriver IPC class to WebContent 2022-11-08 19:58:34 -05:00
PageHost.cpp LibWeb+WebContent: Virtualize methods needed for WebDriver in PageClient 2022-11-24 00:10:56 +00:00
PageHost.h LibWeb+WebContent: Virtualize methods needed for WebDriver in PageClient 2022-11-24 00:10:56 +00:00
WebContentClient.ipc LibWebView+WebContent: Propagate unconsumed input events out of OOPWV 2022-11-26 00:44:49 +01:00
WebContentConsoleClient.cpp WebContent: Add $_ variable to browser console 2022-11-19 16:56:31 +00:00
WebContentConsoleClient.h WebContent: Create a separate realm for JS console input 2022-11-19 16:56:31 +00:00
WebContentServer.ipc LibWebView+WebContent: Wait for dialog responses without blocking IPC 2022-11-16 17:23:56 +00:00
WebDriverClient.ipc WebContent+WebDriver: Send the parsed capabilities over to WebContent 2022-11-18 12:21:57 +00:00
WebDriverConnection.cpp WebContent: Remove WebContent::ConnectionFromClient from WebDriver 2022-11-24 00:10:56 +00:00
WebDriverConnection.h WebContent: Remove WebContent::ConnectionFromClient from WebDriver 2022-11-24 00:10:56 +00:00
WebDriverServer.ipc WebContent: Add a very-empty WebDriver IPC class to WebContent 2022-11-08 19:58:34 -05:00