1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-09 17:44:56 +09:00
ladybird/Userland/Libraries/LibWeb
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
..
Animations LibWeb: Do not invalidate elements with animations in the CSS cascade 2024-03-02 19:58:12 +01:00
ARIA LibWeb: Return correct RoleType for composite ARIA role 2024-01-27 14:52:41 -05:00
Bindings LibWeb: Implement and use the fetch a module worker script graph AO 2024-03-06 07:19:10 +01:00
Clipboard LibWeb: Format all .idl files to use four space indentation 2024-01-18 14:00:06 +01:00
Cookie LibWeb: Fail to parse cookie date when date does not exist 2024-01-07 08:01:58 -05:00
Crypto LibWeb: Make SubtleCrypto use the correct algorithm name for SHA-1 2024-03-03 08:41:32 +01:00
CSS LibWeb: Don't render elements with invalid interpolated transform values 2024-03-06 07:45:56 +01:00
DOM LibWeb: Remove unnecessary ErrorOr<> from StyleComputer 2024-03-06 07:45:56 +01:00
DOMParsing LibWeb: Add ad-hoc method for serializing CDATASection nodes to string 2024-02-19 10:42:56 +01:00
DOMURL Everywhere: Use unqualified AK::URL 2024-02-25 08:54:31 +01:00
Encoding LibWeb: Use WebIDL types where possible instead of C types 2024-02-26 19:26:13 +00:00
Fetch LibWeb: Consistently use the EmptyString state of ReferrerPolicy 2024-03-06 07:19:10 +01:00
FileAPI LibWeb: Move serialization of serializable object's interface name 2024-03-02 17:04:09 -07:00
Geometry LibWeb: Ensure DOMRect top, bottom, left and right handle NaN correctly 2024-02-21 19:38:17 +01:00
HighResolutionTime LibWeb: Allow performance timestamps to have sub-millisecond precision 2024-02-26 16:12:20 -07:00
HTML LibWeb: Implement and use the fetch a module worker script graph AO 2024-03-06 07:19:10 +01:00
Infra LibWeb: Don't crash on FormData.append() with emoji in name 2023-12-04 00:04:04 +01:00
Internals Revert "LibWeb: Allow bypassing transient activation checks for tests" 2024-02-25 12:35:49 -05:00
IntersectionObserver LibWeb: Implement IntersectionObserver "intersection roots" per spec 2024-02-24 19:56:08 +01:00
Layout LibWeb: Remove unnecessary ErrorOr<> from StyleComputer 2024-03-06 07:45:56 +01:00
Loader AK+Lagom: Make it possible to build for iOS 2024-03-03 13:13:42 -07:00
MathML LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
MimeSniff LibWeb/MimeSniff: Add non-standard text or binary context sniffing 2024-02-02 14:34:17 -05:00
NavigationTiming LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
Page LibWeb+LibWebView: Migrate Browser's input event handling to LibWebView 2024-03-06 07:46:18 +01:00
Painting LibWeb: Always check paintable boxes children during hit-testing 2024-03-05 15:43:17 +01:00
PerformanceTimeline LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
PermissionsPolicy Everywhere: Use unqualified AK::URL 2024-02-25 08:54:31 +01:00
Platform Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
ReferrerPolicy LibWeb: Consistently use the EmptyString state of ReferrerPolicy 2024-03-06 07:19:10 +01:00
RequestIdleCallback LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
ResizeObserver LibWeb: Implement ResizeObserver::disconnect() 2024-02-20 10:55:10 +01:00
SecureContexts Everywhere: Use unqualified AK::URL 2024-02-25 08:54:31 +01:00
Selection LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
SRI
Streams LibWeb: Use TypedArray as a forward-declaration where appropriate 2024-02-27 20:02:07 +01:00
SVG LibWeb: Update SVG <circle> element to use geometry properties 2024-03-04 10:50:32 +01:00
UIEvents LibWeb: Use WebIDL types where possible instead of C types 2024-02-26 19:26:13 +00:00
UserTiming LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
WebAssembly LibJS+LibWeb: Implement resizable ArrayBuffer support for TypedArray 2023-12-26 11:16:10 +01:00
WebAudio LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
WebDriver LibWeb: Set size of canvas used to take WebDriver screenshots explicitly 2024-02-21 10:10:44 +01:00
WebGL Everywhere: Prefer {:#x} over 0x{:x} in format strings 2024-02-21 17:54:38 +01:00
WebIDL LibWeb: Store Promise::wait_for_all state in a JS-heap allocated object 2024-01-19 11:47:59 +01:00
WebSockets Everywhere: Use unqualified AK::URL 2024-02-25 08:54:31 +01:00
Worker LibWeb: Serialize and pass to the WebWorker the current ESO 2024-03-06 07:19:10 +01:00
XHR Everywhere: Use unqualified AK::URL 2024-02-25 08:54:31 +01:00
XLink LibWeb: Add Web::XLink::AttributeNames 2023-11-05 11:16:16 +00:00
XML LibWeb: Make the default XML namespace an empty Optional 2024-02-19 10:42:56 +01:00
CMakeLists.txt LibWeb: Serialize and pass to the WebWorker the current ESO 2024-03-06 07:19:10 +01:00
Dump.cpp Everywhere: Use unqualified AK::URL 2024-02-25 08:54:31 +01:00
Dump.h
Forward.h LibWeb+LibWebView+WebContent: Implement more <input type=file> behavior 2024-02-26 14:18:49 +01:00
idl_files.cmake LibWeb: Rename URL platform object to DOMURL 2024-02-25 08:54:31 +01:00
Namespace.cpp LibWeb: Make Web::Namespace::Foo strings be FlyString 2023-11-04 21:28:30 +01:00
Namespace.h LibWeb: Make Web::Namespace::Foo strings be FlyString 2023-11-04 21:28:30 +01:00
PixelUnits.cpp LibWeb: Refactor int types in WebContentServer to DevicePixels 2023-12-15 17:01:16 +01:00
PixelUnits.h LibWeb: Properly round CSSPixels values in device_to_css_rect 2024-02-21 20:08:25 +01:00
TreeNode.h