-
Notifications
You must be signed in to change notification settings - Fork 711
[css-view-transitions] State management seems broken in the spec #10822
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
cc @noamr too. |
Good catch, I think swapping them should be sufficient, as the previous steps in |
Yeah at first I was more concerned about this being a general problem, but this is the only place where I found the issue so far. |
… calling the update callback. This fixes an issue where skipping the transition from within thet update callback would call the update callback twice. Closes w3c#10822
https://bugs.webkit.org/show_bug.cgi?id=279087 rdar://135226640 Reviewed by NOBODY (OOPS!). This is currently a spec bug, see: - w3c/csswg-drafts#10826 - w3c/csswg-drafts#10822 * LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/update-callback-called-once-expected.xht: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/update-callback-called-once.html: Added. * Source/WebCore/dom/ViewTransition.cpp: (WebCore::ViewTransition::callUpdateCallback):
I'm fixing this in WebKit with a WPT: WebKit/WebKit#33091 I'm not sure the exact wording of the current spec PR is right though (I commented there already) |
… times https://bugs.webkit.org/show_bug.cgi?id=279087 rdar://135226640 Reviewed by NOBODY (OOPS!). This is currently a spec bug, see: - w3c/csswg-drafts#10826 - w3c/csswg-drafts#10822 * LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/update-callback-called-once-expected.xht: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/update-callback-called-once.html: Added. * Source/WebCore/dom/ViewTransition.cpp: (WebCore::ViewTransition::callUpdateCallback):
… times https://bugs.webkit.org/show_bug.cgi?id=279087 rdar://135226640 Reviewed by NOBODY (OOPS!). This is currently a spec bug, see: - w3c/csswg-drafts#10826 - w3c/csswg-drafts#10822 * LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/update-callback-called-once-expected.xht: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/update-callback-called-once.html: Added. * Source/WebCore/dom/ViewTransition.cpp: (WebCore::ViewTransition::callUpdateCallback):
…s. r=boris,webidl,smaug This is still fairly incomplete (i.e. no capturing, etc), but it allows a transition to "start", and then finish (on the next frame always, for now) or timeout, appropriately. I think it's in a reviewable shape, given that. There's one known divergence from the spec, which is described in w3c/csswg-drafts#10822 Differential Revision: https://phabricator.services.mozilla.com/D220843
… times https://bugs.webkit.org/show_bug.cgi?id=279087 rdar://135226640 Reviewed by NOBODY (OOPS!). This is currently a spec bug, see: - w3c/csswg-drafts#10826 - w3c/csswg-drafts#10822 * LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/update-callback-called-once-expected.xht: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/update-callback-called-once.html: Added. * Source/WebCore/dom/ViewTransition.cpp: (WebCore::ViewTransition::callUpdateCallback):
… times https://bugs.webkit.org/show_bug.cgi?id=279087 rdar://135226640 Reviewed by NOBODY (OOPS!). This is currently a spec bug, see: - w3c/csswg-drafts#10826 - w3c/csswg-drafts#10822 * LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/update-callback-called-once-expected.xht: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/update-callback-called-once.html: Added. * Source/WebCore/dom/ViewTransition.cpp: (WebCore::ViewTransition::callUpdateCallback):
… times https://bugs.webkit.org/show_bug.cgi?id=279087 rdar://135226640 Reviewed by Matt Woodrow. This is currently a spec bug, see: - w3c/csswg-drafts#10826 - w3c/csswg-drafts#10822 * LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/update-callback-called-once-expected.xht: Added. * LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/update-callback-called-once.html: Added. * Source/WebCore/dom/ViewTransition.cpp: (WebCore::ViewTransition::callUpdateCallback): Canonical link: https://commits.webkit.org/283167@main
…s. r=boris,webidl,smaug This is still fairly incomplete (i.e. no capturing, etc), but it allows a transition to "start", and then finish (on the next frame always, for now) or timeout, appropriately. I think it's in a reviewable shape, given that. There's one known divergence from the spec, which is described in w3c/csswg-drafts#10822 Differential Revision: https://phabricator.services.mozilla.com/D220843
…s. r=boris,webidl,smaug This is still fairly incomplete (i.e. no capturing, etc), but it allows a transition to "start", and then finish (on the next frame always, for now) or timeout, appropriately. I think it's in a reviewable shape, given that. There's one known divergence from the spec, which is described in w3c/csswg-drafts#10822 Differential Revision: https://phabricator.services.mozilla.com/D220843
…s. r=boris,webidl,smaug This is still fairly incomplete (i.e. no capturing, etc), but it allows a transition to "start", and then finish (on the next frame always, for now) or timeout, appropriately. I think it's in a reviewable shape, given that. There's one known divergence from the spec, which is described in w3c/csswg-drafts#10822 Differential Revision: https://phabricator.services.mozilla.com/D220843
…s. r=boris,webidl,smaug This is still fairly incomplete (i.e. no capturing, etc), but it allows a transition to "start", and then finish (on the next frame always, for now) or timeout, appropriately. I think it's in a reviewable shape, given that. There's one known divergence from the spec, which is described in w3c/csswg-drafts#10822 Differential Revision: https://phabricator.services.mozilla.com/D220843 UltraBlame original commit: cadf4f0266df277312b21c23e63fef2366d0518e
…s. r=boris,webidl,smaug This is still fairly incomplete (i.e. no capturing, etc), but it allows a transition to "start", and then finish (on the next frame always, for now) or timeout, appropriately. I think it's in a reviewable shape, given that. There's one known divergence from the spec, which is described in w3c/csswg-drafts#10822 Differential Revision: https://phabricator.services.mozilla.com/D220843 UltraBlame original commit: 43db974152a67814878f0814e7f6c5949dd907b7
…s. r=boris,webidl,smaug This is still fairly incomplete (i.e. no capturing, etc), but it allows a transition to "start", and then finish (on the next frame always, for now) or timeout, appropriately. I think it's in a reviewable shape, given that. There's one known divergence from the spec, which is described in w3c/csswg-drafts#10822 Differential Revision: https://phabricator.services.mozilla.com/D220843 UltraBlame original commit: cadf4f0266df277312b21c23e63fef2366d0518e
…s. r=boris,webidl,smaug This is still fairly incomplete (i.e. no capturing, etc), but it allows a transition to "start", and then finish (on the next frame always, for now) or timeout, appropriately. I think it's in a reviewable shape, given that. There's one known divergence from the spec, which is described in w3c/csswg-drafts#10822 Differential Revision: https://phabricator.services.mozilla.com/D220843 UltraBlame original commit: 43db974152a67814878f0814e7f6c5949dd907b7
…s. r=boris,webidl,smaug This is still fairly incomplete (i.e. no capturing, etc), but it allows a transition to "start", and then finish (on the next frame always, for now) or timeout, appropriately. I think it's in a reviewable shape, given that. There's one known divergence from the spec, which is described in w3c/csswg-drafts#10822 Differential Revision: https://phabricator.services.mozilla.com/D220843
…s. r=boris,webidl,smaug This is still fairly incomplete (i.e. no capturing, etc), but it allows a transition to "start", and then finish (on the next frame always, for now) or timeout, appropriately. I think it's in a reviewable shape, given that. There's one known divergence from the spec, which is described in w3c/csswg-drafts#10822 Differential Revision: https://phabricator.services.mozilla.com/D220843
Per spec, this snippet calls the transition callback twice:
This is in fact what happens in Safari TP, and in my experimental Firefox implementation.
This is because call the update callback says:
But that's already too late, because if something (like
startViewTransition
) skips the transition, the state is not "update-callback-called".It seems for this specific case, just swapping those two steps should work. But might be worth looking at similar things in the spec.
cc @khushalsagar @vmpstr @mattwoodrow @nt1m
The text was updated successfully, but these errors were encountered: