[webkit-changes] [WebKit/WebKit] 516913: [view-transitions] Refactor timing of "update call...

Tim Nguyen noreply at github.com
Fri May 10 00:22:40 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5169139ac1127c419017b37d9f2106a2c199070f
      https://github.com/WebKit/WebKit/commit/5169139ac1127c419017b37d9f2106a2c199070f
  Author: Tim Nguyen <ntim at apple.com>
  Date:   2024-05-10 (Fri, 10 May 2024)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/duplicate-tag-rejects-start.html
    M Source/JavaScriptCore/runtime/JSPromise.cpp
    M Source/JavaScriptCore/runtime/JSPromise.h
    M Source/WebCore/bindings/js/JSDOMPromiseDeferred.h
    M Source/WebCore/dom/ViewTransition.cpp

  Log Message:
  -----------
  [view-transitions] Refactor timing of "update callback done" and related
https://bugs.webkit.org/show_bug.cgi?id=273969
rdar://127834364

Reviewed by Darin Adler.

Implements:
https://github.com/w3c/csswg-drafts/commit/9d5ed6f403cc02b62674e7dd645eaec7598b8135

https://github.com/w3c/csswg-drafts/commit/f62c43823f27926efeadfea7945487a6126a7bb8

This makes the algorithm only react to the update callback from a single place.

Also fix duplicate-tag-rejects-start.html to not check for updateCallbackDone promise timing twice.
The correct timing is: “update callback done -> ready rejects -> finished resolves” (as the "Skip the view transition" algorithm expects)

* LayoutTests/imported/w3c/web-platform-tests/css/css-view-transitions/duplicate-tag-rejects-start.html:
* Source/JavaScriptCore/runtime/JSPromise.cpp:
(JSC::JSPromise::markAsHandled):
(JSC::JSPromise::rejectAsHandled):
* Source/JavaScriptCore/runtime/JSPromise.h:
* Source/WebCore/bindings/js/JSDOMPromiseDeferred.h:
(WebCore::DeferredPromise::markAsHandled const):
* Source/WebCore/dom/ViewTransition.cpp:
(WebCore::ViewTransition::callUpdateCallback):
(WebCore::ViewTransition::setupViewTransition):

Canonical link: https://commits.webkit.org/278606@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