Closed Bug 1475611 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 11964 - [css-properties-values-api] Support repeated values in Typed OM.

Categories

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

enhancement

Tracking

()

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

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

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

Anders Hartvoll Ruud <andruud@chromium.org> wrote:
>  [css-properties-values-api] Support repeated values in Typed OM.
>  
>  This patch fixes two similar problems:
>  
>   1. Computed list-valued properties show up as a CSSStyleValue when calling
>      computedStyleMap().get(name).
>   2. Computed list-valued properties show up as a CSSStyleValue when calling
>      computedStyleMap().getAll(name).
>  
>  The fixes are also similar:
>  
>   1. StylePropertyMapReadOnly::get only checked property.IsRepeated() when
>      determining whether it should look inside a possible list. However,
>      CSSPropertyVariable is never repeated. This is because
>      CSSPropertyVariable does not represent a single, specific custom
>      property, but rather _all_ custom properties.
>  
>      For CSSPropertyVariable, if we have a CSSValueList, it means that
>      it is registered with either '<foo>+', or '<foo>#', and that makes it
>      a "list valued property" [1].
>  
>  2. Similar to (1), the value would be treated as unsupported if property.
>     IsRepeated() was false. Again, a situation of CSSPropertyVariable+
>     CSSValueList means that the property is registered as a list.
>  
>  Note1: The value for a custom property can only be a CSSValueList if the
>         runtime enabled feature CSSVariables2 is enabled. In all other
>         cases, it's a CSSCustomPropertyDeclaration. See
>         ComputedStyleCSSValueMapping::Get ('registry' is nullptr without
>         the feature).
>  
>  Note2: It might make more sense to ignore the repeatability of the
>         property, and instead just look at whether we actually have a
>         CSSValueList, but such a change would require a change of the
>         css-typed-om spec.
>  
>  [1] https://drafts.css-houdini.org/css-typed-om-1/#list-valued-properties
>      https://drafts.css-houdini.org/css-typed-om-1/#reify-stylevalue
>  
>  R=chrishtr@chromium.org
>  
>  Bug: 862152
>  Change-Id: Ic854f54f14313b6b683601d0677dcc1dd4205ccd
>  Reviewed-on: https://chromium-review.googlesource.com/1136295
>  WPT-Export-Revision: e908fb57cbf092b93d7cd750401ac8aa37ff2b8e
PR 11964 applied with additional changes from upstream: 5c9c5d9154fa3d32a83d5ff08205e85dc0bd597f
Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Ran 1 tests and 20 subtests
OK     : 1
FAIL   : 20

New tests that have failures or other problems:
/css/css-properties-values-api/typedom.tentative.html
    All computed values correctly reified in comma-separated list: FAIL
    All computed values correctly reified in space-separated list: FAIL
    Computed * is reified as CSSUnparsedValue: FAIL
    Computed <angle> is reified as CSSUnitValue: FAIL
    Computed <color> is reified as CSSStyleValue: FAIL
    Computed <custom-ident> is reified as CSSKeywordValue: FAIL
    Computed <image> [url] is reified as CSSImageValue: FAIL
    Computed <integer> is reified as CSSUnitValue: FAIL
    Computed <length-percentage> [%] is reified as CSSUnitValue: FAIL
    Computed <length-percentage> [px + %] is reified as CSSMathSum: FAIL
    Computed <length-percentage> [px] is reified as CSSUnitValue: FAIL
    Computed <length> is reified as CSSUnitValue: FAIL
    Computed <number> is reified as CSSUnitValue: FAIL
    Computed <percentage> is reified as CSSUnitValue: FAIL
    Computed <resolution> is reified as CSSUnitValue: FAIL
    Computed <time> is reified as CSSUnitValue: FAIL
    Computed <url> is reified as CSSStyleValue: FAIL
    Computed ident is reified as CSSKeywordValue: FAIL
    First computed value correctly reified in comma-separated list: FAIL
    First computed value correctly reified in space-separated list: FAIL
Pushed by james@hoppipolla.co.uk:
https://hg.mozilla.org/integration/mozilla-inbound/rev/8d96cff86763
[wpt PR 11964] - [css-properties-values-api] Support repeated values in Typed OM., a=testonly
https://hg.mozilla.org/mozilla-central/rev/8d96cff86763
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
You need to log in before you can comment on or make changes to this bug.