Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 58b0fdf84a3249ec5964ceb9fddf236f2c99b01c https://github.com/WebKit/WebKit/commit/58b0fdf84a3249ec5964ceb9fddf236f2c99b01c Author: Alex Christensen <achristen...@apple.com> Date: 2024-02-01 (Thu, 01 Feb 2024)
Changed paths: M LayoutTests/platform/mac-site-isolation/TestExpectations M Source/WebCore/page/DOMWindow.cpp M Source/WebCore/page/DOMWindow.h M Source/WebCore/page/FrameDestructionObserver.cpp M Source/WebCore/page/LocalDOMWindow.cpp M Source/WebCore/page/LocalDOMWindow.h M Source/WebCore/page/RemoteDOMWindow.cpp M Source/WebCore/page/RemoteDOMWindow.h M Source/WebCore/page/RemoteFrame.cpp M Source/WebCore/page/RemoteFrameClient.h M Source/WebKit/UIProcess/WebPageProxy.cpp M Source/WebKit/UIProcess/WebPageProxy.h M Source/WebKit/UIProcess/WebPageProxy.messages.in M Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp M Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.h Log Message: ----------- RemoteDOMWindow::close needs same security checks as LocalDOMWindow::close https://bugs.webkit.org/show_bug.cgi?id=268530 rdar://117381050 Reviewed by Charlie Wolfe. I moved the checks to DOMWindow and shared them. I added RemoteDOMWindow::frameDetached so that frame.remove() followed immediately by frame.contentWindow.closed returns true with a RemoteDOMWindow like it does a LocalDOMWindow because the frame gets detached. WebPageProxy::closeRemoteFrame isn't really needed any more because we already have checks that the close() call is only coming from a main frame, so it is closing the page. Just call WebPage::closePage to close the page without having an unneeded code path. * LayoutTests/platform/mac-site-isolation/TestExpectations: * Source/WebCore/page/DOMWindow.cpp: (WebCore::DOMWindow::close): (WebCore::DOMWindow::console const): (WebCore::DOMWindow::checkedConsole const): * Source/WebCore/page/DOMWindow.h: * Source/WebCore/page/FrameDestructionObserver.cpp: (WebCore::FrameDestructionObserver::~FrameDestructionObserver): * Source/WebCore/page/LocalDOMWindow.cpp: (WebCore::LocalDOMWindow::closePage): (WebCore::LocalDOMWindow::console const): Deleted. (WebCore::LocalDOMWindow::checkedConsole const): Deleted. (WebCore::LocalDOMWindow::close): Deleted. * Source/WebCore/page/LocalDOMWindow.h: * Source/WebCore/page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::closePage): (WebCore::RemoteDOMWindow::frameDetached): (WebCore::RemoteDOMWindow::close): Deleted. * Source/WebCore/page/RemoteDOMWindow.h: * Source/WebCore/page/RemoteFrame.cpp: (WebCore::RemoteFrame::frameDetached): * Source/WebCore/page/RemoteFrameClient.h: * Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::closeRemoteFrame): Deleted. * Source/WebKit/UIProcess/WebPageProxy.h: * Source/WebKit/UIProcess/WebPageProxy.messages.in: * Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp: (WebKit::WebRemoteFrameClient::closePage): (WebKit::WebRemoteFrameClient::close): Deleted. * Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.h: Canonical link: https://commits.webkit.org/273911@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes