[webkit-changes] [WebKit/WebKit] 4b9107: Provisional frames for site isolation should start...

Alex Christensen noreply at github.com
Sat Jan 4 08:11:31 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4b91074f3ff1343a49d2382fa395ae97d12fd677
      https://github.com/WebKit/WebKit/commit/4b91074f3ff1343a49d2382fa395ae97d12fd677
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2025-01-04 (Sat, 04 Jan 2025)

  Changed paths:
    M Source/WebCore/dom/Document.h
    M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm

  Log Message:
  -----------
  Provisional frames for site isolation should start with about:blank as their URL
https://bugs.webkit.org/show_bug.cgi?id=285377

Reviewed by Charlie Wolfe.

This fixes a debug assertion I hit every time when debugging rdar://138937871.
I have WKContentRuleLists installed, and that page loads 2 iframes in the same process
after the first one loads subresources.  I was hitting the assertion in
DFABytecodeInterpreter::interpret because ResourceLoadInfo.frameURL was null.

With site isolation off, the SubframeLoader initializes a document to about:blank
in functions that need a HTMLFrameOwnerElement, but with site isolation on
we make provisional frames with the HTMLFrameOwnerElement in another process.
Explicitly setting the URL to about:blank makes the frame state like it is with
site isolation off.

* Source/WebCore/dom/Document.h:
* Source/WebKit/WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::createProvisionalFrame):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(TestWebKitAPI::TEST(SiteIsolation, ContentRuleListFrameURL)):

Canonical link: https://commits.webkit.org/288437@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list