ladybird/Userland/Libraries/LibWebView
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
..
Attribute.cpp LibWebView+WebContent: Add APIs to manipulate DOM nodes 2023-12-04 01:33:57 +01:00
Attribute.h LibWebView+WebContent: Add APIs to manipulate DOM nodes 2023-12-04 01:33:57 +01:00
CMakeLists.txt LibWebView: Use Unicode::parse_unicode_url for parsing URLs 2023-12-10 08:04:58 -05:00
CookieJar.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
CookieJar.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Database.cpp Ladybird+LibWebView: Move creation of the SQL client to LibWebView 2023-08-31 19:19:45 +02:00
Database.h Ladybird+LibWebView: Move creation of the SQL client to LibWebView 2023-08-31 19:19:45 +02:00
Forward.h LibWebView+WebContent: Add APIs to manipulate DOM nodes 2023-12-04 01:33:57 +01:00
History.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
History.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
InspectorClient.cpp Ladybird+LibWebView: Cleanup missing callbacks in InspectorClient 2024-01-01 16:04:29 -05:00
InspectorClient.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Native.css LibWebView: Add a standard "look like the OS" style sheet 2023-08-25 20:30:20 +01:00
OutOfProcessWebView.cpp LibWebView+WebContent: Drive repainting from WebContent process 2023-12-22 17:47:34 +01:00
OutOfProcessWebView.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
RequestServerAdapter.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
RequestServerAdapter.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
SearchEngine.cpp LibWebView: Add an API to format a search query for UI display 2023-10-24 07:28:30 +02:00
SearchEngine.h LibWebView: Add an API to format a search query for UI display 2023-10-24 07:28:30 +02:00
SourceHighlighter.cpp LibWebView: Extract CSS to highlight HTML source to a constant 2023-11-24 08:37:19 +01:00
SourceHighlighter.h LibWebView: Implement a WebView-based Inspector client 2023-11-24 08:37:19 +01:00
URL.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
URL.h LibWebView: Add some helpers for "Copy email/telephone" functionality 2023-12-05 11:36:22 -05:00
UserAgent.cpp Browser+Ladybird: Let the list of user agent strings be shared 2023-09-13 19:33:07 -04:00
UserAgent.h Browser+Ladybird: Let the list of user agent strings be shared 2023-09-13 19:33:07 -04:00
ViewImplementation.cpp LibWebView+WebContent: Let the WebView client broadcast when it painted 2024-01-08 00:51:59 +01:00
ViewImplementation.h LibWeb: Allow input color to give continuous updates 2024-01-06 10:02:15 -07:00
WebContentClient.cpp Ladybird+LibWebView+WebContent: Make the screenshot IPCs async 2024-01-01 10:11:45 +01:00
WebContentClient.h Ladybird+LibWebView+WebContent: Make the screenshot IPCs async 2024-01-01 10:11:45 +01:00
WebSocketClientAdapter.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
WebSocketClientAdapter.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30