Closed Bug 1784035 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 35416 - [ComputePressure] Implement PressureObserverManager in Blink

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox106 fixed)

RESOLVED FIXED
106 Branch
Tracking Status
firefox106 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

(Depends on 1 open bug, )

Details

(Whiteboard: [wptsync downstream])

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

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

Wei4 Wang <wei4.wang@intel.com> wrote:

[ComputePressure] Implement PressureObserverManager in Blink

Currently all PressureObservers connect to the PressureServiceImpl
directly. As a result, there may be too many Mojo connections
and the same PressureState is sent from the Browser to Blink
multiple times.

This CL implements PressureObserverManager in Blink to maintain
active PressureObservers. The PressureObserverManager connects to
the PressureServiceImpl to receive PressureState and broadcasts the
PressureState to active observers.

The implementation of registering an active PressureObserver to
PressureObserverManager is complicated now, because we need to
maintain the quantization scheme correctly. However, we will remove
the quantization in the future according to the newest spec [1]. We
can simplify the implementation when quantization is removed.

[1] https://wicg.github.io/compute-pressure/#ref-for-dfn-pressure-states-1

Bug: 1311941
Change-Id: I707d70518799c938b98f8a6aaab5177800fb0ee7

Reviewed-on: https://chromium-review.googlesource.com/3771113
WPT-Export-Revision: ae9fafdd59c73d91220aef8ee219eefd26a721b1

CI Results

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

Total 2 tests and 4 subtests

Status Summary

Firefox

OK : 2
PASS: 1
FAIL: 10

Chrome

OK : 2
PASS: 4
FAIL: 7

Safari

OK : 2
PASS: 1
FAIL: 10

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /compute-pressure/compute_pressure_basic_async.tentative.https.window.html [wpt.fyi]
    • Return NotSupportedError when calling observer(): FAIL (Chrome: FAIL, Safari: FAIL)
    • Return SecurityError when calling observer(): FAIL (Chrome: FAIL, Safari: FAIL)
    • Basic functionality test: FAIL (Chrome: FAIL, Safari: FAIL)
    • Removing observer before observe() resolves works: FAIL (Chrome: FAIL, Safari: FAIL)
    • Calling observe() multiple times works: FAIL (Chrome: FAIL, Safari: FAIL)
    • Same quantization should not stop other observers: FAIL (Chrome: FAIL, Safari: FAIL)
    • Different quantization should stop other observers: FAIL (Chrome: FAIL, Safari: FAIL)
  • /compute-pressure/compute_pressure_detached_iframe.tentative.https.html [wpt.fyi]
    • PressureObserver.observe() on detached frame rejects: FAIL (Chrome: PASS, Safari: FAIL)
    • PressureObserver.disconnect() on detached frame returns: FAIL (Chrome: PASS, Safari: FAIL)
    • Detaching frame while PressureObserver.observe() settles: FAIL (Chrome: PASS, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f4f4963b571f [wpt PR 35416] - [ComputePressure] Implement PressureObserverManager in Blink, a=testonly https://hg.mozilla.org/integration/autoland/rev/855de874b796 [wpt PR 35416] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 106 Branch
You need to log in before you can comment on or make changes to this bug.