1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 08:54:58 +00:00
serenity/Userland/Libraries/LibWebView
Timothy Flynn ea682207d0 LibWeb+LibWebView: Migrate Browser's input event handling to LibWebView
The Serenity chrome is the only chrome thus far that sends all input key
and mouse events to WebContent, including shortcut activations. This is
necessary for all chromes - we must give web pages a chance to intercept
input events before handling them ourselves.

To make this easier for other chromes, this patch moves Serenity's input
event handling to LibWebView. To do so, we add the Web::InputEvent type,
which models the event data we need within LibWeb. Chromes will then be
responsible for converting between this type and their native events.

This class lives in LibWeb (rather than LibWebView) because the plan is
to use it wholesale throughout the Page's event handler and across IPC.
Right now, we still send the individual fields of the event over IPC,
but it will be an easy refactor to send the event itself. We just can't
do this until all chromes have been ported to this event queueing.

Also note that we now only handle key input events back in the chrome.
WebContent handles all mouse events that it possibly can. If it was not
able to handle a mouse event, there's nothing for the chrome to do (i.e.
there is no clicking, scrolling, etc. the chrome is able to do if the
WebContent couldn't).
2024-03-06 07:46:18 +01:00
..
Attribute.cpp LibWebView+WebContent: Add APIs to manipulate DOM nodes 2023-12-04 01:33:57 +01:00
Attribute.h LibWebView+WebContent: Add APIs to manipulate DOM nodes 2023-12-04 01:33:57 +01:00
CMakeLists.txt LibWebView: Extend GENERATED_SOURCES list instead of replacing 2024-02-26 13:16:27 -07:00
CookieJar.cpp LibWebView: Reduce overhead of updating a cookie's last access time 2024-02-26 19:59:09 +01:00
CookieJar.h LibWebView: Reduce overhead of updating a cookie's last access time 2024-02-26 19:59:09 +01:00
Database.cpp Ladybird+Userland: Use ByteString for candidate server paths 2024-02-26 13:16:27 -07:00
Database.h Ladybird+Userland: Use ByteString for candidate server paths 2024-02-26 13:16:27 -07:00
Forward.h LibWeb+WebContent: Spawn Worker processes from the chrome 2024-01-12 15:53:11 -07:00
History.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
History.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
InspectorClient.cpp LibWebView: Protect the Inspector against rapid inspection requests 2024-03-04 10:49:43 +01:00
InspectorClient.h LibWebView: Protect the Inspector against rapid inspection requests 2024-03-04 10:49:43 +01:00
Native.css LibWebView: Add a standard "look like the OS" style sheet 2023-08-25 20:30:20 +01:00
OutOfProcessWebView.cpp LibWeb+LibWebView: Migrate Browser's input event handling to LibWebView 2024-03-06 07:46:18 +01:00
OutOfProcessWebView.h LibWeb+LibWebView: Migrate Browser's input event handling to LibWebView 2024-03-06 07:46:18 +01:00
RequestServerAdapter.cpp Everywhere: Use unqualified AK::URL 2024-02-25 08:54:31 +01:00
RequestServerAdapter.h Everywhere: Use unqualified AK::URL 2024-02-25 08:54:31 +01:00
SearchEngine.cpp LibWebView: Add an API to format a search query for UI display 2023-10-24 07:28:30 +02:00
SearchEngine.h LibWebView: Add an API to format a search query for UI display 2023-10-24 07:28:30 +02:00
SocketPair.cpp LibWeb+WebContent: Spawn Worker processes from the chrome 2024-01-12 15:53:11 -07:00
SocketPair.h LibWeb+WebContent: Spawn Worker processes from the chrome 2024-01-12 15:53:11 -07:00
SourceHighlighter.cpp LibWebView: Extract CSS to highlight HTML source to a constant 2023-11-24 08:37:19 +01:00
SourceHighlighter.h LibWebView: Implement a WebView-based Inspector client 2023-11-24 08:37:19 +01:00
URL.cpp LibFileSystem+Userland: Return ByteString from real_path() 2024-01-16 08:42:34 +00:00
URL.h LibWebView: Add some helpers for "Copy email/telephone" functionality 2023-12-05 11:36:22 -05:00
UserAgent.cpp Browser+Ladybird: Let the list of user agent strings be shared 2023-09-13 19:33:07 -04:00
UserAgent.h Browser+Ladybird: Let the list of user agent strings be shared 2023-09-13 19:33:07 -04:00
ViewImplementation.cpp LibWeb+LibWebView: Migrate Browser's input event handling to LibWebView 2024-03-06 07:46:18 +01:00
ViewImplementation.h LibWeb+LibWebView: Migrate Browser's input event handling to LibWebView 2024-03-06 07:46:18 +01:00
WebContentClient.cpp LibWeb+LibWebView: Migrate Browser's input event handling to LibWebView 2024-03-06 07:46:18 +01:00
WebContentClient.h LibWeb+LibWebView+WebContent: Implement more <input type=file> behavior 2024-02-26 14:18:49 +01:00
WebSocketClientAdapter.cpp Everywhere: Use unqualified AK::URL 2024-02-25 08:54:31 +01:00
WebSocketClientAdapter.h Everywhere: Use unqualified AK::URL 2024-02-25 08:54:31 +01:00