1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-09 09:34:57 +09:00
ladybird/Userland/Libraries
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
..
LibAccelGfx LibAccelGfx+LibWeb+WebContent: Handle OpenGL Context init errors 2024-01-24 19:43:51 +01:00
LibArchive
LibAudio AK+Lagom: Make it possible to build for iOS 2024-03-03 13:13:42 -07:00
LibC AK+Userland: Introduce ByteString::create_and_overwrite 2024-02-24 15:06:52 -07:00
LibCards
LibChess
LibCMake
LibCodeComprehension
LibCompress AK+Lagom: Make it possible to build for iOS 2024-03-03 13:13:42 -07:00
LibConfig
LibCore LibCore: Recognize .mjs as a common extension for application/javascript 2024-03-06 07:19:10 +01:00
LibCoredump Everywhere: Remove references to UserspaceEmulator 2024-01-29 20:20:55 +00:00
LibCpp
LibCrypt
LibCrypto JSSpecCompiler: Parse arbitrarily large rational numbers in xspec mode 2024-02-24 15:03:08 -07:00
LibDebug Everywhere: Prefer {:#x} over 0x{:x} in format strings 2024-02-21 17:54:38 +01:00
LibDesktop AppFile: Add spawn_with_escalation 2024-02-23 09:47:27 +01:00
LibDeviceTree LibDeviceTree: Add a simple DeviceTree class 2024-02-24 16:43:44 -07:00
LibDiff patch+LibDiff: Add support for applying patches with preprocessor macro 2024-03-03 08:56:00 +01:00
LibDNS Userland: Remove LibCore dependency from libraries that do not use it 2024-01-22 08:48:34 -05:00
LibDSP Everywhere: Prefer VERIFY over assert() 2024-02-05 07:03:53 -05:00
LibEDID
LibELF LibELF: Ignore mapping symbols when symbolicating RISC-V ELFs 2024-02-25 17:33:39 -07:00
LibFileSystem AK+Lagom: Make it possible to build for iOS 2024-03-03 13:13:42 -07:00
LibFileSystemAccessClient LibFileSystemAccessClient+Userland: Return file paths as ByteStrings 2024-01-29 23:14:39 +00:00
LibGemini
LibGfx LibGfx/BMP: Clear alpha in palette entries 2024-03-05 21:27:41 +00:00
LibGL LibGL: Create symlinks for headers and shared library 2024-02-22 03:48:08 +01:00
LibGLSL
LibGPU LibGL+LibGPU+LibSoftGPU: Implement blend equations 2024-02-19 23:23:40 +01:00
LibGUI LibGUI: Define bitwise operations for GUI::MouseButton 2024-03-06 07:46:18 +01:00
LibHTTP LibHTTP: Disable finish repeat timer before deferring job completion 2024-03-02 20:45:35 +03:30
LibIDL LibWeb: Add support for implementing an IDL class with a different name 2024-02-25 08:54:31 +01:00
LibImageDecoderClient ImageViewer: Transform the image's dimension accordingly to the metadata 2024-02-21 08:31:17 +00:00
LibIMAP
LibIPC LibIPC: Add support for encoding and decoding Array<T, N> 2024-03-06 07:19:10 +01:00
LibJIT Userland: Remove LibCore dependency from libraries that do not use it 2024-01-22 08:48:34 -05:00
LibJS LibJS/Bytecode: Don't fuse unrelated compare and jump in peephole pass 2024-03-05 13:39:25 +01:00
LibKeyboard
LibLine LibLine: Ensure suggestions are reset after ^C 2024-02-29 09:09:47 +01:00
LibLocale Userland: Remove LibCore dependency from libraries that do not use it 2024-01-22 08:48:34 -05:00
LibMain
LibManual
LibMarkdown
LibPartition
LibPCIDB
LibPDF PDFViewer: Hide the rendering diagnostics window by default 2024-03-04 10:43:41 +01:00
LibProtocol LibProtocol: Keep reading until an error occurs for buffered reads 2024-03-06 07:19:10 +01:00
LibRegex Userland: Remove LibCore dependency from libraries that do not use it 2024-01-22 08:48:34 -05:00
LibRIFF Userland: Remove LibCore dependency from libraries that do not use it 2024-01-22 08:48:34 -05:00
LibSanitizer
LibSemVer Libraries: Implement SemVer for version parsing and comparisons 2024-02-15 18:23:05 +01:00
LibSoftGPU LibGL+LibGPU+LibSoftGPU: Implement blend equations 2024-02-19 23:23:40 +01:00
LibSQL LibSQL: Use Core::Environment instead of Core::System::*env() 2024-02-27 08:33:48 +00:00
LibSymbolication AK+Everywhere: Remove JsonValue APIs with implicit default values 2024-01-21 15:47:53 -07:00
LibSyntax
LibSystem
LibTest Userland+Tests: Remove unused <AK/Tuple.h> includes 2024-03-01 14:05:53 -07:00
LibTextCodec LibTextCodec+AK: Don't validate UTF-8 strings twice 2023-12-30 13:49:50 +01:00
LibThreading
LibTimeZone
LibTLS LibTLS: Move Strings when creating RelativeDistinguishedNames 2024-03-01 14:05:53 -07:00
LibUnicode Userland: Remove LibCore dependency from libraries that do not use it 2024-01-22 08:48:34 -05:00
LibUSBDB
LibVideo LibVideo: Replace DeprecatedFlyString with FlyString 2024-01-14 15:00:13 -07:00
LibVirtGPU
LibVT LibVT: Ability to generate each of the 32 ASCII control characters 2024-02-11 08:50:51 +01:00
LibWasm Everywhere: Prefer {:#x} over 0x{:x} in format strings 2024-02-21 17:54:38 +01:00
LibWeb LibWeb+LibWebView: Migrate Browser's input event handling to LibWebView 2024-03-06 07:46:18 +01:00
LibWebSocket
LibWebView LibWeb+LibWebView: Migrate Browser's input event handling to LibWebView 2024-03-06 07:46:18 +01:00
LibX86
LibXML AK+LibXML+JSSpecCompiler: Move LineTrackingLexer to AK 2024-02-16 15:26:43 +01:00
CMakeLists.txt Libraries: Implement SemVer for version parsing and comparisons 2024-02-15 18:23:05 +01:00