[webkit-changes] [WebKit/WebKit] 61fada: Avoid unnecessary tree traversals in Page::setMemo...

Chris Dumez noreply at github.com
Fri Mar 17 10:22:01 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 61fadadf20f5f65495e6cd2d060c782ee87576e5
      https://github.com/WebKit/WebKit/commit/61fadadf20f5f65495e6cd2d060c782ee87576e5
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2023-03-17 (Fri, 17 Mar 2023)

  Changed paths:
    M Source/WebCore/loader/FrameLoader.cpp
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/Page.h

  Log Message:
  -----------
  Avoid unnecessary tree traversals in Page::setMemoryCacheClientCallsEnabled()
https://bugs.webkit.org/show_bug.cgi?id=254058

Reviewed by Darin Adler.

Avoid unnecessary tree traversals in Page::setMemoryCacheClientCallsEnabled().
There are often no loads to notify the frames about and we end up traversing
the whole frame tree unnecessarily. To avoid this, I am introducing a new
hasPendingMemoryCacheLoadNotifications flag on the page that gets set whenever
we queue a notification for one of the frames. We nos only traverse the frame
tree when this flag is set.

* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadedResourceFromMemoryCache):
* Source/WebCore/page/Page.cpp:
(WebCore::Page::setMemoryCacheClientCallsEnabled):
* Source/WebCore/page/Page.h:
(WebCore::Page::setHasPendingMemoryCacheLoadNotifications):

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




More information about the webkit-changes mailing list