[webkit-changes] [WebKit/WebKit] 9bfa2b: Move SleepDisabler ownership from WebProcessProxy ...

Chris Dumez noreply at github.com
Thu Apr 27 17:15:26 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9bfa2b8cde5b554ccb41788ee7fa0d7b302972e1
      https://github.com/WebKit/WebKit/commit/9bfa2b8cde5b554ccb41788ee7fa0d7b302972e1
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2023-04-27 (Thu, 27 Apr 2023)

  Changed paths:
    M Source/WebCore/Modules/screen-wake-lock/WakeLock.cpp
    M Source/WebCore/Modules/screen-wake-lock/WakeLockManager.cpp
    M Source/WebCore/Modules/screen-wake-lock/WakeLockManager.h
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/html/HTMLMediaElement.cpp
    M Source/WebCore/platform/SleepDisabler.cpp
    M Source/WebCore/platform/SleepDisabler.h
    M Source/WebCore/platform/SleepDisablerClient.h
    M Source/WebCore/testing/Internals.cpp
    M Source/WebCore/testing/Internals.h
    M Source/WebKit/Platform/IPC/MessageSender.h
    M Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/WebPageProxy.messages.in
    M Source/WebKit/UIProcess/WebProcessProxy.cpp
    M Source/WebKit/UIProcess/WebProcessProxy.h
    M Source/WebKit/UIProcess/WebProcessProxy.messages.in
    M Source/WebKit/WebProcess/WebSleepDisablerClient.cpp
    M Source/WebKit/WebProcess/WebSleepDisablerClient.h

  Log Message:
  -----------
  Move SleepDisabler ownership from WebProcessProxy to WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=256056

Reviewed by Alex Christensen.

Move SleepDisabler ownership from WebProcessProxy to WebPageProxy. Those "sleep
disabling" assertion are taken by paging and it thus makes sense for their
lifetime to be tired to the page rather than the process. This tighter scoping
reduces the chances of assertion leakage and fit nicely with our UIProcess-side
logic now that we rely on the UIClient to take some of these assertions.

* Source/WebCore/Modules/screen-wake-lock/WakeLock.cpp:
(WebCore::WakeLock::request):
* Source/WebCore/Modules/screen-wake-lock/WakeLockManager.cpp:
(WebCore::WakeLockManager::addWakeLock):
* Source/WebCore/Modules/screen-wake-lock/WakeLockManager.h:
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::updateSleepDisablerIfNeeded):
* Source/WebCore/html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateSleepDisabling):
* Source/WebCore/platform/SleepDisabler.cpp:
(WebCore::SleepDisabler::SleepDisabler):
(WebCore::SleepDisabler::~SleepDisabler):
* Source/WebCore/platform/SleepDisabler.h:
* Source/WebCore/platform/SleepDisablerClient.h:
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::createSleepDisabler):
* Source/WebCore/testing/Internals.h:
* Source/WebKit/UIProcess/API/Cocoa/WKWebViewTesting.mm:
(-[WKWebView _hasSleepDisabler]):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::didCreateSleepDisabler):
(WebKit::WebPageProxy::didDestroySleepDisabler):
(WebKit::WebPageProxy::hasSleepDisabler const):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
(WebKit::WebProcessProxy::willRemoveWebPage): Deleted.
(WebKit::WebProcessProxy::didCreateSleepDisabler): Deleted.
(WebKit::WebProcessProxy::didDestroySleepDisabler): Deleted.
(WebKit::WebProcessProxy::hasSleepDisabler const): Deleted.
* Source/WebKit/UIProcess/WebProcessProxy.h:
* Source/WebKit/UIProcess/WebProcessProxy.messages.in:
* Source/WebKit/WebProcess/WebSleepDisablerClient.cpp:
(WebKit::WebSleepDisablerClient::didCreateSleepDisabler):
(WebKit::WebSleepDisablerClient::didDestroySleepDisabler):
* Source/WebKit/WebProcess/WebSleepDisablerClient.h:

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




More information about the webkit-changes mailing list