tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 726ba7fd5ad7c2152c44ac8d1bad0769f17c36db
parent 7c7078130cf50bc244d793a9a7c715de4cc24fac
Author: Stefan Zager <szager@chromium.org>
Date:   Tue, 16 Dec 2025 08:48:02 +0000

Bug 2005829 [wpt PR 56718] - Ensure propagation of PropertyChangeForcesCommit to compositor, a=testonly

Automatic update from web-platform-tests
Ensure propagation of PropertyChangeForcesCommit to compositor

Prior to this change, a new value for PropertyChangeForcesCommit
might not make it to the compositor thread right away if
BeginMainFrame resulted in no visual update and returned early. If a
page is idle, it could take an arbitrary amount of time for the new
value to be propagated.

With this CL, we force a commit to be sent to the compositor when a
new value occurs.

Bug: 40914013
Change-Id: I3920c0fa0d7dba9c123a1488a1546ca77b9033a0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7239030
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: Stefan Zager <szager@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1558342}

--

wpt-commits: 3f01db127b3cfa220becf5b077669757c1ec5d4d
wpt-pr: 56718

Diffstat:
Mtesting/web-platform/tests/intersection-observer/animating.html | 10++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/testing/web-platform/tests/intersection-observer/animating.html b/testing/web-platform/tests/intersection-observer/animating.html @@ -33,20 +33,22 @@ promise_test(t => { let target = document.getElementById("target"); let observer = new IntersectionObserver(function(changes) { entries = entries.concat(changes); + assert_true(entries[0].isIntersecting); changes.forEach(entry => { if (!entry.isIntersecting) { resolve("Received not-intersecting notification before animationend."); } }); }); - observer.observe(target); - await waitForNotification(); - assert_equals(entries.length, 1); - assert_true(entries[0].isIntersecting); target.style.animation = "3s linear slideup"; setTimeout(() => { reject("Did not get a not-intersecting notification within 2 seconds."); }, 2000); + target.addEventListener("animationend", evt => { + reject("animationend event fired before not-intersecting notification."); + }); + await new Promise(resolve => setTimeout(resolve, 500)); + observer.observe(target); }); }, "IntersectionObserver generates notifications when " + "a transform animation changes intersection state");