[webkit-changes] [WebKit/WebKit] 50e575: Update site isolated iframe sizes when they change

Alex Christensen noreply at github.com
Thu Feb 16 17:13:12 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 50e575d266dd7fb9c8e4fe597b2ac4ae1712b5f3
      https://github.com/WebKit/WebKit/commit/50e575d266dd7fb9c8e4fe597b2ac4ae1712b5f3
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2023-02-16 (Thu, 16 Feb 2023)

  Changed paths:
    A LayoutTests/http/tests/site-isolation/basic-iframe-expected.html
    A LayoutTests/http/tests/site-isolation/basic-iframe.html
    M Source/WebCore/page/RemoteFrameClient.h
    M Source/WebCore/page/RemoteFrameView.cpp
    M Source/WebCore/page/RemoteFrameView.h
    M Source/WebKit/Platform/IPC/MessageSender.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm
    M Source/WebKit/UIProcess/AuxiliaryProcessProxy.h
    M Source/WebKit/UIProcess/ProvisionalFrameProxy.cpp
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.mm
    M Source/WebKit/UIProcess/WebFrameProxy.cpp
    M Source/WebKit/UIProcess/WebFrameProxy.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/WebPageProxy.messages.in
    M Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm
    M Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.h
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm
    M Source/WebKit/WebProcess/WebPage/WebFrame.cpp
    M Source/WebKit/WebProcess/WebPage/WebFrame.h

  Log Message:
  -----------
  Update site isolated iframe sizes when they change
https://bugs.webkit.org/show_bug.cgi?id=252020
rdar://105244387

Reviewed by Simon Fraser.

In order to draw iframes the right size, we get the layer size from the parent
process and send it to the iframe process in a DrawingArea::UpdateGeometry message.

In order to send the DrawingArea::DisplayDidRefresh message to the right process
as a result of a RemoteLayerTreeDrawingAreaProxy::CommitLayerTree message,
instead of calling didRefreshDisplay which does several things that don't relate
to subframe processes, just send the DrawingArea::DisplayDidRefresh which is the
only part we need for drawing to continue.

* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h:
(WebKit::RemoteLayerTreeHost::hostingLayersInverse const):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::layerWillBeRemoved):
(WebKit::RemoteLayerTreeHost::createLayer):
* Source/WebKit/UIProcess/SubframePageProxy.cpp:
(WebKit::SubframePageProxy::SubframePageProxy):
(WebKit::SubframePageProxy::~SubframePageProxy):
* Source/WebKit/UIProcess/SubframePageProxy.h:
(WebKit::SubframePageProxy::layerHostingContextIdentifier const):
* Source/WebKit/UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::commitProvisionalFrame):
* Source/WebKit/UIProcess/WebFrameProxy.h:
(WebKit::WebFrameProxy::subframePage const):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::addHostedFrame):
(WebKit::WebPageProxy::removeHostedFrame):
(WebKit::WebPageProxy::getHostedFrame):
* Source/WebKit/UIProcess/WebPageProxy.h:

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




More information about the webkit-changes mailing list