- a/Source/WebCore/ChangeLog +14 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2022-03-18  Antti Koivisto  <antti@apple.com>
2
3
        [CSS Container Queries] Add Typed OM support for container units
4
        https://bugs.webkit.org/show_bug.cgi?id=238078
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        For completeness, Typed OM is not enabled or fully implemented yet.
9
10
        * css/DOMCSSNamespace+CSSNumericFactory.idl:
11
        * css/typedom/CSSNumericFactory.h:
12
        * css/typedom/CSSStyleValueFactory.cpp:
13
        (WebCore::CSSStyleValueFactory::reifyValue):
14
1
2022-03-18  Antti Koivisto  <antti@apple.com>
15
2022-03-18  Antti Koivisto  <antti@apple.com>
2
16
3
        [CSS Container Queries] Basic support for container units
17
        [CSS Container Queries] Basic support for container units
- a/Source/WebCore/css/DOMCSSNamespace+CSSNumericFactory.idl +6 lines
Lines 54-59 a/Source/WebCore/css/DOMCSSNamespace+CSSNumericFactory.idl_sec1
54
    CSSUnitValue pt(double value);
54
    CSSUnitValue pt(double value);
55
    CSSUnitValue pc(double value);
55
    CSSUnitValue pc(double value);
56
    CSSUnitValue px(double value);
56
    CSSUnitValue px(double value);
57
    CSSUnitValue cqw(double value);
58
    CSSUnitValue cqh(double value);
59
    CSSUnitValue cqi(double value);
60
    CSSUnitValue cqb(double value);
61
    CSSUnitValue cqmin(double value);
62
    CSSUnitValue cqmax(double value);
57
63
58
    // <angle>
64
    // <angle>
59
    CSSUnitValue deg(double value);
65
    CSSUnitValue deg(double value);
- a/Source/WebCore/css/typedom/CSSNumericFactory.h +6 lines
Lines 68-73 public: a/Source/WebCore/css/typedom/CSSNumericFactory.h_sec1
68
    static Ref<CSSUnitValue> pt(double value) { return CSSUnitValue::create(value, "pt"); }
68
    static Ref<CSSUnitValue> pt(double value) { return CSSUnitValue::create(value, "pt"); }
69
    static Ref<CSSUnitValue> pc(double value) { return CSSUnitValue::create(value, "pc"); }
69
    static Ref<CSSUnitValue> pc(double value) { return CSSUnitValue::create(value, "pc"); }
70
    static Ref<CSSUnitValue> px(double value) { return CSSUnitValue::create(value, "px"); }
70
    static Ref<CSSUnitValue> px(double value) { return CSSUnitValue::create(value, "px"); }
71
    static Ref<CSSUnitValue> cqw(double value) { return CSSUnitValue::create(value, "cqw"); }
72
    static Ref<CSSUnitValue> cqh(double value) { return CSSUnitValue::create(value, "cqh"); }
73
    static Ref<CSSUnitValue> cqi(double value) { return CSSUnitValue::create(value, "cqi"); }
74
    static Ref<CSSUnitValue> cqb(double value) { return CSSUnitValue::create(value, "cqb"); }
75
    static Ref<CSSUnitValue> cqmin(double value) { return CSSUnitValue::create(value, "cqmin"); }
76
    static Ref<CSSUnitValue> cqmax(double value) { return CSSUnitValue::create(value, "cqmax"); }
71
77
72
78
73
    // <angle>
79
    // <angle>
- a/Source/WebCore/css/typedom/CSSStyleValueFactory.cpp +12 lines
Lines 219-224 ExceptionOr<Ref<CSSStyleValue>> CSSStyleValueFactory::reifyValue(Ref<CSSValue>&& a/Source/WebCore/css/typedom/CSSStyleValueFactory.cpp_sec1
219
            return Ref<CSSStyleValue> { CSSNumericFactory::dppx(primitiveValue->doubleValue()) };
219
            return Ref<CSSStyleValue> { CSSNumericFactory::dppx(primitiveValue->doubleValue()) };
220
        case CSSUnitType::CSS_FR:
220
        case CSSUnitType::CSS_FR:
221
            return Ref<CSSStyleValue> { CSSNumericFactory::fr(primitiveValue->doubleValue()) };
221
            return Ref<CSSStyleValue> { CSSNumericFactory::fr(primitiveValue->doubleValue()) };
222
        case CSSUnitType::CSS_CQW:
223
            return Ref<CSSStyleValue> { CSSNumericFactory::cqw(primitiveValue->doubleValue()) };
224
        case CSSUnitType::CSS_CQH:
225
            return Ref<CSSStyleValue> { CSSNumericFactory::cqh(primitiveValue->doubleValue()) };
226
        case CSSUnitType::CSS_CQI:
227
            return Ref<CSSStyleValue> { CSSNumericFactory::cqi(primitiveValue->doubleValue()) };
228
        case CSSUnitType::CSS_CQB:
229
            return Ref<CSSStyleValue> { CSSNumericFactory::cqb(primitiveValue->doubleValue()) };
230
        case CSSUnitType::CSS_CQMIN:
231
            return Ref<CSSStyleValue> { CSSNumericFactory::cqmin(primitiveValue->doubleValue()) };
232
        case CSSUnitType::CSS_CQMAX:
233
            return Ref<CSSStyleValue> { CSSNumericFactory::cqmax(primitiveValue->doubleValue()) };
222
        
234
        
223
        case CSSUnitType::CSS_STRING: {
235
        case CSSUnitType::CSS_STRING: {
224
            auto value = CSSKeywordValue::create(primitiveValue->stringValue());
236
            auto value = CSSKeywordValue::create(primitiveValue->stringValue());
- a/LayoutTests/imported/w3c/ChangeLog +9 lines
Lines 1-3 a/LayoutTests/imported/w3c/ChangeLog_sec1
1
2022-03-18  Antti Koivisto  <antti@apple.com>
2
3
        [CSS Container Queries] Add Typed OM support for container units
4
        https://bugs.webkit.org/show_bug.cgi?id=238078
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * web-platform-tests/css/css-contain/container-queries/container-units-typed-om-expected.txt:
9
1
2022-03-18  Antti Koivisto  <antti@apple.com>
10
2022-03-18  Antti Koivisto  <antti@apple.com>
2
11
3
        [CSS Container Queries] Basic support for container units
12
        [CSS Container Queries] Basic support for container units
- a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-typed-om-expected.txt -18 / +18 lines
Lines 1-26 a/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-typed-om-expected.txt_sec1
1
1
2
FAIL CSS.cqw function func is not a function. (In 'func(10)', 'func' is undefined)
2
PASS CSS.cqw function
3
FAIL Reify value with cqw unit assert_equals: expected (number) 10 but got (undefined) undefined
3
PASS Reify value with cqw unit
4
FAIL Set value with cqw unit (string) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', `10${unit}`)', 'element.attributeStyleMap.set' is undefined)
4
FAIL Set value with cqw unit (string) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', `10${unit}`)', 'element.attributeStyleMap.set' is undefined)
5
FAIL Set value with cqw unit (CSS.cqw) func is not a function. (In 'func(10)', 'func' is undefined)
5
FAIL Set value with cqw unit (CSS.cqw) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', func(10))', 'element.attributeStyleMap.set' is undefined)
6
FAIL CSS.cqh function func is not a function. (In 'func(10)', 'func' is undefined)
6
PASS CSS.cqh function
7
FAIL Reify value with cqh unit assert_equals: expected (number) 10 but got (undefined) undefined
7
PASS Reify value with cqh unit
8
FAIL Set value with cqh unit (string) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', `10${unit}`)', 'element.attributeStyleMap.set' is undefined)
8
FAIL Set value with cqh unit (string) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', `10${unit}`)', 'element.attributeStyleMap.set' is undefined)
9
FAIL Set value with cqh unit (CSS.cqh) func is not a function. (In 'func(10)', 'func' is undefined)
9
FAIL Set value with cqh unit (CSS.cqh) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', func(10))', 'element.attributeStyleMap.set' is undefined)
10
FAIL CSS.cqi function func is not a function. (In 'func(10)', 'func' is undefined)
10
PASS CSS.cqi function
11
FAIL Reify value with cqi unit assert_equals: expected (number) 10 but got (undefined) undefined
11
PASS Reify value with cqi unit
12
FAIL Set value with cqi unit (string) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', `10${unit}`)', 'element.attributeStyleMap.set' is undefined)
12
FAIL Set value with cqi unit (string) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', `10${unit}`)', 'element.attributeStyleMap.set' is undefined)
13
FAIL Set value with cqi unit (CSS.cqi) func is not a function. (In 'func(10)', 'func' is undefined)
13
FAIL Set value with cqi unit (CSS.cqi) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', func(10))', 'element.attributeStyleMap.set' is undefined)
14
FAIL CSS.cqb function func is not a function. (In 'func(10)', 'func' is undefined)
14
PASS CSS.cqb function
15
FAIL Reify value with cqb unit assert_equals: expected (number) 10 but got (undefined) undefined
15
PASS Reify value with cqb unit
16
FAIL Set value with cqb unit (string) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', `10${unit}`)', 'element.attributeStyleMap.set' is undefined)
16
FAIL Set value with cqb unit (string) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', `10${unit}`)', 'element.attributeStyleMap.set' is undefined)
17
FAIL Set value with cqb unit (CSS.cqb) func is not a function. (In 'func(10)', 'func' is undefined)
17
FAIL Set value with cqb unit (CSS.cqb) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', func(10))', 'element.attributeStyleMap.set' is undefined)
18
FAIL CSS.cqmin function func is not a function. (In 'func(10)', 'func' is undefined)
18
PASS CSS.cqmin function
19
FAIL Reify value with cqmin unit assert_equals: expected (number) 10 but got (undefined) undefined
19
PASS Reify value with cqmin unit
20
FAIL Set value with cqmin unit (string) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', `10${unit}`)', 'element.attributeStyleMap.set' is undefined)
20
FAIL Set value with cqmin unit (string) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', `10${unit}`)', 'element.attributeStyleMap.set' is undefined)
21
FAIL Set value with cqmin unit (CSS.cqmin) func is not a function. (In 'func(10)', 'func' is undefined)
21
FAIL Set value with cqmin unit (CSS.cqmin) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', func(10))', 'element.attributeStyleMap.set' is undefined)
22
FAIL CSS.cqmax function func is not a function. (In 'func(10)', 'func' is undefined)
22
PASS CSS.cqmax function
23
FAIL Reify value with cqmax unit assert_equals: expected (number) 10 but got (undefined) undefined
23
PASS Reify value with cqmax unit
24
FAIL Set value with cqmax unit (string) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', `10${unit}`)', 'element.attributeStyleMap.set' is undefined)
24
FAIL Set value with cqmax unit (string) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', `10${unit}`)', 'element.attributeStyleMap.set' is undefined)
25
FAIL Set value with cqmax unit (CSS.cqmax) func is not a function. (In 'func(10)', 'func' is undefined)
25
FAIL Set value with cqmax unit (CSS.cqmax) element.attributeStyleMap.set is not a function. (In 'element.attributeStyleMap.set('top', func(10))', 'element.attributeStyleMap.set' is undefined)
26
26

Return to Bug 238078