[webkit-changes] [WebKit/WebKit] 9f76fd: [css-view-transitions-2] Implement pageswap and pa...
mattwoodrow
noreply at github.com
Fri Aug 9 00:57:49 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9f76fdfc2789893b2ac005d7644d1e2a10622305
https://github.com/WebKit/WebKit/commit/9f76fdfc2789893b2ac005d7644d1e2a10622305
Author: Matt Woodrow <mattwoodrow at apple.com>
Date: 2024-08-09 (Fri, 09 Aug 2024)
Changed paths:
M LayoutTests/TestExpectations
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-in-layer-cascade-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-in-layer-cascade-external-stylesheet-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-in-layer-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-in-matching-media-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-in-non-matching-media-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-in-shadow-dom-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-multiple-rules-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-opt-in-change-with-script-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/hide-before-reveal-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/mismatched-snapshot-containing-block-size-skips-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pagereveal-microtask-sequence-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pagereveal-no-view-transition-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pagereveal-no-view-transition-new-opt-out-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pagereveal-updatecallbackdone-promise-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pagereveal-with-view-transition-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pageswap-long-delay-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pageswap-skip-transition-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pageswap-traverse-navigation-no-bfcache.https-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/skip-outbound-vt-before-reveal-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/with-types/at-rule-with-types-parsing-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/with-types/navigation-supersedes-types-same-rule-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/with-types/navigation-supersedes-types-when-after-expected.txt
M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/with-types/types-in-pagereveal-and-pageswap-expected.txt
M LayoutTests/platform/glib/TestExpectations
M LayoutTests/platform/ios/TestExpectations
M LayoutTests/platform/mac/TestExpectations
M Source/WebCore/CMakeLists.txt
M Source/WebCore/DerivedSources-input.xcfilelist
M Source/WebCore/DerivedSources-output.xcfilelist
M Source/WebCore/DerivedSources.make
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/dom/Document.cpp
M Source/WebCore/dom/Document.h
M Source/WebCore/dom/EventInterfaces.in
M Source/WebCore/dom/EventNames.json
A Source/WebCore/dom/PageRevealEvent.cpp
A Source/WebCore/dom/PageRevealEvent.h
A Source/WebCore/dom/PageRevealEvent.idl
A Source/WebCore/dom/PageSwapEvent.cpp
A Source/WebCore/dom/PageSwapEvent.h
A Source/WebCore/dom/PageSwapEvent.idl
M Source/WebCore/dom/ViewTransition.cpp
M Source/WebCore/dom/ViewTransition.h
M Source/WebCore/loader/DocumentLoader.cpp
M Source/WebCore/loader/DocumentLoader.h
M Source/WebCore/loader/FrameLoader.cpp
M Source/WebCore/page/NavigationActivation.h
M Source/WebCore/page/Page.cpp
M Source/WebCore/page/Page.h
Log Message:
-----------
[css-view-transitions-2] Implement pageswap and pagereveal events.
https://bugs.webkit.org/show_bug.cgi?id=277524
<rdar://133025306>
Reviewed by Tim Nguyen.
Adds the basic IDLs for the pageswap and pagereveal events, plus the C++
implementations.
Adds code to fire these events (gated on the cross document view transitions
preference), and passes the view transition parameter in a partially correct
way.
This is the basic needed for the WPT test infrastructure to work, and as a
result, many new tests pass. There are still lots of FIXME's and bugs left
before the remaining tests pass.
* LayoutTests/TestExpectations:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-in-layer-cascade-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-in-layer-cascade-external-stylesheet-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-in-layer-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-in-matching-media-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-in-non-matching-media-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-in-shadow-dom-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-multiple-rules-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/at-rule-opt-in-change-with-script-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/hide-before-reveal-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/mismatched-snapshot-containing-block-size-skips-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pagereveal-microtask-sequence-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pagereveal-no-view-transition-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pagereveal-no-view-transition-new-opt-out-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pagereveal-updatecallbackdone-promise-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pagereveal-with-view-transition-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pageswap-long-delay-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pageswap-skip-transition-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/pageswap-traverse-navigation-no-bfcache.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/skip-outbound-vt-before-reveal-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/with-types/at-rule-with-types-parsing-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/with-types/navigation-supersedes-types-same-rule-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/with-types/navigation-supersedes-types-when-after-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/navigation/with-types/types-in-pagereveal-and-pageswap-expected.txt:
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/DerivedSources-input.xcfilelist:
* Source/WebCore/DerivedSources-output.xcfilelist:
* Source/WebCore/DerivedSources.make:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::reveal):
(WebCore::Document::transferViewTransitionParams):
(WebCore::Document::dispatchPageSwapEvent):
* Source/WebCore/dom/Document.h:
* Source/WebCore/dom/EventInterfaces.in:
* Source/WebCore/dom/EventNames.json:
* Source/WebCore/dom/PageRevealEvent.cpp: Copied from Source/WebCore/page/NavigationActivation.h.
(WebCore::PageRevealEvent::create):
(WebCore::PageRevealEvent::PageRevealEvent):
* Source/WebCore/dom/PageRevealEvent.h: Copied from Source/WebCore/page/NavigationActivation.h.
* Source/WebCore/dom/PageRevealEvent.idl: Added.
* Source/WebCore/dom/PageSwapEvent.cpp: Copied from Source/WebCore/page/NavigationActivation.h.
(WebCore::PageSwapEvent::create):
(WebCore::PageSwapEvent::PageSwapEvent):
* Source/WebCore/dom/PageSwapEvent.h: Copied from Source/WebCore/page/NavigationActivation.h.
* Source/WebCore/dom/PageSwapEvent.idl: Added.
* Source/WebCore/dom/ViewTransition.cpp:
(WebCore::ViewTransition::ViewTransition):
(WebCore::ViewTransition::create):
(WebCore::ViewTransition::createInbound):
(WebCore::ViewTransition::startInbound):
(WebCore::ViewTransition::callUpdateCallback):
(WebCore::ViewTransition::activateViewTransition):
(WebCore::ViewTransition::takeViewTransitionParams):
* Source/WebCore/dom/ViewTransition.h:
(WebCore::OrderedNamedElementsMap::swap):
* Source/WebCore/loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::navigationCanTriggerCrossDocumentViewTransition):
* Source/WebCore/loader/DocumentLoader.h:
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::clear):
(WebCore::FrameLoader::transitionToCommitted):
* Source/WebCore/page/NavigationActivation.h:
* Source/WebCore/page/Page.cpp:
(WebCore::Page::updateRendering):
(WebCore::operator<<):
* Source/WebCore/page/Page.h:
Canonical link: https://commits.webkit.org/282038@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