[webkit-changes] [WebKit/WebKit] 7db308: The View Transitions demos at https://page-transit...

mattwoodrow noreply at github.com
Sun Jan 19 12:25:40 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7db30881c742241a3861d9ff9aca6486397d4d2c
      https://github.com/WebKit/WebKit/commit/7db30881c742241a3861d9ff9aca6486397d4d2c
  Author: Matt Woodrow <mattwoodrow at apple.com>
  Date:   2025-01-19 (Sun, 19 Jan 2025)

  Changed paths:
    A LayoutTests/http/tests/css/css-view-transitions-flicker-while-render-blocked-expected.html
    A LayoutTests/http/tests/css/css-view-transitions-flicker-while-render-blocked.html
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/loader/FrameLoader.cpp
    M Source/WebCore/loader/FrameLoader.h
    M Source/WebCore/loader/LocalFrameLoaderClient.h
    M Source/WebCore/platform/Logging.h
    M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h

  Log Message:
  -----------
  The View Transitions demos at https://page-transitions.style/mpa/ all have a flash before the animation starts.
https://bugs.webkit.org/show_bug.cgi?id=285887
<rdar://142592420>

Reviewed by Simon Fraser.

WebCore's render-blocking can interact with WebKit's layer tree freezing
resulting in a frame of the new page being displayed before the view-transition
starts.

Add a new layer tree freeze reason for the state where the Document has visual
updates allowed, and propagate this state from Document out to WebPage. This
ensures that render-blocking (a cause of Document disabling visual updates) also
causes layer tree freezing for the same interval.

* LayoutTests/http/tests/css/css-view-transitions-flicker-while-render-blocked-expected.html: Added.
* LayoutTests/http/tests/css/css-view-transitions-flicker-while-render-blocked.html: Added.
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::addVisualUpdatePreventedReason):
(WebCore::Document::removeVisualUpdatePreventedReasons):
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::setDocumentVisualUpdatesAllowed):
* Source/WebCore/loader/FrameLoader.h:
* Source/WebCore/loader/LocalFrameLoaderClient.h:
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp:
(WebKit::WebLocalFrameLoaderClient::setDocumentVisualUpdatesAllowed):
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setMainFrameDocumentVisualUpdatesAllowed):
* Source/WebKit/WebProcess/WebPage/WebPage.h:

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list