[wpt-sync] Sync PR 36467 - Revert "Don't take snapshot in CSSScroll/ViewTimeline constructor"
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox108 fixed)
Tracking | Status | |
---|---|---|
firefox108 | --- | fixed |
People
(Reporter: mozilla.org, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 36467 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/36467
Details from upstream follow.
Xiaocheng Hu <xiaochengh@chromium.org> wrote:
Revert "Don't take snapshot in CSSScroll/ViewTimeline constructor"
This reverts commit a0391c51ec5cbea5aab72e0d732a3098996897b6.
Reason for revert: Causing build failures crbug.com/1374585
Original change's description:
Don't take snapshot in CSSScroll/ViewTimeline constructor
CSSScrolltimeline and CSSViewTime objects are created as part of style
recalc. However, they currently takes scroll offset snapshot when
constructed, which is not spec-compliant (spec says taking snapshot once
per frame update before style recalc) and violates pipeline stages.Hence, this patch removes snapshot taking from the constructors.
The behavior change is that if a scroll timeline is created due to a
style change, it won't be activated in an immediate getComputedStyle()
call, but need to wait until the next frame update. This aligns with
scroll offset changes. As a result:
- Many web tests add waitForNextFrame() before getComputedStyle()
- A unit test is changed into web test, because snapshotting is not
part of LocalFrameView::UpdateLifecyclePhases(), but current part of
update animation steps.Bug: 1371217
Change-Id: Idb0397f241ae579b580c71b01889e92fb7471bde
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3935343
Commit-Queue: Xiaocheng Hu \<xiaochengh@chromium.org>
Reviewed-by: Kevin Ellis \<kevers@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1058924}Bug: 1371217,1374585
Change-Id: I067597633a3e03eace5522454c20fe6cc5149693Reviewed-on: https://chromium-review.googlesource.com/3956549
WPT-Export-Revision: d31725763f5cef5a46df25b3454e4a92eb937429
Assignee | ||
Comment 1•2 years ago
|
||
PR 36467 applied with additional changes from upstream: 647fa47bd1d20fb4c8d8e99f0df76ef8e34b971a, c26f3ffe9d632e561da30728d4ba8c77c103c051
Assignee | ||
Comment 2•2 years ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/#/jobs?repo=try&revision=2957faeb5864613449df20151af7335838dd335f
Assignee | ||
Comment 3•2 years ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/#/jobs?repo=try&revision=31c4e4aa578923902af78a866f0e3291e9b8e5f7
Assignee | ||
Comment 4•2 years ago
|
||
CI Results
Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 9 tests and 4 subtests
Status Summary
Firefox
OK
: 8
PASS
: 1
FAIL
: 52
Chrome
OK
: 8
PASS
: 44
FAIL
: 9
Safari
OK
: 8
PASS
: 1
FAIL
: 51
Links
Details
New Tests That Don't Pass
- /scroll-animations/css/scroll-timeline-default-iframe-print.html [wpt.fyi]:
FAIL
(Chrome:FAIL
) - /scroll-animations/css/animation-timeline-named-scroll-progress-timeline.tentative.html [wpt.fyi]
- scroll-timeline-name is referenceable in animation-timeline on the declaring element itself:
FAIL
(Chrome:PASS
, Safari:FAIL
) - scroll-timeline-name is referenceable in animation-timeline on that element's descendants:
FAIL
(Chrome:PASS
, Safari:FAIL
) - scroll-timeline-name is referenceable in animation-timeline on that element's following siblings:
FAIL
(Chrome:PASS
, Safari:FAIL
) - scroll-timeline-name is referenceable in animation-timeline on that element's following siblings' descendants:
FAIL
(Chrome:PASS
, Safari:FAIL
) - scroll-timeline-name is not referenceable in animation-timeline on that element's previous siblings:
FAIL
(Chrome:PASS
, Safari:FAIL
) - scroll-timeline-name is matched based on tree order, which considers siblings closer than parents:
FAIL
(Chrome:PASS
, Safari:FAIL
) - scroll-timeline-name affects subsequent siblings when changed:
FAIL
(Chrome:PASS
, Safari:FAIL
) - scroll-timeline-name on inserted element affects subsequent siblings:
FAIL
(Chrome:PASS
, Safari:FAIL
) - scroll-timeline-name on removed element affects subsequent siblings:
FAIL
(Chrome:PASS
, Safari:FAIL
) - scroll-timeline-name on element leaving display:none affects subsequent siblings:
FAIL
(Chrome:PASS
, Safari:FAIL
) - scroll-timeline-name on element becoming display:none affects subsequent siblings:
FAIL
(Chrome:PASS
, Safari:FAIL
) - scroll-timeline-axis is block:
FAIL
(Chrome:PASS
, Safari:FAIL
) - scroll-timeline-axis is inline:
FAIL
(Chrome:PASS
, Safari:FAIL
) - scroll-timeline-axis is horizontal:
FAIL
(Chrome:PASS
, Safari:FAIL
) - scroll-timeline-axis is vertical:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- scroll-timeline-name is referenceable in animation-timeline on the declaring element itself:
- /scroll-animations/css/progress-based-animation-animation-longhand-properties.tentative.html [wpt.fyi]
- animation-duration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - animation-duration: 0s:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - animation-duration: infinite:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - animation-iteration-count:
FAIL
(Chrome:PASS
, Safari:FAIL
) - animation-iteration-count: 0:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - animation-iteration-count: infinite:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - animation-direction: normal:
FAIL
(Chrome:PASS
, Safari:FAIL
) - animation-direction: reverse:
FAIL
(Chrome:PASS
, Safari:FAIL
) - animation-direction: alternate:
FAIL
(Chrome:PASS
, Safari:FAIL
) - animation-direction: alternate-reverse:
FAIL
(Chrome:PASS
, Safari:FAIL
) - animation-delay with a positive value:
FAIL
(Chrome:PASS
, Safari:FAIL
) - animation-delay with a negative value:
FAIL
(Chrome:PASS
, Safari:FAIL
) - animation-fill-mode:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- animation-duration:
- /scroll-animations/css/scroll-timeline-dynamic.tentative.html [wpt.fyi]
- Switching between document and scroll timelines [immediate]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Switching between document and scroll timelines [scroll]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Changing computed value of animation-timeline changes effective timeline [immediate]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Changing computed value of animation-timeline changes effective timeline [scroll]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Changing to/from animation-timeline:none [immediate]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Changing to/from animation-timeline:none [scroll]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Changing scroll-timeline on preceding elements affects target element [immediate]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Changing scroll-timeline on preceding elements affects target element [scroll]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Reverse animation direction [immediate]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Reverse animation direction [scroll]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Switching timelines while paused [immediate]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Switching timelines while paused [scroll]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Switching timelines and pausing at the same time [immediate]:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Switching timelines and pausing at the same time [scroll]:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Switching between document and scroll timelines [immediate]:
- /scroll-animations/css/scroll-timeline-in-container-query.html [wpt.fyi]
- Timeline appearing via container queries:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Timeline appearing via container queries:
- /scroll-animations/css/scroll-timeline-paused-animations.html [wpt.fyi]
- Test that the scroll animation is paused:
FAIL
(Chrome:PASS
, Safari:FAIL
) - Test that the scroll animation is paused by updating animation-play-state:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Test that the scroll animation is paused:
- /scroll-animations/css/scroll-timeline-responsiveness-from-endpoint.html [wpt.fyi]
- Test that the scroll animation is still responsive after moving from 100%:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Test that the scroll animation is still responsive after moving from 100%:
- /scroll-animations/css/scroll-timeline-sibling-gcs.html [wpt.fyi]
- Timelines appearing on preceding siblings are visible to getComputedStyle:
FAIL
(Chrome:PASS
, Safari:FAIL
)
- Timelines appearing on preceding siblings are visible to getComputedStyle:
- /scroll-animations/css/view-timeline-dynamic.html [wpt.fyi]
- Dynamically changing view-timeline-name:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Dynamically changing view-timeline-axis:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Dynamically changing view-timeline-inset:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - Element with view-timeline becoming display:none:
FAIL
(Chrome:FAIL
, Safari:FAIL
)
- Dynamically changing view-timeline-name:
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/691b1c371c73 [wpt PR 36467] - Revert "Don't take snapshot in CSSScroll/ViewTimeline constructor", a=testonly https://hg.mozilla.org/integration/autoland/rev/0ffbdbf0bc43 [wpt PR 36467] - Update wpt metadata, a=testonly
Comment 6•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/691b1c371c73
https://hg.mozilla.org/mozilla-central/rev/0ffbdbf0bc43
Description
•