[webkit-changes] [WebKit/WebKit] 7966e0: Disable opportunistic tasks until page load completes

Wenson Hsieh noreply at github.com
Wed Sep 13 07:54:35 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7966e09d3699967276d8214e84698fab778546f3
      https://github.com/WebKit/WebKit/commit/7966e09d3699967276d8214e84698fab778546f3
  Author: Wenson Hsieh <wenson_hsieh at apple.com>
  Date:   2023-09-13 (Wed, 13 Sep 2023)

  Changed paths:
    M Source/WebCore/page/LocalFrameView.cpp
    M Source/WebCore/page/OpportunisticTaskScheduler.cpp
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/Page.h

  Log Message:
  -----------
  Disable opportunistic tasks until page load completes
https://bugs.webkit.org/show_bug.cgi?id=261489
rdar://115404985

Reviewed by Richard Robinson.

Adjust the opportunistic task scheduler to duck out of the way during page load, and also for web
pages that are not visible (or are not in the active window). This is a speculative mitigation for a
recent increase in memory use on Membuster5, which may have been caused by the adjustments in
<https://commits.webkit.org/267818@main>.

* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::firePaintRelatedMilestonesIfNeeded):
* Source/WebCore/page/OpportunisticTaskScheduler.cpp:
(WebCore::OpportunisticTaskScheduler::runLoopObserverFired):
* Source/WebCore/page/Page.cpp:
(WebCore::Page::didCommitLoad):
(WebCore::Page::didFinishLoad):
(WebCore::Page::didFirstMeaningfulPaint): Deleted.

Replace the "waiting for first meaningful paint" flag with a "waiting for page load" flag instead.

* Source/WebCore/page/Page.h:
(WebCore::Page::isWaitingForLoadToFinish const):
(WebCore::Page::isWaitingForFirstMeaningfulPaint const): Deleted.

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




More information about the webkit-changes mailing list