ladybird/Libraries/LibWebView
Andreas Kling 65306b6d4e LibWebView: Ignore late compositor IPC after client teardown
CompositorConnectionToServer kept a raw reference to its client. Queued
compositor IPC can outlive that client, so a late did_paint or
backing-store notification could dereference freed memory while looking
up the target page.

Keep a weak pointer to the client instead. Drop compositor notifications
that arrive after the client has gone away. The Linux arm64 sanitizer
job caught this as a heap-use-after-free in view_for_page_id().
2026-05-13 13:32:49 +02:00
..
Plugins LibWeb: Flatten Platform::FontPlugin by merging WebView::FontPlugin 2026-02-28 15:32:14 +01:00
WebUI LibWebView: Add bookmark import/export to about:bookmarks 2026-04-22 08:02:15 -04:00
Application.cpp LibWebView: Track recently closed tabs and windows 2026-05-13 11:03:41 +01:00
Application.h LibWebView: Track recently closed tabs and windows 2026-05-13 11:03:41 +01:00
Attribute.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Attribute.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
Autocomplete.cpp LibWeb+RequestServer: Send cached bytecode with responses 2026-05-06 08:20:06 +02:00
Autocomplete.h LibWebView: Add a "Search with <engine>" autocomplete row 2026-04-16 21:01:28 +02:00
BookmarkStore.cpp LibWebView: Add bookmark import/export to about:bookmarks 2026-04-22 08:02:15 -04:00
BookmarkStore.h LibWebView: Add bookmark import/export to about:bookmarks 2026-04-22 08:02:15 -04:00
BrowserProcess.cpp LibWebView: Remove new tab page URL from sanitize_urls API 2026-04-24 20:17:23 +02:00
BrowserProcess.h Everywhere: Remove dynamic Mach bootstrap registration on macOS 2026-03-23 18:50:48 +01:00
CMakeLists.txt LibWeb: Present frames through Compositor IPC 2026-05-12 20:57:08 +02:00
ConsoleOutput.cpp LibJS: Add source locations to console.trace() 2026-02-06 11:58:07 +00:00
ConsoleOutput.h LibJS: Add source locations to console.trace() 2026-02-06 11:58:07 +00:00
CookieJar.cpp LibHTTP+Everywhere: Move the cookie implementation to LibHTTP 2026-02-10 12:21:20 +01:00
CookieJar.h LibHTTP+Everywhere: Move the cookie implementation to LibHTTP 2026-02-10 12:21:20 +01:00
DOMNodeProperties.cpp LibDevTools+LibWebView+WebContent: Selectively fetch DOM node properties 2025-03-20 09:01:26 +01:00
DOMNodeProperties.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
ErrorHTML.h LibWebView+UI: Show an error page when we cannot sanitize a URL 2026-04-24 20:17:23 +02:00
FileDownloader.cpp LibWeb+RequestServer: Send cached bytecode with responses 2026-05-06 08:20:06 +02:00
FileDownloader.h LibWebView+UI: Add a context menu item to download images 2026-02-05 07:27:34 -05:00
Forward.h LibWebView: Add a SQL history store 2026-04-16 21:01:28 +02:00
HeadlessWebView.cpp Everywhere: Add an is_fullscreen parameter to set_viewport 2026-03-17 18:58:37 -05:00
HeadlessWebView.h test-web: Reset viewport size after each test 2026-02-23 18:44:26 +00:00
HelperProcess.cpp LibWeb: Scroll the viewport on the compositor thread 2026-05-12 20:57:08 +02:00
HelperProcess.h LibWeb+LibWebView+WebContent: Send service sockets over IPC channel 2026-03-12 20:32:55 +01:00
HistoryDebug.h LibWebView: Add history-backed location autocomplete 2026-04-16 21:01:28 +02:00
HistoryStore.cpp LibWebView: Track recently closed tabs and windows 2026-05-13 11:03:41 +01:00
HistoryStore.h LibWebView: Track recently closed tabs and windows 2026-05-13 11:03:41 +01:00
Menu.cpp LibWebView: Add an engaged state to application menu actions 2026-03-24 12:04:50 -04:00
Menu.h UI+LibWebView: Implement "Open Link in New Window" 2026-05-13 05:00:50 -05:00
Mutation.cpp LibWeb+LibWebView+WebContent: Inform the UI about DOM mutations 2025-03-08 01:25:55 +01:00
Mutation.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
Native.css Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Options.h LibWeb: Add compositor scroll state snapshots 2026-05-12 20:57:08 +02:00
PageInfo.h test-web: Dump stacking context tree in layout test output 2025-07-09 14:36:08 +02:00
Process.cpp LibThreading/LibSync: Split out sync primitives 2026-05-08 18:58:35 -05:00
Process.h test-web: Add results directory and live terminal display 2026-01-13 21:05:58 +01:00
ProcessHandle.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ProcessHandle.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ProcessManager.cpp WebContent: Exit cleanly when browser IPC disconnects 2026-05-12 20:57:08 +02:00
ProcessManager.h WebContent: Exit cleanly when browser IPC disconnects 2026-05-12 20:57:08 +02:00
ProcessMonitor.cpp WebContent: Exit cleanly when browser IPC disconnects 2026-05-12 20:57:08 +02:00
ProcessMonitor.h WebContent: Exit cleanly when browser IPC disconnects 2026-05-12 20:57:08 +02:00
ProcessType.h LibWebView: Rename the Chrome process type to Browser 2025-03-15 19:57:27 -04:00
SearchEngine.cpp LibWebView: Support custom search engines 2025-04-06 13:45:10 +02:00
SearchEngine.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
Settings.cpp LibWebView: Persist and restore zoom level per host 2026-05-05 13:53:59 +02:00
Settings.h LibWebView: Persist and restore zoom level per host 2026-05-05 13:53:59 +02:00
SiteIsolation.cpp LibWebView: Keep javascript URL navigations in the same process 2025-03-16 10:59:41 -04:00
SiteIsolation.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
SourceHighlighter.cpp LibJS: Remove C++ lexer, use Rust tokenizer for syntax highlighting 2026-03-19 21:55:10 -05:00
SourceHighlighter.h Everywhere: Slap some [[clang::lifetimebound]] where appropriate 2025-09-01 11:11:38 +02:00
StorageJar.cpp LibWeb: Fix storage set broadcast event never broadcasting old value 2026-01-21 22:27:59 +01:00
StorageJar.h LibWeb: Fix storage set broadcast event never broadcasting old value 2026-01-21 22:27:59 +01:00
StorageSetResult.h LibWeb: Fix storage set broadcast event never broadcasting old value 2026-01-21 22:27:59 +01:00
UIProcessClient.ipc Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
UIProcessServer.ipc Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
URL.cpp LibWebView: Remove new tab page URL from sanitize_urls API 2026-04-24 20:17:23 +02:00
URL.h LibWebView: Remove new tab page URL from sanitize_urls API 2026-04-24 20:17:23 +02:00
UserAgent.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
UserAgent.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
Utilities.cpp LibWebView: Move helpers to parse/write JSON files to Utilities.h 2026-03-24 12:04:50 -04:00
Utilities.h LibWebView: Move helpers to parse/write JSON files to Utilities.h 2026-03-24 12:04:50 -04:00
ViewImplementation.cpp LibWeb: Handle viewport scrollbar drags in the compositor 2026-05-13 13:15:45 +02:00
ViewImplementation.h UI+LibWebView: Implement "Open Link in New Window" 2026-05-13 05:00:50 -05:00
WebContentClient.cpp LibWebView: Ignore late compositor IPC after client teardown 2026-05-13 13:32:49 +02:00
WebContentClient.h LibWeb: Handle viewport scrollbar drags in the compositor 2026-05-13 13:15:45 +02:00
WebUI.cpp LibURL+LibWeb+LibWebView: Convert about:version to a proper WebUI 2026-04-21 06:59:11 -04:00
WebUI.h LibWebView: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00