From e43abf14662f6e2ed2cc91d87e758f3d1523f801 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?=
Date: Tue, 4 Oct 2022 08:09:00 +0200
Subject: [PATCH] Integrate Resize Observer and expand "update the rendering"
This includes upstreaming the monkeypatch from the Resize Observer specification, which adds more detail to the "update the rendering" steps to include an explicit "Recalculate styles and update layout" step. This enables us to be clear that intersection observer integration and marking paint timing happens after that step.
Fixes #8277.
---
source | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/source b/source
index 736eb813282..5842cf8ff8b 100644
--- a/source
+++ b/source
@@ -3983,6 +3983,20 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
+ Resize Observer
+
+
+ The following terms are defined in Resize Observer:
+
+
+ - gather active resize observations at depth
+ - has active resize observations
+ - has skipped resize observations
+ - broadcast active resize observations
+ - deliver resize loop error
+
+
+
WebGL
@@ -95922,12 +95936,45 @@ import "https://example.com/foo/../module2.mjs";
the animation frame callbacks for that Document
, passing in now
as the timestamp.
+
+ For each fully active Document
doc in
+ docs:
+
+
+ Recalculate styles and update layout for doc.
+
+ Let depth be 0.
+
+ Gather active resize observations at depth depth for
+ doc.
+
+ -
+
While doc has active resize observations:
+
+
+ Set depth to the result of
+ broadcasting active resize
+ observations given doc.
+
+ Recalculate styles and update layout for doc.
+
+ Gather active resize observations at depth depth for
+ doc.
+
+
+
+ If doc has skipped resize observations, then deliver
+ resize loop error given doc.
+
+
+
For each fully active Document
in docs, run
the update intersection observations steps for that Document
, passing in
now as the timestamp.
Invoke the mark paint timing algorithm for each Document
object in docs.
+
For each fully active Document
in docs, update the
rendering or user interface of that Document
and its [INTERSECTIONOBSERVER]
Intersection Observer, S. Zager. W3C.
+ [RESIZEOBSERVER]
+ Resize Observer, O. Brufau, E. Álvarez. W3C.
+
[ISO3166]
ISO 3166: Codes for the representation of names of countries and their subdivisions. ISO.