[webkit-changes] [WebKit/WebKit] 55f474: [macOS] When a background WebProcess uses too much...

Chris Dumez noreply at github.com
Wed May 10 16:31:23 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 55f474a36d803b46697375d3baa9c4807a688661
      https://github.com/WebKit/WebKit/commit/55f474a36d803b46697375d3baa9c4807a688661
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2023-05-10 (Wed, 10 May 2023)

  Changed paths:
    M Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp
    M Source/WebKit/UIProcess/AuxiliaryProcessProxy.h
    M Source/WebKit/UIProcess/ProcessThrottler.cpp
    M Source/WebKit/UIProcess/ProcessThrottler.h
    M Source/WebKit/UIProcess/WebProcessProxy.cpp

  Log Message:
  -----------
  [macOS] When a background WebProcess uses too much CPU in the background, suspend it
https://bugs.webkit.org/show_bug.cgi?id=256607

Reviewed by Geoffrey Garen.

When a background WebProcess uses too much CPU in the background, suspend it
when process suspension is enabled. We would previously terminate the process
which is not as user-friendly and unnecessary when we can suspend to process to
stop it from using CPU.

* Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::runningBoardThrottlingEnabled):
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:
* Source/WebKit/UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::ProcessThrottler):
(WebKit::ProcessThrottler::invalidateAllActivitiesAndDropAssertion):
(WebKit::ProcessThrottler::prepareToDropLastAssertionTimeoutTimerFired):
(WebKit::ProcessThrottler::clearAssertion):
* Source/WebKit/UIProcess/ProcessThrottler.h:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didExceedCPULimit):

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




More information about the webkit-changes mailing list