Closed Bug 1571788 Opened 5 years ago Closed 5 years ago

[wpt-sync] Sync PR 18297 - [css-layout-api] Convert to promise based API.

Categories

(Core :: CSS Parsing and Computation, task, P4)

task

Tracking

()

RESOLVED FIXED
mozilla70
Tracking Status
firefox70 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

Ian Kilpatrick <ikilpatrick@chromium.org> wrote:

[css-layout-api] Convert to promise based API.

As above! This switches the API from being generator based, to promise
based.

This introduces the specification's work queue, which is run until
exhaustion. After the work queue has been run the given promise should
be resolved, (if not we fallback to block layout).

This also introduces the CustomLayoutScope, and CustomLayoutToken
which are used together.

The CustomLayoutToken is a heap allocated class held onto objects which
should only be used within a certain layout pass. E.g. you cannot
hold onto a fragment from a previous layout pass, and use it within
the current layout pass.

This is managed by a stack allocated CustomLayoutScope, which once
destroyed marks the CustomLayoutToken as "detached". Any object which
has a "detached" token shouldn't be used.

The CustomLayoutScope is also used to hold onto the work queue.

Bug: 726125
Change-Id: Ic435c8c50fe3d3779f068b41eada815253d0b78b

Reviewed-on: https://chromium-review.googlesource.com/1716035
WPT-Export-Revision: 45be657ca367fca1e7bb05ee4c668edc09ff0ec5

Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core
PR 18297 applied with additional changes from upstream: 738b3a2ea603945395f35e6cba4dbd849deab118
Ran 3[linux32-shippable-opt], 98[windows10-64-debug,windows10-64-opt,windows10-64-qr-debug,windows10-64-qr-opt,windows10-64-shippable-opt,windows10-64-shippable-qr-opt,windows7-32-debug,windows7-32-opt,windows7-32-shippable-opt], 99[android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview,linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt,linux64-shippable-opt,linux64-shippable-qr-opt] tests and 3 subtests
OK     : 3
PASS   : 1[android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview,linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt,linux64-shippable-opt,linux64-shippable-qr-opt,windows10-64-debug,windows10-64-opt,windows10-64-qr-debug,windows10-64-qr-opt,windows10-64-shippable-opt,windows10-64-shippable-qr-opt,windows7-32-debug,windows7-32-opt,windows7-32-shippable-opt]
FAIL   : 97[windows10-64-debug,windows10-64-opt,windows10-64-qr-debug,windows10-64-qr-opt,windows10-64-shippable-opt,windows10-64-shippable-qr-opt,windows7-32-debug,windows7-32-opt,windows7-32-shippable-opt], 98[android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview,linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt,linux64-shippable-opt,linux64-shippable-qr-opt], 3[linux32-shippable-opt]

New tests that have failures or other problems:
/css/css-layout-api/fallback-layout-no-promise.https.html: FAIL[android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview,linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt,linux64-shippable-opt,linux64-shippable-qr-opt,windows10-64-debug,windows10-64-opt,windows10-64-qr-debug,windows10-64-qr-opt,windows10-64-shippable-opt,windows10-64-shippable-qr-opt,windows7-32-debug,windows7-32-opt,windows7-32-shippable-opt]
/css/css-layout-api/fallback-layout-unresolved-promise.https.html: FAIL[android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview,linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt,linux64-shippable-opt,linux64-shippable-qr-opt,windows10-64-debug,windows10-64-opt,windows10-64-qr-debug,windows10-64-qr-opt,windows10-64-shippable-opt,windows10-64-shippable-qr-opt,windows7-32-debug,windows7-32-opt,windows7-32-shippable-opt]
/css/css-layout-api/sync-layout-microtasks.https.html
    sync-layout-microtasks: FAIL
Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/4d142ba3bc61
[wpt PR 18297] - [css-layout-api] Convert to promise based API., a=testonly
https://hg.mozilla.org/integration/mozilla-inbound/rev/18f20ecfbd04
[wpt PR 18297] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
You need to log in before you can comment on or make changes to this bug.