From 8c0e7112216cd7901c032b5e2cc14f057bd34be6 Mon Sep 17 00:00:00 2001 From: Noam Rosenthal Date: Mon, 8 May 2023 12:37:17 +0300 Subject: [PATCH] Clarify that observable image size refers to the border-box Ink-overflow is an implementation detail, and up to the UA to apply. object-view-box doesn't directly affect the ink-overflow rect. See [resolution](https://github.com/w3c/csswg-drafts/issues/8597#issuecomment-1488952275). Closes #8597 --- css-view-transitions-1/Overview.bs | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/css-view-transitions-1/Overview.bs b/css-view-transitions-1/Overview.bs index 73235024cd3..d10eea38a31 100644 --- a/css-view-transitions-1/Overview.bs +++ b/css-view-transitions-1/Overview.bs @@ -1500,8 +1500,10 @@ urlPrefix: https://wicg.github.io/navigation-api/; type: interface; 1. [=Assert=]: |transition|'s [=ViewTransition/phase=] is not "`done`". - 1. If |transition|'s [=ViewTransition/phase=] is [=phases/before=] "`update-callback-called`", then [=queue a global task=] on the [=DOM manipulation task source=], - given |transition|'s [=relevant global object=], to [=call the update callback=] of |transition|. + 1. If |transition|'s [=ViewTransition/phase=] is [=phases/before=] "`update-callback-called`", + then [=queue a global task=] on the [=DOM manipulation task source=], + given |transition|'s [=relevant global object=], + to [=call the update callback=] of |transition|. 1. Set [=document/transition suppressing rendering=] to false. @@ -1581,7 +1583,14 @@ urlPrefix: https://wicg.github.io/navigation-api/; type: interface;
The capture rendering characteristics are as follows: - * The origin of |element|'s [=ink overflow rectangle=] is anchored to canvas origin. + * The origin of |element|'s [=border box=] is anchored to canvas origin. + + * Expand the canvas to include |element|'s [=ink overflow rectangle=]. The captured image + should include the [=ink overflow region=], however the size of that region is + [=implementation-defined=] and is not web-observable. + + Note: This means that ''object-view-box'' applies to |element|'s [=border box=], and UAs + have to apply the [=ink overflow region=] to the canvas internally. * If the referenced element has a transform applied to it (or its ancestors), then the transform is ignored. @@ -1607,16 +1616,16 @@ urlPrefix: https://wicg.github.io/navigation-api/; type: interface; To compute the interest rectangle of an {{Element}} |element|, perform the following steps. They return a rectangle. - Note: The interest rectangle is the subset of |element|'s [=ink overflow rectangle=] that should be captured. - This is required for cases where an element's ink overflow rectangle needs to be clipped because of hardware constraints. + Note: The interest rectangle is the subset of |element|'s [=border box=] that should be captured. + This is required for cases where an element's border box needs to be clipped because of hardware constraints. For example, if it exceeds the maximum texture size. 1. Assert: |element| is not |element|'s [=node document=]'s [=document element=]. Note: The [=document element=] is captured differently, as specified in [=capture the image=]. - 1. If |element|'s [=ink overflow area=] does not exceed an implementation-defined maximum size, - then return a rectangle that is equal to |element|'s [=ink overflow rectangle=]. + 1. If |element|'s [=border area=] does not exceed an implementation-defined maximum size, + then return a rectangle that is equal to |element|'s [=border box=]. 1. Otherwise: