[webkit-changes] [WebKit/WebKit] 7068fc: Allow named frame navigation in RemoteFrames

Alex Christensen noreply at github.com
Wed Nov 15 14:57:11 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7068fc99c675daf54db63700834f113d13dcafbd
      https://github.com/WebKit/WebKit/commit/7068fc99c675daf54db63700834f113d13dcafbd
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2023-11-15 (Wed, 15 Nov 2023)

  Changed paths:
    M LayoutTests/http/tests/site-isolation/window-open-with-name-expected.txt
    M LayoutTests/http/tests/site-isolation/window-open-with-name.html
    M Source/WebCore/html/HTMLFormElement.cpp
    M Source/WebCore/inspector/InspectorFrontendClientLocal.cpp
    M Source/WebCore/loader/FrameLoader.cpp
    M Source/WebCore/loader/FrameLoader.h
    M Source/WebCore/page/Frame.h
    M Source/WebCore/page/LocalDOMWindow.cpp
    M Source/WebCore/page/LocalFrame.cpp
    M Source/WebCore/page/LocalFrame.h
    M Source/WebCore/page/RemoteFrame.h

  Log Message:
  -----------
  Allow named frame navigation in RemoteFrames
https://bugs.webkit.org/show_bug.cgi?id=264846
rdar://118363128

Reviewed by Pascoe.

A few places where we made it only work with LocalFrames can be generalized
to work with any type of Frame.  Doing so a little more makes an existing test
start working like it did before site isolation.  We already have a large
task to audit all uses of dynamicDowncast<LocalFrame>, so the parts of this PR
that might not work correctly with site isolation yet will at some point.

No changes affect behavior with site isolation not enabled, and no changes cause
nullptr crashes with site isolation enabled.

* LayoutTests/http/tests/site-isolation/window-open-with-name-expected.txt:
* LayoutTests/http/tests/site-isolation/window-open-with-name.html:
* Source/WebCore/html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submitIfPossible):
* Source/WebCore/inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::openURLExternally):
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::detachFromAllOpenedFrames):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::findFrameForNavigation):
(WebCore::createWindow):
* Source/WebCore/loader/FrameLoader.h:
* Source/WebCore/page/Frame.h:
* Source/WebCore/page/LocalDOMWindow.cpp:
(WebCore::LocalDOMWindow::opener const):
(WebCore::LocalDOMWindow::createWindow):
* Source/WebCore/page/LocalFrame.cpp:
(WebCore::LocalFrame::setOpener):
* Source/WebCore/page/LocalFrame.h:
* Source/WebCore/page/RemoteFrame.h:

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




More information about the webkit-changes mailing list