Skip to content

Commit d4137a1

Browse files
authored
[css-view-transitions-1] Resolve open issues. (#8948)
* [css-view-transitions-1] Resolve open issues This change fixes the following issues inlined into the spec: * The link for "paint order" doesn’t seem right. Is there a more canonical definition? The DOM order of `::view-transition-group` pseudo-elements needs to match the paint order of the corresponding DOM elements. This is why elements are traversed in paint order when adding them to named elements. The definition of paint order used here is correct. * Isolation and the dynamic setting of blending is only necessary... This was resolved in #7814. * Refactor this so the algorithm takes a set of elements that will be captured... This was a problem because there was no way to refer to an element participating in a transition. Presence of view-transition-name was not enough. Now there's a bool on element to refer to this state. * Specify what happens with mix-blend-mode. Adds spec text to clarify this. The issues remaining are related to web animations, will take those up in a follow up PR. * Remove mix-blend-mode changes
1 parent 6afcbc9 commit d4137a1

File tree

1 file changed

+2
-13
lines changed

1 file changed

+2
-13
lines changed

css-view-transitions-1/Overview.bs

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1284,9 +1284,6 @@ urlPrefix: https://wicg.github.io/navigation-api/; type: interface;
12841284
and has a [=node document=] equal to to |document|,
12851285
in [paint order](https://drafts.csswg.org/css2/#painting-order):
12861286

1287-
Issue: The link for "paint order" doesn't seem right.
1288-
Is there a more canonical definition?
1289-
12901287
1. If any [=flat tree=] ancestor of this |element| [=skips its contents=], then [=continue=].
12911288

12921289
1. If |element| has more than one [=box fragment=], then [=continue=].
@@ -1342,9 +1339,6 @@ urlPrefix: https://wicg.github.io/navigation-api/; type: interface;
13421339
and has a [=node document=] equal to to |document|,
13431340
in [paint order](https://drafts.csswg.org/css2/#painting-order):
13441341

1345-
Issue: The link for "paint order" doesn't seem right.
1346-
Is there a more canonical definition?
1347-
13481342
1. If any [=flat tree=] ancestor of this |element| [=skips its contents=], then [=continue=].
13491343

13501344
1. Let |transitionName| be the [=computed value=] of 'view-transition-name' for |element|.
@@ -1475,9 +1469,6 @@ urlPrefix: https://wicg.github.io/navigation-api/; type: interface;
14751469
Note: The above code example contains variables to be replaced.
14761470

14771471
Note: ''mix-blend-mode: plus-lighter'' ensures that the blending of identical pixels from the old and new images results in the same color value as those pixels, and achieves a "correct" cross-fade.
1478-
1479-
Issue: Isolation and the dynamic setting of blending is only necessary to get the right cross-fade between new and old image pixels.
1480-
Would it be simpler to always add it and try to optimize in the implementation?
14811472
</div>
14821473

14831474
## [=Call the update callback=] ## {#call-dom-update-callback-algorithm}
@@ -1616,14 +1607,12 @@ urlPrefix: https://wicg.github.io/navigation-api/; type: interface;
16161607
Implementations may adjust the rasterization quality to account for elements with a large [=ink overflow area=] that are transformed into view.
16171608

16181609
* [=list/For each=] |descendant| of [=shadow-including descendant=] {{Element}} and [=pseudo-element=] of |element|,
1619-
if |descendant| has a [=computed value=] of 'view-transition-name' that is not ''view-transition-name/none'',
1610+
if |descendant| is [=captured in a view transition=],
16201611
then skip painting |descendant|.
16211612

16221613
Note: This is necessary since the descendant will generate its own snapshot which will be displayed and animated independently.
16231614

1624-
Issue: Refactor this so the algorithm takes a set of elements that will be captured. This centralizes the logic for deciding if an element should be included or not.
1625-
1626-
Issue: Specify what happens with 'mix-blend-mode'.
1615+
Issue: Specify what happens with 'mix-blend-mode'.
16271616
</div>
16281617

16291618
## [=Handle transition frame=] ## {#handle-transition-frame-algorithm}

0 commit comments

Comments
 (0)