ladybird/Libraries/LibWebView
Timothy Flynn 5810c8073e LibWeb+LibWebView+WebContent: Begin implementing simple site islotation
Site isolation is a common technique to reduce the chance that malicious
sites can access data from other sites. When the user navigates, we now
check if the target site is the same as the current site. If not, we
instruct the UI to perform the navigation in a new WebContent process.

The phrase "site" here is defined as the public suffix of the URL plus
one level. This means that navigating from "www.example.com" to
"sub.example.com" remains in the same process.

There's plenty of room for optimization around this. For example, we can
create a spare WebContent process ahead of time to hot-swap the target
site. We can also create a policy to keep the navigated-from process
around, in case the user quickly navigates back.
2025-03-11 12:10:42 +01:00
..
EventLoop LibCore: Remove unused methods from EventLoop 2025-01-30 15:34:02 -07:00
Plugins LibWeb+LibWebView: Allow to specify default font size in FontPlugin 2025-01-02 10:47:21 +01:00
Application.cpp LibDevTools+LibWebView: Take advantage of IPC encoding improvements 2025-03-09 11:14:20 -04:00
Application.h LibDevTools+LibWebView: Take advantage of IPC encoding improvements 2025-03-09 11:14:20 -04:00
Attribute.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Attribute.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ChromeProcess.cpp LibIPC+Everywhere: Always pass ownership of transferred data to clients 2025-03-09 11:14:20 -04:00
ChromeProcess.h LibIPC+Everywhere: Always pass ownership of transferred data to clients 2025-03-09 11:14:20 -04:00
CMakeLists.txt LibWeb+LibWebView+WebContent: Begin implementing simple site islotation 2025-03-11 12:10:42 +01:00
ConsoleOutput.cpp LibWebView+WebContent: Implement basic DevTools console support 2025-03-04 15:33:39 -05:00
ConsoleOutput.h LibWebView+WebContent: Implement basic DevTools console support 2025-03-04 15:33:39 -05:00
CookieJar.cpp LibWebView: Consider wss a secure scheme for Secure cookies 2025-01-21 21:36:05 +01:00
CookieJar.h LibWebView: Add method to remove all cookies globally 2025-01-05 13:58:27 +00:00
Database.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Database.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Forward.h LibWeb+LibWebView+WebContent: Inform the UI about DOM mutations 2025-03-08 01:25:55 +01:00
HelperProcess.cpp LibWebView+WebContent: Create a different console client for DevTools 2025-02-28 13:08:33 +01:00
HelperProcess.h LibWebView+UI: Acquire the paths to helper processes inside LibWebView 2024-11-14 11:47:32 +01:00
InspectorClient.cpp LibWebView: Handle missing URL for view source 2025-03-04 16:24:19 -05:00
InspectorClient.h LibWebView: Rename a couple of console-related callbacks for clarity 2025-03-04 15:33:39 -05:00
MachPortServer.cpp LibWebView+Services+UI: Move process helpers to LibWebView 2024-11-11 07:35:43 -05:00
MachPortServer.h LibWebView+Services+UI: Move process helpers to LibWebView 2024-11-11 07:35:43 -05:00
Mutation.cpp LibWeb+LibWebView+WebContent: Inform the UI about DOM mutations 2025-03-08 01:25:55 +01:00
Mutation.h LibWeb+LibWebView+WebContent: Inform the UI about DOM mutations 2025-03-08 01:25:55 +01:00
Native.css Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Options.h LibWebView: Integrate the DevTools server into the WebView application 2025-02-19 08:45:51 -05:00
PageInfo.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Process.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Process.h AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05: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 LibWeb/CSS: Implement the color-scheme CSS property 2025-01-08 11:18:13 +00:00
ProcessManager.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ProcessType.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SearchEngine.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SearchEngine.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SiteIsolation.cpp LibWeb+LibWebView+WebContent: Begin implementing simple site islotation 2025-03-11 12:10:42 +01:00
SiteIsolation.h LibWeb+LibWebView+WebContent: Begin implementing simple site islotation 2025-03-11 12:10:42 +01:00
SourceHighlighter.cpp LibWebView: Handle missing URL for view source 2025-03-04 16:24:19 -05:00
SourceHighlighter.h LibWebView: Handle missing URL for view source 2025-03-04 16:24:19 -05: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 Everywhere: Remove some use of the URL constructors 2025-02-19 08:01:35 -05:00
URL.h LibURL+LibWebView: Move public suffix data to LibURL 2024-11-30 12:07:39 +01:00
UserAgent.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
UserAgent.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Utilities.cpp LibWebView+Services+UI: Move process helpers to LibWebView 2024-11-11 07:35:43 -05:00
Utilities.h LibWebView+Services+UI: Move process helpers to LibWebView 2024-11-11 07:35:43 -05:00
ViewImplementation.cpp LibWeb+LibWebView+WebContent: Begin implementing simple site islotation 2025-03-11 12:10:42 +01:00
ViewImplementation.h LibWeb+LibWebView+WebContent: Begin implementing simple site islotation 2025-03-11 12:10:42 +01:00
WebContentClient.cpp LibWeb+LibWebView+WebContent: Begin implementing simple site islotation 2025-03-11 12:10:42 +01:00
WebContentClient.h LibWeb+LibWebView+WebContent: Begin implementing simple site islotation 2025-03-11 12:10:42 +01:00