[webkit-changes] [WebKit/WebKit] 6a9b49: Fix html/browsers/browsing-the-web/navigating-acro...

Alex Christensen noreply at github.com
Thu Jan 25 12:42:39 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6a9b49bfd3e696f05eb9a30b95522dc22919a64a
      https://github.com/WebKit/WebKit/commit/6a9b49bfd3e696f05eb9a30b95522dc22919a64a
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2024-01-25 (Thu, 25 Jan 2024)

  Changed paths:
    M LayoutTests/platform/mac-site-isolation/TestExpectations
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/page/Location.cpp
    M Source/WebCore/page/RemoteDOMWindow.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp

  Log Message:
  -----------
  Fix html/browsers/browsing-the-web/navigating-across-documents/child-navigates-parent-cross-origin.window.html wpt test with site isolation on
https://bugs.webkit.org/show_bug.cgi?id=268093
rdar://121608952

Reviewed by Charlie Wolfe.

Two things were needed to get this test passing.

1. The test removed iframes from the DOM around when they had attempted navigations
in other processes, and then we received IPC about a frame that didn't exist any more.
This is fine.  I removed the assertions.  If the frame is gone there's nothing to do.

2. The test verified that Document::canNavigate checks were in place.  I needed to
make that function take a Frame instead of a LocalFrame and everything tested in that
wpt test passed.

* LayoutTests/platform/mac-site-isolation/TestExpectations:
* Source/WebCore/dom/Document.cpp:
(WebCore::canAccessAncestor):
(WebCore::printNavigationErrorMessage):
(WebCore::Document::canNavigate):
(WebCore::Document::canNavigateInternal):
(WebCore::Document::isNavigationBlockedByThirdPartyIFrameRedirectBlocking):
* Source/WebCore/dom/Document.h:
* Source/WebCore/page/Location.cpp:
(WebCore::Location::replace):
(WebCore::Location::setLocation):
* Source/WebCore/page/RemoteDOMWindow.cpp:
(WebCore::RemoteDOMWindow::setLocation):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoadInAnotherProcess):
(WebKit::WebPage::didFinishLoadInAnotherProcess):

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




More information about the webkit-changes mailing list