|
70 | 70 | "html": "<p>If the <a data-link-type=\"dfn\" href=\"https://dom.spec.whatwg.org/#concept-document\" id=\"ref-for-concept-document④\">document</a>'s <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/document-sequences.html#concept-document-bc\" id=\"ref-for-concept-document-bc\">browsing context</a> is not <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#paint-timing-eligible\" id=\"ref-for-paint-timing-eligible①\">paint-timing eligible</a>, return.</p>" |
71 | 71 | }, |
72 | 72 | { |
73 | | - "html": "<p>Let <var>paintTimestamp</var> be the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/hr-time-3/#dfn-current-high-resolution-time\" id=\"ref-for-dfn-current-high-resolution-time①\">current high resolution time</a> given <var>document</var>’s <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/webappapis.html#concept-relevant-global\" id=\"ref-for-concept-relevant-global①\">relevant global object</a>.</p>" |
| 73 | + "html": "<p>Let <var>paintTimingInfo</var> be a new <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#paint-timing-info\" id=\"ref-for-paint-timing-info②\">paint timing info</a>, whose <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#paint-timing-info-rendering-update-end-time\" id=\"ref-for-paint-timing-info-rendering-update-end-time②\">rendering update end time</a> is the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/hr-time-3/#dfn-current-high-resolution-time\" id=\"ref-for-dfn-current-high-resolution-time①\">current high resolution time</a> given <var>document</var>’s <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/webappapis.html#concept-relevant-global\" id=\"ref-for-concept-relevant-global①\">relevant global object</a>.</p>" |
74 | 74 | }, |
75 | 75 | { |
76 | 76 | "html": "<p>Let <var>paintedImages</var> be a new <a data-link-type=\"dfn\" href=\"https://infra.spec.whatwg.org/#ordered-set\" id=\"ref-for-ordered-set③\">ordered set</a></p>" |
|
118 | 118 | "html": "<p>Let <var>reportedPaints</var> be the <var>document</var>’s <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#set-of-previously-reported-paints\" id=\"ref-for-set-of-previously-reported-paints①\">set of previously reported paints</a>.</p>" |
119 | 119 | }, |
120 | 120 | { |
121 | | - "html": "<p>If <var>reportedPaints</var> does not contain <code class=\"highlight\"><c- u=\"\">\"first-paint\"</c-></code>, and the user agent is configured to mark <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#first-paint\" id=\"ref-for-first-paint①\">first paint</a>, then invoke the <a href=\"https://www.w3.org/TR/paint-timing/#report-paint-timing\" id=\"ref-for-report-paint-timing\">§ 4.3.3 Report paint timing</a> algorithm with <var>document</var>, <code class=\"highlight\"><c- u=\"\">\"first-paint\"</c-></code>, and <var>paintTimestamp</var>.</p>" |
122 | | - }, |
123 | | - { |
124 | | - "html": "If <var>document</var> <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#should-report-first-contentful-paint\" id=\"ref-for-should-report-first-contentful-paint\">should report first contentful paint</a>, then:", |
125 | | - "rationale": "invoke", |
| 121 | + "html": "Let <var>flushPaintTimings</var> be the following steps:", |
| 122 | + "rationale": "if", |
126 | 123 | "steps": [ |
127 | 124 | { |
128 | | - "html": "<p>Invoke the <a href=\"https://www.w3.org/TR/paint-timing/#report-paint-timing\" id=\"ref-for-report-paint-timing①\">§ 4.3.3 Report paint timing</a> algorithm with <var>document</var>, <code class=\"highlight\"><c- u=\"\">\"first-contentful-paint\"</c-></code>, and <var>paintTimestamp</var> as arguments.</p>" |
| 125 | + "html": "<p>If <var>reportedPaints</var> does not contain <code class=\"highlight\"><c- u=\"\">\"first-paint\"</c-></code>, and the user agent is configured to mark <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#first-paint\" id=\"ref-for-first-paint①\">first paint</a>, then <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#report-paint-timing\" id=\"ref-for-report-paint-timing\">report paint timing</a> given <var>document</var>, <code class=\"highlight\"><c- u=\"\">\"first-paint\"</c-></code>, and <var>paintTimingInfo</var>.</p>" |
| 126 | + }, |
| 127 | + { |
| 128 | + "html": "If <var>document</var> <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#should-report-first-contentful-paint\" id=\"ref-for-should-report-first-contentful-paint\">should report first contentful paint</a>, then:", |
| 129 | + "rationale": "report", |
| 130 | + "steps": [ |
| 131 | + { |
| 132 | + "html": "<p><a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#report-paint-timing\" id=\"ref-for-report-paint-timing①\">Report paint timing</a> given <var>document</var>, <code class=\"highlight\"><c- u=\"\">\"first-contentful-paint\"</c-></code>, and <var>paintTimingInfo</var>.</p>" |
| 133 | + } |
| 134 | + ] |
| 135 | + }, |
| 136 | + { |
| 137 | + "html": "<p><a data-link-type=\"dfn\" href=\"https://wicg.github.io/largest-contentful-paint/#report-largest-contentful-paint\" id=\"ref-for-report-largest-contentful-paint\">Report largest contentful paint</a> given <var>document</var>, <var>paintTimingInfo</var>, <var>paintedImages</var> and <var>paintedTextNodes</var>.</p>" |
| 138 | + }, |
| 139 | + { |
| 140 | + "html": "<p><a data-link-type=\"dfn\" href=\"https://wicg.github.io/element-timing/#report-element-timing\" id=\"ref-for-report-element-timing\">Report element timing</a> given <var>document</var>, <var>paintTimingInfo</var>, <var>paintedImages</var> and <var>paintedTextNodes</var>.</p>" |
129 | 141 | } |
130 | 142 | ] |
131 | 143 | }, |
132 | 144 | { |
133 | | - "html": "<p><a data-link-type=\"dfn\" href=\"https://wicg.github.io/largest-contentful-paint/#report-largest-contentful-paint\" id=\"ref-for-report-largest-contentful-paint\">Report largest contentful paint</a> given <var>document</var>, <var>paintTimestamp</var>, <var>paintedImages</var> and <var>paintedTextNodes</var>.</p>" |
| 145 | + "html": "<p>If the user-agent does not support implementation-defined presentation times, call <var>flushPaintTimings</var> and return.</p>" |
134 | 146 | }, |
135 | 147 | { |
136 | | - "html": "<p><a data-link-type=\"dfn\" href=\"https://wicg.github.io/element-timing/#report-element-timing\" id=\"ref-for-report-element-timing\">Report element timing</a> given <var>document</var>, <var>paintTimestamp</var>, <var>paintedImages</var> and <var>paintedTextNodes</var>.</p>" |
| 148 | + "html": "Run the following steps <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/infrastructure.html#in-parallel\" id=\"ref-for-in-parallel\">In parallel</a>:", |
| 149 | + "rationale": "wait", |
| 150 | + "steps": [ |
| 151 | + { |
| 152 | + "html": "<p>Wait until an implementation-defined time when the current frame has been presented to the user.</p>" |
| 153 | + }, |
| 154 | + { |
| 155 | + "html": "<p>Set <var>paintTimingInfo</var>’s <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#paint-timing-info-implementation-defined-presentation-time\" id=\"ref-for-paint-timing-info-implementation-defined-presentation-time②\">implementation-defined presentation time</a> to the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/hr-time-3/#dfn-current-high-resolution-time\" id=\"ref-for-dfn-current-high-resolution-time②\">current high resolution time</a> given <var>document</var>’s <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/webappapis.html#concept-relevant-global\" id=\"ref-for-concept-relevant-global②\">relevant global object</a>.</p>" |
| 156 | + }, |
| 157 | + { |
| 158 | + "html": "If <var>document</var>’s <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/webappapis.html#concept-settings-object-cross-origin-isolated-capability\" id=\"ref-for-concept-settings-object-cross-origin-isolated-capability\">cross-origin isolated capability</a> is false, then:", |
| 159 | + "rationale": "wait", |
| 160 | + "steps": [ |
| 161 | + { |
| 162 | + "html": "<p>Coarsen <var>paintTimingInfo</var>’s <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#paint-timing-info-implementation-defined-presentation-time\" id=\"ref-for-paint-timing-info-implementation-defined-presentation-time③\">implementation-defined presentation time</a> to the next multiple of 4 milliseconds, or coarser.</p>" |
| 163 | + }, |
| 164 | + { |
| 165 | + "html": "<p>Wait until the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/hr-time-3/#dfn-current-high-resolution-time\" id=\"ref-for-dfn-current-high-resolution-time③\">current high resolution time</a> is <var>paintTimingInfo</var>’s <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#paint-timing-info-implementation-defined-presentation-time\" id=\"ref-for-paint-timing-info-implementation-defined-presentation-time④\">implementation-defined presentation time</a>.</p>" |
| 166 | + } |
| 167 | + ] |
| 168 | + }, |
| 169 | + { |
| 170 | + "html": "<p><a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/webappapis.html#queue-a-global-task\" id=\"ref-for-queue-a-global-task\">Queue a global task</a> on the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/performance-timeline/#dfn-performance-timeline-task-source\" id=\"ref-for-dfn-performance-timeline-task-source\">performance timeline task source</a> given <var>document</var>’s <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/webappapis.html#concept-relevant-global\" id=\"ref-for-concept-relevant-global③\">relevant global object</a> to run <var>flushPaintTimings</var>.</p>" |
| 171 | + } |
| 172 | + ] |
137 | 173 | } |
138 | 174 | ] |
139 | 175 | }, |
140 | 176 | { |
141 | 177 | "name": "Report paint timing", |
142 | | - "html": "When asked to <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#report-paint-timing\" id=\"ref-for-report-paint-timing③\">report paint timing</a> given <var>document</var>, <var>paintType</var>, and <var>paintTimestamp</var> as arguments, perform the following steps:", |
| 178 | + "html": "To <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#report-paint-timing\" id=\"ref-for-report-paint-timing②\">report paint timing</a> given <var>document</var>, <var>paintType</var>, and a <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#paint-timing-info\" id=\"ref-for-paint-timing-info③\">paint timing info</a> <var>paintTimingInfo</var> as arguments, perform the following steps:", |
143 | 179 | "rationale": ".algorithm", |
144 | 180 | "steps": [ |
145 | 181 | { |
146 | | - "html": "Create a <a data-link-type=\"dfn\" href=\"https://webidl.spec.whatwg.org/#new\" id=\"ref-for-new\">new</a> <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/paint-timing/#performancepainttiming\" id=\"ref-for-performancepainttiming③\">PerformancePaintTiming</a></code> object <var>newEntry</var> with <var>document</var>’s <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/webappapis.html#concept-relevant-realm\" id=\"ref-for-concept-relevant-realm\">relevant realm</a> and set its attributes as follows:", |
| 182 | + "html": "Create a <a data-link-type=\"dfn\" href=\"https://webidl.spec.whatwg.org/#new\" id=\"ref-for-new\">new</a> <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/paint-timing/#performancepainttiming\" id=\"ref-for-performancepainttiming④\">PerformancePaintTiming</a></code> object <var>newEntry</var> with <var>document</var>’s <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/webappapis.html#concept-relevant-realm\" id=\"ref-for-concept-relevant-realm\">relevant realm</a> and set its attributes as follows:", |
147 | 183 | "rationale": "set", |
148 | 184 | "steps": [ |
149 | 185 | { |
|
153 | 189 | "html": "<p>Set <var>newEntry</var>’s <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/performance-timeline/#dom-performanceentry-entrytype\" id=\"ref-for-dom-performanceentry-entrytype①\">entryType</a></code> attribute to <code class=\"highlight\"><c- u=\"\">\"paint\"</c-></code>.</p>" |
154 | 190 | }, |
155 | 191 | { |
156 | | - "html": "<p>Set <var>newEntry</var>’s <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/performance-timeline/#dom-performanceentry-starttime\" id=\"ref-for-dom-performanceentry-starttime①\">startTime</a></code> attribute to <var>paintTimestamp</var>.</p>" |
| 192 | + "html": "<p>Set <var>newEntry</var>’s <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/performance-timeline/#dom-performanceentry-starttime\" id=\"ref-for-dom-performanceentry-starttime①\">startTime</a></code> attribute to the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#default-paint-timestamp\" id=\"ref-for-default-paint-timestamp\">default paint timestamp</a> given <var>paintTimingInfo</var>.</p>" |
157 | 193 | }, |
158 | 194 | { |
159 | 195 | "html": "<p>Set <var>newEntry</var>’s <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/performance-timeline/#dom-performanceentry-duration\" id=\"ref-for-dom-performanceentry-duration①\">duration</a></code> attribute to 0.</p>" |
160 | 196 | } |
161 | 197 | ] |
162 | 198 | }, |
163 | 199 | { |
164 | | - "html": "<p><a href=\"https://w3c.github.io/performance-timeline/#dfn-queue-a-performanceentry\">Add the PerformanceEntry</a> <var>newEntry</var> object.</p>" |
| 200 | + "html": "<p>Set <var>newEntry</var>’s <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#painttimingmixin-paint-timing-info\" id=\"ref-for-painttimingmixin-paint-timing-info②\">paint timing info</a> to <var>paintTimingInfo</var>.</p>" |
| 201 | + }, |
| 202 | + { |
| 203 | + "html": "<p><a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/performance-timeline/#dfn-queue-a-performanceentry\" id=\"ref-for-dfn-queue-a-performanceentry\">Queue</a> <var>newEntry</var> in <var>document</var>’s <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/webappapis.html#concept-relevant-realm\" id=\"ref-for-concept-relevant-realm①\">relevant realm</a>.</p>" |
165 | 204 | }, |
166 | 205 | { |
167 | 206 | "html": "<p><a data-link-type=\"dfn\" href=\"https://infra.spec.whatwg.org/#list-append\" id=\"ref-for-list-append\">Append</a> <var>paintType</var> to <var>document</var>’s <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/paint-timing/#set-of-previously-reported-paints\" id=\"ref-for-set-of-previously-reported-paints②\">set of previously reported paints</a>.</p>" |
|
177 | 216 | "html": "<p>If <var>element</var> is not <a data-link-type=\"dfn\" href=\"https://dom.spec.whatwg.org/#connected\" id=\"ref-for-connected\">connected</a>, return false.</p>" |
178 | 217 | }, |
179 | 218 | { |
180 | | - "html": "<p>If <var>document</var> is null, let <var>document</var> be <var>element</var>’s <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/webappapis.html#relevant-settings-object\" id=\"ref-for-relevant-settings-object\">relevant settings object</a>'s <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/webappapis.html#concept-relevant-global\" id=\"ref-for-concept-relevant-global②\">relevant global object</a>'s <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/nav-history-apis.html#concept-document-window\" id=\"ref-for-concept-document-window\">associated document</a>.</p>" |
| 219 | + "html": "<p>If <var>document</var> is null, let <var>document</var> be <var>element</var>’s <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/webappapis.html#relevant-settings-object\" id=\"ref-for-relevant-settings-object\">relevant settings object</a>'s <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/webappapis.html#concept-relevant-global\" id=\"ref-for-concept-relevant-global④\">relevant global object</a>'s <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/nav-history-apis.html#concept-document-window\" id=\"ref-for-concept-document-window\">associated document</a>.</p>" |
181 | 220 | }, |
182 | 221 | { |
183 | 222 | "html": "<p>If <var>document</var> is not <a data-link-type=\"dfn\" href=\"https://html.spec.whatwg.org/multipage/document-sequences.html#fully-active\" id=\"ref-for-fully-active\">fully active</a>, return false.</p>" |
|
0 commit comments