[webkit-changes] [WebKit/WebKit] a6666b: markAllBackingStoreVolatileFromTimer can stop the ...

mattwoodrow noreply at github.com
Thu Nov 9 15:50:44 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a6666b946bcc31afdea756373119ae86622de3c3
      https://github.com/WebKit/WebKit/commit/a6666b946bcc31afdea756373119ae86622de3c3
  Author: Matt Woodrow <mattwoodrow at apple.com>
  Date:   2023-11-09 (Thu, 09 Nov 2023)

  Changed paths:
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm

  Log Message:
  -----------
  markAllBackingStoreVolatileFromTimer can stop the volatility timer too soon and not mark all surfaces as volatile.
https://bugs.webkit.org/show_bug.cgi?id=264229
<rdar://116711724>

Reviewed by Simon Fraser.

RemoteLayerWithRemoteRenderingBackingStoreCollection::markAllBackingStoreVolatileFromTimer stops the volatility timer if the operation is successful, since there should be no further backing stores to mark volatile.

This is an async operation though, and it's possible for markBackingStoreVolatileAfterReachabilityChange to have been called in the interim and there are now new backing stores that aren't yet volatile.

This change ensures that we reschedule the volatility timer if any markBackingStoreVolatileAfterReachabilityChange don't succesfully mark the relevant surfaces as volatile.

* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.mm:
(WebKit::RemoteLayerWithRemoteRenderingBackingStoreCollection::markBackingStoreVolatileAfterReachabilityChange):

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




More information about the webkit-changes mailing list