Closed Bug 1950241 Opened 20 days ago Closed 16 days ago

[wpt-sync] Sync PR 50916 - [functions] Support IACVT-capture for function arguments

Categories

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

task

Tracking

()

RESOLVED FIXED
137 Branch
Tracking Status
firefox137 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

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

[functions] Support IACVT-capture for function arguments

Currently, if you attempt to pass e.g. var(--unknown) as a function
argument, the declaration containing the function call becomes
invalid at computed-value time (IACVT). The intended behavior is
instead that an argument "captures" these invalid states, and instead
falls back to its default value (or failing that, just becomes
\<guaranteed-invalid>). This allows authors to pass a variable
which may or may not exist into a function, and actually act on that
information.

Fixed: 397919914
Bug: 325504770
Change-Id: I4ad474b29bdadddafc3780b5659916e7c73e46df
Reviewed-on: https://chromium-review.googlesource.com/6288531
WPT-Export-Revision: 7439f0e66c3e10c06bd30bf9652dc7baaa9679c4

Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core
PR 50916 applied with additional changes from upstream: 334e80bb577c4f4c7a55e166ee86c9e629aaa360, f2615dc6260757b8eb634d19383184031c6e7022, be0f0550c6dcbed20162994b884394dbaa533510, b5045d03a5a6963f8af68d403e24bb325f2ce2e6

CI Results

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

Total 1 tests and 67 subtests

Status Summary

Firefox

OK : 1
FAIL: 67

Chrome

OK : 1
PASS: 47
FAIL: 20

Safari

OK : 1
FAIL: 67

Links

GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /css/css-mixins/dashed-function-eval.html [wpt.fyi]
    • Literal result: FAIL (Chrome: PASS, Safari: FAIL)
    • Literal result, typed return: FAIL (Chrome: PASS, Safari: FAIL)
    • Literal result, typed return, calc: FAIL (Chrome: PASS, Safari: FAIL)
    • Literal result, typed return, mismatch: FAIL (Chrome: PASS, Safari: FAIL)
    • Missing result descriptor: FAIL (Chrome: PASS, Safari: FAIL)
    • Literal result, empty: FAIL (Chrome: PASS, Safari: FAIL)
    • result cascading behavior: FAIL (Chrome: PASS, Safari: FAIL)
    • Another dashed-function in result: FAIL (Chrome: PASS, Safari: FAIL)
    • Unused argument: FAIL (Chrome: PASS, Safari: FAIL)
    • Single parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • Multiple parameters: FAIL (Chrome: PASS, Safari: FAIL)
    • Single parameter, typed: FAIL (Chrome: PASS, Safari: FAIL)
    • Typed parameter with calc(): FAIL (Chrome: PASS, Safari: FAIL)
    • Untyped parameter with calc(): FAIL (Chrome: PASS, Safari: FAIL)
    • Various typed parameters: FAIL (Chrome: PASS, Safari: FAIL)
    • Parameter with complex type (auto): FAIL (Chrome: PASS, Safari: FAIL)
    • Parameter with complex type (px): FAIL (Chrome: PASS, Safari: FAIL)
    • Passing argument to inner function: FAIL (Chrome: PASS, Safari: FAIL)
    • var() in argument resolved before call: FAIL (Chrome: PASS, Safari: FAIL)
    • var() in argument resolved before call, typed: FAIL (Chrome: PASS, Safari: FAIL)
    • Argument captures IACVT due to invalid var(): FAIL (Chrome: FAIL, Safari: FAIL)
    • Argument captures IACVT due to invalid var(), typed: FAIL (Chrome: FAIL, Safari: FAIL)
    • Argument captures IACVT due to type mismatch: FAIL (Chrome: FAIL, Safari: FAIL)
    • Single parameter with default value: FAIL (Chrome: PASS, Safari: FAIL)
    • Multiple parameters with defaults: FAIL (Chrome: PASS, Safari: FAIL)
    • Multiple parameters with defaults, typed: FAIL (Chrome: PASS, Safari: FAIL)
    • Default referencing another parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • Default referencing another parameter, local interference: FAIL (Chrome: FAIL, Safari: FAIL)
    • Default referencing another defaulted parameter: FAIL (Chrome: FAIL, Safari: FAIL)
    • Typed default with reference: FAIL (Chrome: FAIL, Safari: FAIL)
    • IACVT arguments are defaulted: FAIL (Chrome: FAIL, Safari: FAIL)
    • IACVT arguments are defaulted, typed: FAIL (Chrome: FAIL, Safari: FAIL)
    • Arguments are defaulted on type mismatch: FAIL (Chrome: FAIL, Safari: FAIL)
    • Unused local: FAIL (Chrome: PASS, Safari: FAIL)
    • Local does not affect outer scope: FAIL (Chrome: PASS, Safari: FAIL)
    • Substituting local in result: FAIL (Chrome: PASS, Safari: FAIL)
    • Substituting multiple locals in result: FAIL (Chrome: PASS, Safari: FAIL)
    • Local referring to another local: FAIL (Chrome: PASS, Safari: FAIL)
    • Locals appearing after result: FAIL (Chrome: PASS, Safari: FAIL)
    • Locals cascading behavior: FAIL (Chrome: PASS, Safari: FAIL)
    • Custom properties are visible inside function: FAIL (Chrome: PASS, Safari: FAIL)
    • Substitute local from outer scope: FAIL (Chrome: PASS, Safari: FAIL)
    • Substitute argument from outer scope: FAIL (Chrome: PASS, Safari: FAIL)
    • Inner argument shadowing outer argument: FAIL (Chrome: PASS, Safari: FAIL)
    • Inner argument shadowing outer local: FAIL (Chrome: PASS, Safari: FAIL)
    • Inner local shadowing outer argument: FAIL (Chrome: PASS, Safari: FAIL)
    • Inner local shadowing outer local: FAIL (Chrome: PASS, Safari: FAIL)
    • Referencing outer local containing var(): FAIL (Chrome: PASS, Safari: FAIL)
    • Referencing outer typed argument: FAIL (Chrome: PASS, Safari: FAIL)
    • Same function with different scopes: FAIL (Chrome: PASS, Safari: FAIL)
    • Referencing local two frames up: FAIL (Chrome: PASS, Safari: FAIL)
    • IACVT outer local shadows property: FAIL (Chrome: PASS, Safari: FAIL)
    • Inner function call should see resolved outer locals: FAIL (Chrome: FAIL, Safari: FAIL)
    • Inner function call should see resolved outer locals (reverse): FAIL (Chrome: PASS, Safari: FAIL)
    • Parameter shadows custom property: FAIL (Chrome: PASS, Safari: FAIL)
    • Local shadows parameter: FAIL (Chrome: PASS, Safari: FAIL)
    • IACVT argument shadows outer scope: FAIL (Chrome: FAIL, Safari: FAIL)
    • IACVT argument shadows outer scope, typed: FAIL (Chrome: FAIL, Safari: FAIL)
    • IACVT argument shadows outer scope, type mismatch: FAIL (Chrome: FAIL, Safari: FAIL)
    • Missing only argument: FAIL (Chrome: PASS, Safari: FAIL)
    • Missing one argument of several: FAIL (Chrome: PASS, Safari: FAIL)
    • Passing list as only argument: FAIL (Chrome: FAIL, Safari: FAIL)
    • Passing list as first argument: FAIL (Chrome: FAIL, Safari: FAIL)
    • Passing list as second argument: FAIL (Chrome: FAIL, Safari: FAIL)
    • Passing comma as argument: FAIL (Chrome: FAIL, Safari: FAIL)
    • Passing {} as argument: FAIL (Chrome: FAIL, Safari: FAIL)
    • Passing non-whole-value {} as argument: FAIL (Chrome: FAIL, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c6737230d5ff [wpt PR 50916] - [functions] Support IACVT-capture for function arguments, a=testonly https://hg.mozilla.org/integration/autoland/rev/8d6579eee79a [wpt PR 50916] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 16 days ago
Resolution: --- → FIXED
Target Milestone: --- → 137 Branch
You need to log in before you can comment on or make changes to this bug.