1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-16 09:01:00 +00:00
serenity/Userland/Services
Timothy Flynn 8b32f4ae7a LibWebView+WebContent: Let the WebView client broadcast when it painted
When the WebContent process has painted to its shared bitmaps, it sends
a synchronous IPC to the browser process to let the chrome paint. It is
synchronous to ensure the WC process doesn't paint onto the backing
bitmap again while it is being displayed.

However, this can cause a crash at exit if the browser process quits
while the WC process is waiting for a response to this IPC.

This patch makes the painting logic asynchronous by letting the browser
process broadcast when it has finished handling the paint IPC. The WC
process will not paint anything again until it receives that message. If
it had tried to repaint while waiting for that message, that paint will
be deferred until it arrives.
2024-01-08 00:51:59 +01:00
..
AudioServer AudioServer: Clean up ClientAudioStream APIs 2023-08-12 12:22:16 -06:00
ChessEngine AK: Make "foo"_string infallible 2023-08-07 16:03:27 +02:00
Clipboard Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
ConfigServer Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
CrashDaemon Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
DeviceMapper Everywhere: Avoid calling from_utf8 on FlyString or String 2023-12-10 09:45:03 +01:00
DHCPClient Kernel: Properly support the SO_BROADCAST socket option 2023-12-24 22:22:58 +01:00
EchoServer Everywhere: Remove unintentional partial stream reads and writes 2023-03-13 15:16:20 +00:00
FileOperation Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
FileSystemAccessServer Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
ImageDecoder ImageDecoder: Add plumbing to allow a client to request an ideal size 2024-01-07 20:10:22 +01:00
KeyboardPreferenceLoader KeyboardPreferenceLoader: Remove usage of DeprecatedFile 2023-04-27 07:29:49 +02:00
LaunchServer Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
LoginServer Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LookupServer Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
NetworkServer Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
NotificationServer NotificationServer: Make notifications not overlap when they appear 2023-11-05 09:06:33 +01:00
RequestServer RequestServer: Make pre-connection job refcounted 2024-01-05 04:03:32 +03:30
SpiceAgent Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
SQLServer Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
SystemServer Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Taskbar Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
TelnetServer Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
WebContent LibWebView+WebContent: Let the WebView client broadcast when it painted 2024-01-08 00:51:59 +01:00
WebDriver Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
WebServer Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
WebSocket Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
WebWorker LibWeb+WebWorker: Convert Workers to use MessagePorts for postMessage 2023-12-25 12:09:11 +01:00
WindowServer Userland: Actually use the correct character map index from KeyEvent 2023-12-29 16:40:59 +01:00
CMakeLists.txt LibWeb+WebWorker: Move worker execution into a new WebWorker process 2023-11-15 12:56:33 +01:00