Closed Bug 1944879 Opened 23 days ago Closed 21 days ago

[wpt-sync] Sync PR 50386 - [functions] Add CSSFunctionRule, and related interfaces

Categories

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

task

Tracking

()

RESOLVED FIXED
136 Branch
Tracking Status
firefox136 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

Anders Hartvoll Ruud <andruud@chromium.org> wrote:

[functions] Add CSSFunctionRule, and related interfaces

A @function rule is now represented in CSSOM as a CSSFunctionRule,
consisting of a name, parameter list, return type, and child rules
(function body). The child rules currently only ever contain a single
CSSFunctionDeclarations rule, but in the future it will contain
conditional rules as well (e.g. CSSMediaRule).

Each CSSFunctionDeclarations rule holds a CSSFunctionDescriptors object,
which is a CSSStyleDeclaration that only allows/exposes that
which is valid within @function: the result descriptor, and local
variables. CSSFunctionDescriptors builds on what was done in CL:5447110
for anchor positioning, and also has some of the same limitations:
specifically Issue 333965945, which prevents indexed property getters
from working properly. (Hence the -expected.txt.)

In order to write reasonable WPTs, it was also necessary to change
the parser to actually create CSSFunctionDeclarations when parsing
the @function block.

Note that style invalidation as a result of CSSOM mutations are
intentionally not tested in this CL.

Note also that android_webview has started tracking web-exposed
interfaces with status:test (CL:6055152).

Bug: 325504770
Change-Id: I8e25a48561a8c7c06d6db6b446c6d31f8cfbcf79
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6213531
Commit-Queue: Anders Hartvoll Ruud \<andruud@chromium.org>
Reviewed-by: Rune Lillesveen \<futhark@chromium.org>
Auto-Submit: Anders Hartvoll Ruud \<andruud@chromium.org>
Reviewed-by: Steinar H Gunderson \<sesse@chromium.org>
Commit-Queue: Rune Lillesveen \<futhark@chromium.org>
Commit-Queue: Steinar H Gunderson \<sesse@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1413466}

Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core

CI Results

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

Total 1 tests and 33 subtests

Status Summary

Firefox

OK : 1
FAIL: 33

Chrome

OK : 1
FAIL: 33

Safari

OK : 1
FAIL: 33

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /css/css-mixins/at-function-cssom.tentative.html [wpt.fyi]
    • Empty CSSFunctionRule: FAIL (Chrome: FAIL, Safari: FAIL)
    • Single CSSFunctionDeclarations: FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionDescriptors (result): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionDescriptors (result, repeated): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionDescriptors (local variables): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionDescriptors (local variables, repeated): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionDescriptors (local variables and result): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionDescriptors serialization: FAIL (Chrome: FAIL, Safari: FAIL)
    • Unknown descriptors: FAIL (Chrome: FAIL, Safari: FAIL)
    • Unknown descriptors (mutation): FAIL (Chrome: FAIL, Safari: FAIL)
    • item(): FAIL (Chrome: FAIL, Safari: FAIL)
    • Indexed property getter: FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.name: FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.getParameters(): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.returnType: FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule escapes: FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--empty): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--ret-length): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--ret-length-auto): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--param-single): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--param-typed): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--param-typed-default): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--param-default): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--param-multi): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--param-multi-mixed): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--body-result): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--body-locals): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--param-type-fn): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--param-type-fn-uni): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--ret-type-fn): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--ret-type-fn-uni): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--body-result-multi): FAIL (Chrome: FAIL, Safari: FAIL)
    • CSSFunctionRule.cssText (--escaped-): FAIL (Chrome: FAIL, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a1deee97eea9 [wpt PR 50386] - [functions] Add CSSFunctionRule, and related interfaces, a=testonly https://hg.mozilla.org/integration/autoland/rev/4bc5ed760ee8 [wpt PR 50386] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 21 days ago
: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 136 Branch
You need to log in before you can comment on or make changes to this bug.