[webkit-changes] [WebKit/WebKit] f898ec: Remove iframe layer when isolated iframe process c...

Alex Christensen noreply at github.com
Wed Jan 10 19:42:11 PST 2024


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

  Changed paths:
    A LayoutTests/http/tests/site-isolation/iframe-process-termination-after-navigation-completed-expected.html
    A LayoutTests/http/tests/site-isolation/iframe-process-termination-after-navigation-completed.html
    M LayoutTests/http/tests/site-isolation/resources/iframe-terminate-process-when-loaded.html
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h
    M Source/WebKit/UIProcess/DrawingAreaProxy.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm
    M Source/WebKit/UIProcess/RemotePageProxy.cpp
    M Source/WebKit/UIProcess/RemotePageProxy.h
    M Source/WebKit/UIProcess/WebProcessProxy.cpp
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm

  Log Message:
  -----------
  Remove iframe layer when isolated iframe process crashes
https://bugs.webkit.org/show_bug.cgi?id=267362

Reviewed by Tim Horton.

A little bookkeeping is needed to know what layers to remove when a process crashes, but not much.

* LayoutTests/http/tests/site-isolation/iframe-process-termination-after-navigation-completed-expected.html: Added.
* LayoutTests/http/tests/site-isolation/iframe-process-termination-after-navigation-completed.html: Added.
* LayoutTests/http/tests/site-isolation/resources/iframe-terminate-process-when-loaded.html:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
(WebKit::RemoteLayerTreeTransaction::processIdentifier const):
(WebKit::RemoteLayerTreeTransaction::setProcessIdentifier):
* Source/WebKit/UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::remotePageProcessCrashed):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::remotePageProcessCrashed):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h:
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree):
(WebKit::RemoteLayerTreeHost::layerWillBeRemoved):
(WebKit::RemoteLayerTreeHost::remotePageProcessCrashed):
* Source/WebKit/UIProcess/RemotePageProxy.cpp:
(WebKit::RemotePageProxy::processDidTerminate):
* Source/WebKit/UIProcess/RemotePageProxy.h:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::updateRendering):

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




More information about the webkit-changes mailing list