[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