Title: [291524] trunk
Revision
291524
Author
[email protected]
Date
2022-03-19 02:12:33 -0700 (Sat, 19 Mar 2022)

Log Message

[CSS Container Queries] Add Typed OM support for container units
https://bugs.webkit.org/show_bug.cgi?id=238078

Reviewed by Alan Bujtas.

LayoutTests/imported/w3c:

* web-platform-tests/css/css-contain/container-queries/container-units-typed-om-expected.txt:

Source/WebCore:

For completeness, Typed OM is not enabled or fully implemented yet.

* css/DOMCSSNamespace+CSSNumericFactory.idl:
* css/typedom/CSSNumericFactory.h:
* css/typedom/CSSStyleValueFactory.cpp:
(WebCore::CSSStyleValueFactory::reifyValue):

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (291523 => 291524)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2022-03-19 08:49:04 UTC (rev 291523)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2022-03-19 09:12:33 UTC (rev 291524)
@@ -1,3 +1,12 @@
+2022-03-19  Antti Koivisto  <[email protected]>
+
+        [CSS Container Queries] Add Typed OM support for container units
+        https://bugs.webkit.org/show_bug.cgi?id=238078
+
+        Reviewed by Alan Bujtas.
+
+        * web-platform-tests/css/css-contain/container-queries/container-units-typed-om-expected.txt:
+
 2022-03-18  Commit Queue  <[email protected]>
 
         Unreviewed, reverting r291476.

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-typed-om-expected.txt (291523 => 291524)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-typed-om-expected.txt	2022-03-19 08:49:04 UTC (rev 291523)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/container-units-typed-om-expected.txt	2022-03-19 09:12:33 UTC (rev 291524)
@@ -1,26 +1,26 @@
 
-FAIL CSS.cqw function func is not a function. (In 'func(10)', 'func' is undefined)
-FAIL Reify value with cqw unit assert_equals: expected (number) 10 but got (undefined) undefined
+PASS CSS.cqw function
+PASS Reify value with cqw unit
 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)
-FAIL Set value with cqw unit (CSS.cqw) func is not a function. (In 'func(10)', 'func' is undefined)
-FAIL CSS.cqh function func is not a function. (In 'func(10)', 'func' is undefined)
-FAIL Reify value with cqh unit assert_equals: expected (number) 10 but got (undefined) undefined
+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)
+PASS CSS.cqh function
+PASS Reify value with cqh unit
 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)
-FAIL Set value with cqh unit (CSS.cqh) func is not a function. (In 'func(10)', 'func' is undefined)
-FAIL CSS.cqi function func is not a function. (In 'func(10)', 'func' is undefined)
-FAIL Reify value with cqi unit assert_equals: expected (number) 10 but got (undefined) undefined
+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)
+PASS CSS.cqi function
+PASS Reify value with cqi unit
 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)
-FAIL Set value with cqi unit (CSS.cqi) func is not a function. (In 'func(10)', 'func' is undefined)
-FAIL CSS.cqb function func is not a function. (In 'func(10)', 'func' is undefined)
-FAIL Reify value with cqb unit assert_equals: expected (number) 10 but got (undefined) undefined
+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)
+PASS CSS.cqb function
+PASS Reify value with cqb unit
 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)
-FAIL Set value with cqb unit (CSS.cqb) func is not a function. (In 'func(10)', 'func' is undefined)
-FAIL CSS.cqmin function func is not a function. (In 'func(10)', 'func' is undefined)
-FAIL Reify value with cqmin unit assert_equals: expected (number) 10 but got (undefined) undefined
+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)
+PASS CSS.cqmin function
+PASS Reify value with cqmin unit
 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)
-FAIL Set value with cqmin unit (CSS.cqmin) func is not a function. (In 'func(10)', 'func' is undefined)
-FAIL CSS.cqmax function func is not a function. (In 'func(10)', 'func' is undefined)
-FAIL Reify value with cqmax unit assert_equals: expected (number) 10 but got (undefined) undefined
+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)
+PASS CSS.cqmax function
+PASS Reify value with cqmax unit
 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)
-FAIL Set value with cqmax unit (CSS.cqmax) func is not a function. (In 'func(10)', 'func' is undefined)
+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)
 

Modified: trunk/Source/WebCore/ChangeLog (291523 => 291524)


--- trunk/Source/WebCore/ChangeLog	2022-03-19 08:49:04 UTC (rev 291523)
+++ trunk/Source/WebCore/ChangeLog	2022-03-19 09:12:33 UTC (rev 291524)
@@ -1,3 +1,17 @@
+2022-03-19  Antti Koivisto  <[email protected]>
+
+        [CSS Container Queries] Add Typed OM support for container units
+        https://bugs.webkit.org/show_bug.cgi?id=238078
+
+        Reviewed by Alan Bujtas.
+
+        For completeness, Typed OM is not enabled or fully implemented yet.
+
+        * css/DOMCSSNamespace+CSSNumericFactory.idl:
+        * css/typedom/CSSNumericFactory.h:
+        * css/typedom/CSSStyleValueFactory.cpp:
+        (WebCore::CSSStyleValueFactory::reifyValue):
+
 2022-03-19  Alan Bujtas  <[email protected]>
 
         [IFC][Integration] Move enclosingHeightAdjustedForPrecedingBlock off of InlineIterator::Line

Modified: trunk/Source/WebCore/css/DOMCSSNamespace+CSSNumericFactory.idl (291523 => 291524)


--- trunk/Source/WebCore/css/DOMCSSNamespace+CSSNumericFactory.idl	2022-03-19 08:49:04 UTC (rev 291523)
+++ trunk/Source/WebCore/css/DOMCSSNamespace+CSSNumericFactory.idl	2022-03-19 09:12:33 UTC (rev 291524)
@@ -54,6 +54,12 @@
     CSSUnitValue pt(double value);
     CSSUnitValue pc(double value);
     CSSUnitValue px(double value);
+    CSSUnitValue cqw(double value);
+    CSSUnitValue cqh(double value);
+    CSSUnitValue cqi(double value);
+    CSSUnitValue cqb(double value);
+    CSSUnitValue cqmin(double value);
+    CSSUnitValue cqmax(double value);
 
     // <angle>
     CSSUnitValue deg(double value);

Modified: trunk/Source/WebCore/css/typedom/CSSNumericFactory.h (291523 => 291524)


--- trunk/Source/WebCore/css/typedom/CSSNumericFactory.h	2022-03-19 08:49:04 UTC (rev 291523)
+++ trunk/Source/WebCore/css/typedom/CSSNumericFactory.h	2022-03-19 09:12:33 UTC (rev 291524)
@@ -68,6 +68,12 @@
     static Ref<CSSUnitValue> pt(double value) { return CSSUnitValue::create(value, "pt"); }
     static Ref<CSSUnitValue> pc(double value) { return CSSUnitValue::create(value, "pc"); }
     static Ref<CSSUnitValue> px(double value) { return CSSUnitValue::create(value, "px"); }
+    static Ref<CSSUnitValue> cqw(double value) { return CSSUnitValue::create(value, "cqw"); }
+    static Ref<CSSUnitValue> cqh(double value) { return CSSUnitValue::create(value, "cqh"); }
+    static Ref<CSSUnitValue> cqi(double value) { return CSSUnitValue::create(value, "cqi"); }
+    static Ref<CSSUnitValue> cqb(double value) { return CSSUnitValue::create(value, "cqb"); }
+    static Ref<CSSUnitValue> cqmin(double value) { return CSSUnitValue::create(value, "cqmin"); }
+    static Ref<CSSUnitValue> cqmax(double value) { return CSSUnitValue::create(value, "cqmax"); }
 
 
     // <angle>

Modified: trunk/Source/WebCore/css/typedom/CSSStyleValueFactory.cpp (291523 => 291524)


--- trunk/Source/WebCore/css/typedom/CSSStyleValueFactory.cpp	2022-03-19 08:49:04 UTC (rev 291523)
+++ trunk/Source/WebCore/css/typedom/CSSStyleValueFactory.cpp	2022-03-19 09:12:33 UTC (rev 291524)
@@ -219,6 +219,18 @@
             return Ref<CSSStyleValue> { CSSNumericFactory::dppx(primitiveValue->doubleValue()) };
         case CSSUnitType::CSS_FR:
             return Ref<CSSStyleValue> { CSSNumericFactory::fr(primitiveValue->doubleValue()) };
+        case CSSUnitType::CSS_CQW:
+            return Ref<CSSStyleValue> { CSSNumericFactory::cqw(primitiveValue->doubleValue()) };
+        case CSSUnitType::CSS_CQH:
+            return Ref<CSSStyleValue> { CSSNumericFactory::cqh(primitiveValue->doubleValue()) };
+        case CSSUnitType::CSS_CQI:
+            return Ref<CSSStyleValue> { CSSNumericFactory::cqi(primitiveValue->doubleValue()) };
+        case CSSUnitType::CSS_CQB:
+            return Ref<CSSStyleValue> { CSSNumericFactory::cqb(primitiveValue->doubleValue()) };
+        case CSSUnitType::CSS_CQMIN:
+            return Ref<CSSStyleValue> { CSSNumericFactory::cqmin(primitiveValue->doubleValue()) };
+        case CSSUnitType::CSS_CQMAX:
+            return Ref<CSSStyleValue> { CSSNumericFactory::cqmax(primitiveValue->doubleValue()) };
         
         case CSSUnitType::CSS_STRING: {
             auto value = CSSKeywordValue::create(primitiveValue->stringValue());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to