@@ -451,7 +451,8 @@ Note: The user agent can optionally defer drawing images which are <a>paint-inva
451
451
</div>
452
452
453
453
The <a>draw a paint image</a> function is invoked by the user agent during the <a>object size
454
- negotiation</a> algorithm which is responsible for rendering an <<image>> .
454
+ negotiation</a> algorithm which is responsible for rendering an <<image>> ,
455
+ with |concreteObjectSize| set to the <a>concrete object size</a> of the <a>box</a> .
455
456
456
457
For the purposes of the <a>object size negotiation</a> algorithm, the paint image has no
457
458
<a>intrinsic dimensions</a> .
@@ -467,6 +468,15 @@ the <a>concrete object size</a> given by the user agent.
467
468
Note: See [[css-images-3#object-sizing-examples]] for examples on how the <a>concrete object
468
469
size</a> is calculated.
469
470
471
+ The <a>draw a paint image</a> function may be speculatively invoked by the user agent at any point,
472
+ with any |concreteObjectSize|. The resulting image is not displayed.
473
+
474
+ Note: User agents may use any heuristic to speculate a possible future value for |concretObjectSize|,
475
+ for example speculating that the size remains unchanged.
476
+
477
+ Note: Although the image is not displayed, it may still be cached, and subsequent invocations of
478
+ <<paint()>> may use the cached image.
479
+
470
480
<pre class='idl'>
471
481
[Exposed=PaintWorklet]
472
482
interface PaintSize {
@@ -478,12 +488,12 @@ interface PaintSize {
478
488
<div algorithm>
479
489
When the user agent wants to <dfn>draw a paint image</dfn> of a <<paint()>> function for a |box|
480
490
into its appropriate stacking level (as defined by the property the CSS property its associated
481
- with), given its |concreteObjectSize| (<a>concrete object size</a> ) it <em> must</em> run the
482
- following steps:
491
+ with), given |concreteObjectSize| it <em> must</em> run the following steps:
483
492
1. Let |paintFunction| be the <<paint()>> function on the |box| which the user agent wants to
484
493
draw.
485
494
486
- 2. If the <a>paint valid flag</a> for the |paintFunction| is <a>paint-valid</a> the user agent
495
+ 2. If the <a>paint valid flag</a> for the |paintFunction| is <a>paint-valid</a> ,
496
+ and the previous invocation had the same |concreteObjectSize|, the user agent
487
497
<em> may</em> use the drawn image from the previous invocation. If so it <em> may</em> abort
488
498
all these steps and use the previously drawn image.
489
499
0 commit comments