1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 12:28:12 +00:00
serenity/Userland/Libraries
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
..
LibArchive LibArchive: Do not assert if the provided stream cannot be discarded 2022-11-23 11:19:16 +01:00
LibAudio SoundPlayer: Load cover image from music files 2022-11-13 18:51:18 -07:00
LibC LibC: Implement getgrent_r 2022-11-25 23:13:16 +01:00
LibCards Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibChess Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibCodeComprehension Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibCompress Everywhere: Add support for compilation under emscripten 2022-11-26 02:23:15 +03:30
LibConfig Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibCore Everywhere: Add support for compilation under emscripten 2022-11-26 02:23:15 +03:30
LibCoredump Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibCpp Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibCrypt LibCrypt: Clean up crypt_r 2022-11-24 10:52:10 +00:00
LibCrypto AK+LibC+LibCrypto: Move FloatExtractor to AK/FloatingPoint.h 2022-11-03 20:17:09 -06:00
LibDebug Everywhere: Remove redundant inequality comparison operators 2022-11-06 10:25:08 -07:00
LibDesktop Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibDeviceTree Everywhere: Remove redundant inequality comparison operators 2022-11-06 10:25:08 -07:00
LibDiff Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibDNS Userland: Properly define IPC::encode and IPC::decode specializations 2022-11-15 13:25:51 -05:00
LibDSP Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibEDID Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibELF LibELF: Drop the "resolve and map" all-in-one 2022-10-31 19:23:02 +00:00
LibFileSystemAccessClient Userland: Remove workarounds for LibIPC include order sensitivity 2022-11-15 13:25:51 -05:00
LibGemini Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibGfx LibGfx: Add Size::match_aspect_ratio 2022-11-25 14:28:33 -07:00
LibGL Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibGPU Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibGUI LibGUI: Disallow shortcut propagation in Blocking modals and Popups 2022-11-19 16:04:42 +01:00
LibHTTP LibHTTP: Always send Content-Length header in POST requests 2022-11-07 14:10:41 +01:00
LibIDL Everywhere: Remove unnecessary mutable attributes from lambdas 2022-11-19 14:37:31 +00:00
LibImageDecoderClient Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibIMAP Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibIPC LibIPC: Handle ECONNRESET when reading from the IPC socket 2022-11-24 14:37:13 +01:00
LibJS LibJS+js: Move the value print implementation to LibJS 2022-11-26 02:23:15 +03:30
LibKeyboard Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibLine LibVT/LibLine: Delete words when pressing Ctrl+Backspace in Terminal 2022-11-20 03:57:17 +03:30
LibLocale Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibMain Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibMarkdown Everywhere: Clean up "the the" comment typos 2022-11-03 17:38:32 +00:00
LibPartition Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibPCIDB Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibPDF LibPDF: Introduce rendering preferences and show clipping paths 2022-11-25 23:03:24 +01:00
LibProtocol Userland: Remove workarounds for LibIPC include order sensitivity 2022-11-15 13:25:51 -05:00
LibRegex LibRegex: Use spans<4> to avoid allocating small vectors 2022-11-17 20:13:04 +03:30
LibSanitizer LibC: Properly implement stack protectors 2022-11-01 14:49:09 +00:00
LibSoftGPU Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibSQL Everywhere: Remove redundant inequality comparison operators 2022-11-06 10:25:08 -07:00
LibSymbolication Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
LibSyntax Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibSystem Meta+Userland: Add ENABLE_USERSPACE_COVERAGE_COLLECTION CMake option 2022-05-02 01:46:18 +02:00
LibTest Everywhere: Add support for compilation under emscripten 2022-11-26 02:23:15 +03:30
LibTextCodec Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibThreading LibThreading: Add thread priority controls to Thread 2022-11-13 19:42:39 +00:00
LibTimeZone LibTimeZone: Resolve /etc/localtime with realpath(), not readlink() 2022-10-17 22:19:50 +02:00
LibTLS Everywhere: Clean up "the the" comment typos 2022-11-03 17:38:32 +00:00
LibUnicode Meta+LibUnicode: Avoid relocations for static unicode data 2022-11-06 17:34:06 +01:00
LibUSBDB Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibVideo LibVideo: Implement Matroska Cues for faster keyframe lookup 2022-11-25 23:28:39 +01:00
LibVT LibVT/LibLine: Delete words when pressing Ctrl+Backspace in Terminal 2022-11-20 03:57:17 +03:30
LibWasm LibWasm: Avoid parsing if/block/loop instructions recursively 2022-11-26 02:23:15 +03:30
LibWeb LibWeb: Return correct value from EventHandler::fire_keyboard_event() 2022-11-26 00:44:49 +01:00
LibWebSocket LibWebSocket: Buffer incoming frame data until whole frame is available 2022-11-09 02:06:33 +01:00
LibWebView LibWebView+WebContent: Propagate unconsumed input events out of OOPWV 2022-11-26 00:44:49 +01:00
LibX86 Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibXML LibXML+LibWeb: Store the XML document's original source 2022-11-03 14:52:16 +00:00
CMakeLists.txt LibIDL+WrapperGenerator: Move IDL code into a library 2022-09-17 21:27:17 +02:00