1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 07:07:45 +00:00
serenity/Userland/Libraries
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
..
LibAccelGfx LibWeb: Implement border radius corner clipping in GPU painter 2023-12-17 23:12:48 +01:00
LibArchive Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
LibAudio Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibC LibC: Implement getgrgid_r() and getgrnam_r() 2024-01-06 04:59:50 -07:00
LibCards Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibChess Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
LibCMake LibSyntax+Userland: Make LibSyntax not depend on LibGUI 2023-08-29 07:57:39 -04:00
LibCodeComprehension Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibCompress LibCompress/Brotli: Update the lookback buffer with uncompressed data 2024-01-03 17:54:36 +01:00
LibConfig Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibCore LibCore: Log a message before failure in EventLoop::current() 2024-01-07 20:10:22 +01:00
LibCoredump Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibCpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibCrypt Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibCrypto LibCrypto: Avoid branching in galois_multiply() 2024-01-03 14:59:59 +01:00
LibDebug Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibDesktop Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibDeviceTree Everywhere: Remove unused DeprecatedString includes 2023-04-09 22:00:54 +02:00
LibDiff Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
LibDNS Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibDSP Userland: Prefer _string over _short_string 2023-08-08 07:37:21 +02:00
LibEDID Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibELF Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibFileSystem Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibFileSystemAccessClient Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibGemini Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
LibGfx LibGfx/TIFF: Modify the image according to the Orientation tag 2024-01-08 00:07:44 +01:00
LibGL LibGL: Optimize appends in gl_vertex 2023-10-15 12:14:07 +02:00
LibGLSL LibGLSL: Add tests for GLSL parser 2023-08-18 15:29:48 +02:00
LibGPU Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibGUI LibGUI: Render thumbnails out of process 2024-01-07 20:10:22 +01:00
LibHTTP LibHTTP: Tolerate random whitespace in chunked encoding size field 2023-12-31 15:36:47 +01:00
LibIDL Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibImageDecoderClient ImageDecoder: Add plumbing to allow a client to request an ideal size 2024-01-07 20:10:22 +01:00
LibIMAP Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
LibIPC LibIPC: Avoid redundant copy of every tranferred IPC message 2024-01-03 10:17:00 +01:00
LibJIT LibJIT: Integrate GDB JIT Interface with ELF builders 2023-12-07 15:34:38 -07:00
LibJS LibJS: Implement the GetSubstitution AO according to the spec 2024-01-04 12:43:10 +01:00
LibKeyboard Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibLine LibLine: Implement basic cut-and-paste functionality 2024-01-06 13:28:17 +03:30
LibLocale LibLocale: Remove compact currency patterns 2023-09-04 18:22:28 +02:00
LibMain Everywhere: Explicitly link all binaries against the LibC target 2022-11-01 14:49:09 +00:00
LibManual Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
LibMarkdown Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
LibPartition Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
LibPCIDB Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibPDF LibPDF: Use mix() in SampledFunction::evaluate() 2024-01-04 21:12:23 +01:00
LibProtocol Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibRegex LibRegex: Error out on Eof when parsing nonempty class range elements 2023-12-31 15:36:42 +01:00
LibSanitizer LibSanitizer: Add _abort variants of UBSan handlers 2023-08-13 05:14:07 +02:00
LibSoftGPU LibSoftGPU: Optimize GPU::Vertex lists 2023-10-15 12:14:07 +02:00
LibSQL Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
LibSymbolication Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
LibSyntax Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibSystem Everywhere: Resolve conflicts with LibC and libc++ 2023-06-27 12:40:38 +02:00
LibTest Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibTextCodec LibTextCodec+AK: Don't validate UTF-8 strings twice 2023-12-30 13:49:50 +01:00
LibThreading Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibTimeZone Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibTLS LibTLS: Notify the client for app data as soon as some data is available 2024-01-03 14:59:59 +01:00
LibUnicode Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibUSBDB Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibVideo Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibVirtGPU LibGL+Lib*GPU: Set model view and projection matrices separately 2023-10-15 12:14:07 +02:00
LibVT Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
LibWasm Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
LibWeb LibWeb: Take padding into account when resolving border radii 2024-01-07 19:28:38 +01:00
LibWebSocket Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibWebView LibWebView+WebContent: Let the WebView client broadcast when it painted 2024-01-08 00:51:59 +01:00
LibX86 Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LibXML Everywhere: Use to_number<T> instead of to_{int,uint,float,double} 2023-12-23 20:41:07 +01:00
CMakeLists.txt LibAccelGfx+Meta: Introduce OpenGL painting library 2023-10-29 17:13:23 +01:00