[webkit-changes] [WebKit/WebKit] 441ecb: [Site Isolation] Fix some cases where we unnecessa...
Charlie Wolfe
noreply at github.com
Thu Nov 30 14:52:09 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 441ecb3a880a9aad39f1acd2d270300c94fc7b43
https://github.com/WebKit/WebKit/commit/441ecb3a880a9aad39f1acd2d270300c94fc7b43
Author: Charlie Wolfe <charliew at apple.com>
Date: 2023-11-30 (Thu, 30 Nov 2023)
Changed paths:
M Source/WebCore/bindings/js/JSLocalDOMWindowCustom.cpp
M Source/WebCore/css/query/MediaQueryFeatures.cpp
M Source/WebCore/dom/TreeScope.cpp
M Source/WebCore/html/HTMLFrameElementBase.cpp
M Source/WebCore/html/MediaElementSession.cpp
M Source/WebCore/inspector/InspectorFrontendClientLocal.cpp
M Source/WebCore/inspector/InspectorFrontendHost.cpp
M Source/WebCore/inspector/InspectorOverlay.cpp
M Source/WebCore/inspector/agents/InspectorPageAgent.cpp
M Source/WebCore/loader/FrameLoader.cpp
M Source/WebCore/page/DragController.cpp
M Source/WebCore/page/FocusController.cpp
M Source/WebCore/page/IntersectionObserver.cpp
M Source/WebCore/page/LocalDOMWindow.cpp
M Source/WebCore/page/LocalFrameView.cpp
M Source/WebCore/page/Page.cpp
M Source/WebCore/page/PageOverlay.cpp
M Source/WebCore/page/ResourceUsageOverlay.cpp
M Source/WebCore/page/SpatialNavigation.cpp
M Source/WebCore/page/mac/DragControllerMac.mm
M Source/WebCore/page/mac/ImageOverlayControllerMac.mm
M Source/WebCore/page/mac/ServicesOverlayController.mm
M Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
M Source/WebCore/page/scrolling/ScrollingCoordinator.cpp
M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp
M Source/WebKit/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp
M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
M Source/WebKit/WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp
M Source/WebKit/WebProcess/WebPage/FindController.cpp
M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
Log Message:
-----------
[Site Isolation] Fix some cases where we unnecessarily skip code on out-of-process frames
https://bugs.webkit.org/show_bug.cgi?id=265563
rdar://118970867
Reviewed by Alex Christensen.
There are several places where we are unnecessarily skipping code on out-of-process frames. We should
avoid downcasting to a local frame if it's not required.
* Source/WebCore/bindings/js/JSLocalDOMWindowCustom.cpp:
(WebCore::jsLocalDOMWindowGetOwnPropertySlotRestrictedAccess):
* Source/WebCore/css/query/MediaQueryFeatures.cpp:
(WebCore::MQ::Features::color):
(WebCore::MQ::Features::dynamicRange):
* Source/WebCore/dom/TreeScope.cpp:
(WebCore::focusedFrameOwnerElement):
* Source/WebCore/html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::didAttachRenderers):
* Source/WebCore/html/MediaElementSession.cpp:
(WebCore::isElementRectMostlyInMainFrame):
* Source/WebCore/inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::canAttachWindow):
(WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
(WebCore::InspectorFrontendClientLocal::changeAttachedWindowWidth):
There is also a behavior change in this function. Previously, we did a null check on `otherMainFrame` and
then used the width on `localMainFrame`, which seemed like a bug.
(WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
* Source/WebCore/inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::copyText):
* Source/WebCore/inspector/InspectorOverlay.cpp:
(WebCore::localPointToRootPoint):
(WebCore::contentsQuadToCoordinateSystem):
(WebCore::buildRendererHighlight):
(WebCore::drawShapeHighlight):
(WebCore::InspectorOverlay::paint):
(WebCore::InspectorOverlay::highlightQuad):
(WebCore::InspectorOverlay::update):
(WebCore::InspectorOverlay::showPaintRect):
(WebCore::InspectorOverlay::buildGridOverlay):
* Source/WebCore/inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::didPaint):
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::completed):
* Source/WebCore/page/DragController.cpp:
(WebCore::DragController::beginDrag):
* Source/WebCore/page/FocusController.cpp:
(WebCore::FocusController::setFocusedInternal):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::setIsVisibleAndActiveInternal):
* Source/WebCore/page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::computeIntersectionState const):
* Source/WebCore/page/LocalDOMWindow.cpp:
(WebCore::LocalDOMWindow::adjustWindowRect):
(WebCore::LocalDOMWindow::moveTo const):
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::shouldUpdateCompositingLayersAfterScrolling const):
* Source/WebCore/page/Page.cpp:
(WebCore::Page::findString):
(WebCore::Page::screenPropertiesDidChange):
(WebCore::Page::lockAllOverlayScrollbarsToHidden):
(WebCore::Page::setVerticalScrollElasticity):
(WebCore::Page::setDebugger):
(WebCore::Page::subframeCount const):
* Source/WebCore/page/PageOverlay.cpp:
(WebCore::PageOverlay::bounds const):
(WebCore::PageOverlay::drawRect):
* Source/WebCore/page/ResourceUsageOverlay.cpp:
(WebCore::ResourceUsageOverlay::~ResourceUsageOverlay):
(WebCore::ResourceUsageOverlay::mouseEvent):
* Source/WebCore/page/SpatialNavigation.cpp:
(WebCore::rectToAbsoluteCoordinates):
* Source/WebCore/page/mac/DragControllerMac.mm:
(WebCore::DragController::cleanupAfterSystemDrag):
* Source/WebCore/page/mac/ImageOverlayControllerMac.mm:
(WebCore::ImageOverlayController::updateDataDetectorHighlights):
(WebCore::ImageOverlayController::platformHandleMouseEvent):
* Source/WebCore/page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::buildSelectionHighlight):
(WebCore::ServicesOverlayController::mouseEvent):
(WebCore::ServicesOverlayController::handleClick):
* Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState):
* Source/WebCore/page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::shouldUpdateScrollLayerPositionSynchronously const):
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::saveScrollPosition):
* Source/WebKit/WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::addParametersShared):
* Source/WebKit/WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp:
(WebKit::createShareableBitmap):
* Source/WebKit/WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::rectsForTextMatchesInRect):
* Source/WebKit/WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::size const):
(WebKit::WebFrame::jsContextForServiceWorkerWorld):
(WebKit::WebFrame::contentBounds const):
(WebKit::WebFrame::visibleContentBounds const):
(WebKit::WebFrame::scrollOffset const):
(WebKit::WebFrame::hasVerticalScrollbar const):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::clearMainFrameName):
(WebKit::WebPage::setSize):
(WebKit::WebPage::scaleView):
(WebKit::snapshotColorSpace):
Canonical link: https://commits.webkit.org/271358@main
More information about the webkit-changes
mailing list