[webkit-changes] [WebKit/WebKit] dc6a09: Avoid full style rebuild for :-webkit-animating-fu...

Tim Nguyen noreply at github.com
Wed Oct 19 11:43:46 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dc6a098a9b7ca96c4350524ff967e46dbe93fc5d
      https://github.com/WebKit/WebKit/commit/dc6a098a9b7ca96c4350524ff967e46dbe93fc5d
  Author: Tim Nguyen <ntim at apple.com>
  Date:   2022-10-19 (Wed, 19 Oct 2022)

  Changed paths:
    M Source/WebCore/dom/FullscreenManager.cpp
    M Source/WebCore/dom/FullscreenManager.h

  Log Message:
  -----------
  Avoid full style rebuild for :-webkit-animating-full-screen-transition and :-webkit-full-screen-controls-hidden
https://bugs.webkit.org/show_bug.cgi?id=246736
rdar://101325585

Reviewed by Antti Koivisto.

Calling scheduleFullStyleRebuild() is unnecessarily costly here. It is likely copy-paste from
methods that enter/exit fullscreen, which actually do need a rebuild because they need to
re-resolve style for all elements (un)matching :-webkit-full-screen-ancestor.

We can use PseudoClassChangeInvalidation which is more optimized for this purpose.

* Source/WebCore/dom/FullscreenManager.cpp:
(WebCore::FullscreenManager::setAnimatingFullscreen):
(WebCore::FullscreenManager::setFullscreenControlsHidden):
(WebCore::FullscreenManager::didExitFullscreen):
* Source/WebCore/dom/FullscreenManager.h:

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




More information about the webkit-changes mailing list