Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d3cbd408398ce40b09c429718c35518182c9e03c
https://github.com/WebKit/WebKit/commit/d3cbd408398ce40b09c429718c35518182c9e03c
Author: Charlie Wolfe <[email protected]>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M Source/WebKit/Sources.txt
M Source/WebKit/UIProcess/BrowsingContextGroup.cpp
M Source/WebKit/UIProcess/BrowsingContextGroup.h
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
A Source/WebKit/UIProcess/WebProcessActivityState.cpp
A Source/WebKit/UIProcess/WebProcessActivityState.h
M Source/WebKit/UIProcess/WebProcessProxy.cpp
M Source/WebKit/UIProcess/WebProcessProxy.h
M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
Log Message:
-----------
[Site Isolation] Take page-scoped process assertions on iframe processes
https://bugs.webkit.org/show_bug.cgi?id=277790
rdar://133436301
Reviewed by Alex Christensen.
This patch moves the process assertions on WebPageProxy to WebProcessProxy and
changes the functions on
WebPageProxy to take assertions for each web process on the page.
In the future, we may not want to take some assertions for all web processes on
the page, but this will
match the behavior with site isolation disabled.
This will help fix the issue where iframe processes become unexpectedly
suspended on iOS.
* Source/WebKit/Sources.txt:
* Source/WebKit/UIProcess/BrowsingContextGroup.cpp:
(WebKit::BrowsingContextGroup::forEachRemotePage const):
(WebKit::BrowsingContextGroup::forEachRemotePage): Deleted.
* Source/WebKit/UIProcess/BrowsingContextGroup.h:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::takeVisibleActivity):
(WebKit::WebPageProxy::takeAudibleActivity):
(WebKit::WebPageProxy::takeCapturingActivity):
(WebKit::WebPageProxy::resetActivityState):
(WebKit::WebPageProxy::dropVisibleActivity):
(WebKit::WebPageProxy::dropAudibleActivity):
(WebKit::WebPageProxy::dropCapturingActivity):
(WebKit::WebPageProxy::hasValidVisibleActivity const):
(WebKit::WebPageProxy::hasValidAudibleActivity const):
(WebKit::WebPageProxy::hasValidCapturingActivity const):
(WebKit::WebPageProxy::takeOpeningAppLinkActivity):
(WebKit::WebPageProxy::dropOpeningAppLinkActivity):
(WebKit::WebPageProxy::hasValidOpeningAppLinkActivity const):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::updateThrottleState):
(WebKit::WebPageProxy::clearAudibleActivity):
(WebKit::WebPageProxy::waitForDidUpdateActivityState):
(WebKit::WebPageProxy::forEachWebContentProcess const):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::ProcessActivityState::ProcessActivityState): Deleted.
(WebKit::WebPageProxy::ProcessActivityState::takeVisibleActivity): Deleted.
(WebKit::WebPageProxy::ProcessActivityState::takeAudibleActivity): Deleted.
(WebKit::WebPageProxy::ProcessActivityState::takeCapturingActivity): Deleted.
(WebKit::WebPageProxy::ProcessActivityState::reset): Deleted.
(WebKit::WebPageProxy::ProcessActivityState::dropVisibleActivity): Deleted.
(WebKit::WebPageProxy::ProcessActivityState::dropAudibleActivity): Deleted.
(WebKit::WebPageProxy::ProcessActivityState::dropCapturingActivity): Deleted.
(WebKit::WebPageProxy::ProcessActivityState::hasValidVisibleActivity const):
Deleted.
(WebKit::WebPageProxy::ProcessActivityState::hasValidAudibleActivity const):
Deleted.
(WebKit::WebPageProxy::ProcessActivityState::hasValidCapturingActivity const):
Deleted.
(WebKit::WebPageProxy::ProcessActivityState::takeOpeningAppLinkActivity):
Deleted.
(WebKit::WebPageProxy::ProcessActivityState::dropOpeningAppLinkActivity):
Deleted.
(WebKit::WebPageProxy::ProcessActivityState::hasValidOpeningAppLinkActivity
const): Deleted.
(WebKit::WebPageProxy::forEachWebContentProcess): Deleted.
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebProcessActivityState.cpp: Added.
(WebKit::WebProcessActivityState::WebProcessActivityState):
(WebKit::WebProcessActivityState::takeVisibleActivity):
(WebKit::WebProcessActivityState::takeAudibleActivity):
(WebKit::WebProcessActivityState::takeCapturingActivity):
(WebKit::WebProcessActivityState::reset):
(WebKit::WebProcessActivityState::dropVisibleActivity):
(WebKit::WebProcessActivityState::dropAudibleActivity):
(WebKit::WebProcessActivityState::dropCapturingActivity):
(WebKit::WebProcessActivityState::hasValidVisibleActivity const):
(WebKit::WebProcessActivityState::hasValidAudibleActivity const):
(WebKit::WebProcessActivityState::hasValidCapturingActivity const):
(WebKit::WebProcessActivityState::takeOpeningAppLinkActivity):
(WebKit::WebProcessActivityState::dropOpeningAppLinkActivity):
(WebKit::WebProcessActivityState::hasValidOpeningAppLinkActivity const):
* Source/WebKit/UIProcess/WebProcessActivityState.h: Added.
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::m_activityState):
(WebKit::m_routingArbitrator): Deleted.
* Source/WebKit/UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::activityState):
* Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::willOpenAppLink):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/282064@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes