Closed Bug 1637090 Opened 4 years ago Closed 4 years ago

[wpt-sync] Sync PR 23514 - Add state to check if Resize Observer Loop Limit error was dispatched

Categories

(Core :: Layout, task, P4)

task

Tracking

()

RESOLVED FIXED
mozilla78
Tracking Status
firefox78 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 23514 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/23514
Details from upstream follow.

Sahir Vellani <sahir.vellani@microsoft.com> wrote:

Add state to check if Resize Observer Loop Limit error was dispatched

Currently, if the resize observer loop limit error is dispatched and
the error callback affects layout causing lifecycle state to be \<
kPrePaintClean, an infinite loop may occur causing unexpected behaviour.

To fix this, state is added to the resize observer controller in order
to achieve the following flow:

  • Loop limit error is reached
  • Error callback causes lifecycle state to be \< kPrePaintClean
  • Lifecycle steps including resize observer steps are run again to move
    state to kPrePaintClean
  • Error is not dispatched a second time
  • Proceed to the paint step

Bug: 1076205
Change-Id: I904392d1dc73caf874f3d7ecf572a74422f0ab11
Reviewed-on: https://chromium-review.googlesource.com/2189352
WPT-Export-Revision: b2dd219239f3ec707b0f646f48f024fb70704d65

Component: web-platform-tests → Layout
Product: Testing → Core

CI Results

Ran 12 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 72 tests

Status Summary

Firefox

OK : 1
PASS: 71[Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-qr-debug, Gecko-windows10-64-debug, Gecko-windows10-64-qr-debug, Gecko-windows7-32-debug] 72[Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-opt, Gecko-windows10-64-qr-opt, Gecko-windows7-32-opt]
FAIL: 1

Chrome

OK : 1
FAIL: 1

Safari

OK : 1
PASS: 1

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/resize-observer/change-layout-in-error.html
Changing layout in window error handler should not result in lifecyle loop when resize observer loop limit is reached.: FAIL [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-qr-debug, Gecko-windows10-64-debug, Gecko-windows10-64-qr-debug, Gecko-windows7-32-debug, GitHub], PASS [Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-opt, Gecko-windows10-64-qr-opt, Gecko-windows7-32-opt] (Chrome: FAIL, Safari: PASS)

Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2af0d25a2ec3 [wpt PR 23514] - Add state to check if Resize Observer Loop Limit error was dispatched, a=testonly https://hg.mozilla.org/integration/autoland/rev/c5064da4adc9 [wpt PR 23514] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78
You need to log in before you can comment on or make changes to this bug.