Some tests in css/css-color/parsing/system-color-valid.html are failing
authorweinig@apple.com <weinig@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 5 Jun 2020 22:05:34 +0000 (22:05 +0000)
committerweinig@apple.com <weinig@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 5 Jun 2020 22:05:34 +0000 (22:05 +0000)
https://bugs.webkit.org/show_bug.cgi?id=212703

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

* web-platform-tests/css/css-color/parsing/system-color-valid-expected.txt:
Update test results for new system colors added more recently.

Source/WebCore:

Add support for the following system color keywords, added in CSS Color 4 (https://www.w3.org/TR/css-color-4/#css-system-colors):
    ActiveText (Text in active links)
         Implemented identically to -webkit-activelink
    Canvas (Background of application content or documents)
         [NSColor textBackgroundColor] on macOS, Color::white by default.
    CanvasText (Text in application content or documents)
         [NSColor textBackgroundColor] on macOS, Color::black by default.
    Field
         [NSColor controlColor] on macOS, Color::white by default.
    FieldText
         [NSColor controlTextColor] on macOS, Color::black by default.
    LinkText
         [NSColor linkColor] on macOS (when UseSystemAppearance is true), same as -webkit-link (non-visited) by default.
    VisitedText
         [NSColor systemPurpleColor] on macOS (when UseSystemAppearance is true), same as -webkit-link (visited) by default.

* css/CSSValueKeywords.in:
* platform/ThemeTypes.cpp:
(WebCore::operator<<):
* platform/ThemeTypes.h:
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::systemColor const):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::systemColor const):

LayoutTests:

* fast/css/css2-system-color.html:
* platform/mac/fast/css/css2-system-color-expected.txt:
Update system color test for new system colors added more recently.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262658 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/css/css2-system-color.html
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/css/css-color/parsing/system-color-valid-expected.txt
LayoutTests/platform/mac/fast/css/css2-system-color-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/css/CSSValueKeywords.in
Source/WebCore/platform/ThemeTypes.cpp
Source/WebCore/platform/ThemeTypes.h
Source/WebCore/rendering/RenderTheme.cpp
Source/WebCore/rendering/RenderThemeMac.mm

index 4975b47..fe33940 100644 (file)
@@ -1,3 +1,14 @@
+2020-06-05  Sam Weinig  <weinig@apple.com>
+
+        Some tests in css/css-color/parsing/system-color-valid.html are failing
+        https://bugs.webkit.org/show_bug.cgi?id=212703
+
+        Reviewed by Darin Adler.
+
+        * fast/css/css2-system-color.html:
+        * platform/mac/fast/css/css2-system-color-expected.txt:
+        Update system color test for new system colors added more recently.
+
 2020-06-05  Jason Lawrence  <lawrence.j@apple.com>
 
         Unreviewed, reverting r262524.
index 41d983a..815ee65 100644 (file)
@@ -30,6 +30,7 @@
 <div class="content">
     <div class="box"><div class="text">ActiveBorder</div><div class="inner" style="background-color: ActiveBorder">&nbsp;</div></div>
     <div class="box"><div class="text">ActiveCaption</div><div class="inner" style="background-color: ActiveCaption">&nbsp;</div></div>
+    <div class="box"><div class="text">ActiveText</div><div class="inner" style="background-color: ActiveText">&nbsp;</div></div>
     <div class="box"><div class="text">AppWorkspace</div><div class="inner" style="background-color: AppWorkspace">&nbsp;</div></div>
     <div class="box"><div class="text">Background</div><div class="inner" style="background-color: Background">&nbsp;</div></div>
     <div class="box"><div class="text">ButtonFace</div><div class="inner" style="background-color: ButtonFace">&nbsp;</div></div>
     <div class="box"><div class="text">ButtonShadow</div><div class="inner" style="background-color: ButtonShadow">&nbsp;</div></div>
     <div class="box"><div class="text">ButtonText</div><div class="inner" style="background-color: ButtonText">&nbsp;</div></div>
     <div class="box"><div class="text">CaptionText</div><div class="inner" style="background-color: CaptionText">&nbsp;</div></div>
+    <div class="box"><div class="text">Canvas</div><div class="inner" style="background-color: Canvas">&nbsp;</div></div>
+    <div class="box"><div class="text">CanvasText</div><div class="inner" style="background-color: CanvasText">&nbsp;</div></div>
+    <div class="box"><div class="text">Field</div><div class="inner" style="background-color: Field">&nbsp;</div></div>
+    <div class="box"><div class="text">FieldText</div><div class="inner" style="background-color: FieldText">&nbsp;</div></div>
     <div class="box"><div class="text">GrayText</div><div class="inner" style="background-color: GrayText">&nbsp;</div></div>
     <div class="box"><div class="text">Highlight</div><div class="inner" style="background-color: Highlight">&nbsp;</div></div>
     <div class="box"><div class="text">HighlightText</div><div class="inner" style="background-color: HighlightText">&nbsp;</div></div>
@@ -45,6 +50,7 @@
     <div class="box"><div class="text">InactiveCaptionText</div><div class="inner" style="background-color: InactiveCaptionText">&nbsp;</div></div>
     <div class="box"><div class="text">InfoBackground</div><div class="inner" style="background-color: InfoBackground">&nbsp;</div></div>
     <div class="box"><div class="text">InfoText</div><div class="inner" style="background-color: InfoText">&nbsp;</div></div>
+    <div class="box"><div class="text">LinkText</div><div class="inner" style="background-color: LinkText">&nbsp;</div></div>
     <div class="box"><div class="text">Menu</div><div class="inner" style="background-color: Menu">&nbsp;</div></div>
     <div class="box"><div class="text">MenuText</div><div class="inner" style="background-color: MenuText">&nbsp;</div></div>
     <div class="box"><div class="text">Scrollbar</div><div class="inner" style="background-color: Scrollbar">&nbsp;</div></div>
@@ -53,6 +59,7 @@
     <div class="box"><div class="text">ThreeDHighlight</div><div class="inner" style="background-color: ThreeDHighlight">&nbsp;</div></div>
     <div class="box"><div class="text">ThreeDLightShadow</div><div class="inner" style="background-color: ThreeDLightShadow">&nbsp;</div></div>
     <div class="box"><div class="text">ThreeDShadow</div><div class="inner" style="background-color: ThreeDShadow">&nbsp;</div></div>
+    <div class="box"><div class="text">VisitedText</div><div class="inner" style="background-color: VisitedText">&nbsp;</div></div>
     <div class="box"><div class="text">Window</div><div class="inner" style="background-color: Window">&nbsp;</div></div>
     <div class="box"><div class="text">WindowFrame</div><div class="inner" style="background-color: WindowFrame">&nbsp;</div></div>
     <div class="box"><div class="text">WindowText</div><div class="inner" style="background-color: WindowText">&nbsp;</div></div>
index 2162d1c..aac66d8 100644 (file)
@@ -1,5 +1,15 @@
 2020-06-05  Sam Weinig  <weinig@apple.com>
 
+        Some tests in css/css-color/parsing/system-color-valid.html are failing
+        https://bugs.webkit.org/show_bug.cgi?id=212703
+
+        Reviewed by Darin Adler.
+
+        * web-platform-tests/css/css-color/parsing/system-color-valid-expected.txt:
+        Update test results for new system colors added more recently.
+
+2020-06-05  Sam Weinig  <weinig@apple.com>
+
         Update WPT tests for css/css-color
         https://bugs.webkit.org/show_bug.cgi?id=212842
 
index c34a2c1..5eaefc0 100644 (file)
@@ -1,14 +1,14 @@
 
-FAIL e.style['color'] = "ActiveText" should set the property value assert_not_equals: property should be set got disallowed value ""
+PASS e.style['color'] = "ActiveText" should set the property value 
 PASS e.style['color'] = "ButtonFace" should set the property value 
 PASS e.style['color'] = "ButtonText" should set the property value 
-FAIL e.style['color'] = "Canvas" should set the property value assert_not_equals: property should be set got disallowed value ""
-FAIL e.style['color'] = "CanvasText" should set the property value assert_not_equals: property should be set got disallowed value ""
-FAIL e.style['color'] = "Field" should set the property value assert_not_equals: property should be set got disallowed value ""
-FAIL e.style['color'] = "FieldText" should set the property value assert_not_equals: property should be set got disallowed value ""
+PASS e.style['color'] = "Canvas" should set the property value 
+PASS e.style['color'] = "CanvasText" should set the property value 
+PASS e.style['color'] = "Field" should set the property value 
+PASS e.style['color'] = "FieldText" should set the property value 
 PASS e.style['color'] = "GrayText" should set the property value 
 PASS e.style['color'] = "Highlight" should set the property value 
 PASS e.style['color'] = "HighlightText" should set the property value 
-FAIL e.style['color'] = "LinkText" should set the property value assert_not_equals: property should be set got disallowed value ""
-FAIL e.style['color'] = "VisitedText" should set the property value assert_not_equals: property should be set got disallowed value ""
+PASS e.style['color'] = "LinkText" should set the property value 
+PASS e.style['color'] = "VisitedText" should set the property value 
 
index 14dcfc3..624349b 100644 (file)
@@ -3,256 +3,319 @@ layer at (0,0) size 800x600
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-      RenderBlock {DIV} at (14,0) size 756x369 [border: (1px solid #000000)]
-        RenderBlock {DIV} at (3,3) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 64x12
-            RenderText {#text} at (0,0) size 64x12
-              text run at (0,0) width 64: "ActiveBorder"
-          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#4B89D0]
+      RenderBlock {DIV} at (14,0) size 756x464 [border: (1px solid #000000)]
+        RenderBlock {DIV} at (3,3) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 65x12
+            RenderText {#text} at (0,0) size 65x12
+              text run at (0,0) width 65: "ActiveBorder"
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#0067F4]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,16) size 750x12
+        RenderBlock {DIV} at (3,16) size 750x13
           RenderBlock (floating) {DIV} at (0,0) size 69x12
             RenderText {#text} at (0,0) size 69x12
               text run at (0,0) width 69: "ActiveCaption"
-          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#000000]
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#000000D8]
+            RenderText {#text} at (0,0) size 4x12
+              text run at (0,0) width 4: " "
+          RenderBlock (generated) at (0,12) size 750x1
+            RenderText at (0,0) size 0x0
+        RenderBlock {DIV} at (3,29) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 51x12
+            RenderText {#text} at (0,0) size 51x12
+              text run at (0,0) width 51: "ActiveText"
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#FF0000]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,29) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 73x12
-            RenderText {#text} at (0,0) size 73x12
-              text run at (0,0) width 73: "AppWorkspace"
+        RenderBlock {DIV} at (3,42) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 74x12
+            RenderText {#text} at (0,0) size 74x12
+              text run at (0,0) width 74: "AppWorkspace"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#AAAAAA]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,42) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 58x12
-            RenderText {#text} at (0,0) size 58x12
-              text run at (0,0) width 58: "Background"
+        RenderBlock {DIV} at (3,55) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 60x12
+            RenderText {#text} at (0,0) size 60x12
+              text run at (0,0) width 60: "Background"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#6363CE]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,55) size 750x12
+        RenderBlock {DIV} at (3,68) size 750x13
           RenderBlock (floating) {DIV} at (0,0) size 56x12
             RenderText {#text} at (0,0) size 56x12
               text run at (0,0) width 56: "ButtonFace"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#C0C0C0]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,68) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 78x12
-            RenderText {#text} at (0,0) size 78x12
-              text run at (0,0) width 78: "ButtonHighlight"
-          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#E9E9E9]
+        RenderBlock {DIV} at (3,81) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 79x12
+            RenderText {#text} at (0,0) size 79x12
+              text run at (0,0) width 79: "ButtonHighlight"
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#FFFFFF]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,81) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 72x12
-            RenderText {#text} at (0,0) size 72x12
-              text run at (0,0) width 72: "ButtonShadow"
-          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#939393]
+        RenderBlock {DIV} at (3,94) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 74x12
+            RenderText {#text} at (0,0) size 74x12
+              text run at (0,0) width 74: "ButtonShadow"
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#00000044]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,94) size 750x12
+        RenderBlock {DIV} at (3,107) size 750x13
           RenderBlock (floating) {DIV} at (0,0) size 55x12
             RenderText {#text} at (0,0) size 55x12
               text run at (0,0) width 55: "ButtonText"
-          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#000000]
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#000000D8]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,107) size 750x12
+        RenderBlock {DIV} at (3,120) size 750x13
           RenderBlock (floating) {DIV} at (0,0) size 60x12
             RenderText {#text} at (0,0) size 60x12
               text run at (0,0) width 60: "CaptionText"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#000000]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
+            RenderText at (0,0) size 0x0
+        RenderBlock {DIV} at (3,133) size 750x14
+          RenderBlock (floating) {DIV} at (0,0) size 37x12
+            RenderText {#text} at (0,0) size 37x12
+              text run at (0,0) width 37: "Canvas"
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#FFFFFF]
+            RenderText {#text} at (0,0) size 4x12
+              text run at (0,0) width 4: " "
+          RenderBlock (generated) at (0,12) size 750x1
+            RenderText at (0,0) size 0x0
+        RenderBlock {DIV} at (3,147) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 58x12
+            RenderText {#text} at (0,0) size 58x12
+              text run at (0,0) width 58: "CanvasText"
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#000000]
+            RenderText {#text} at (0,0) size 4x12
+              text run at (0,0) width 4: " "
+          RenderBlock (generated) at (0,12) size 750x1
+            RenderText at (0,0) size 0x0
+        RenderBlock {DIV} at (3,160) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 24x12
+            RenderText {#text} at (0,0) size 24x12
+              text run at (0,0) width 24: "Field"
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#FFFFFF]
+            RenderText {#text} at (0,0) size 4x12
+              text run at (0,0) width 4: " "
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,120) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 46x12
-            RenderText {#text} at (0,0) size 46x12
-              text run at (0,0) width 46: "GrayText"
-          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#808080]
+        RenderBlock {DIV} at (3,173) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 45x12
+            RenderText {#text} at (0,0) size 45x12
+              text run at (0,0) width 45: "FieldText"
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#000000D8]
+            RenderText {#text} at (0,0) size 4x12
+              text run at (0,0) width 4: " "
+          RenderBlock (generated) at (0,12) size 750x1
+            RenderText at (0,0) size 0x0
+        RenderBlock {DIV} at (3,186) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 45x12
+            RenderText {#text} at (0,0) size 45x12
+              text run at (0,0) width 45: "GrayText"
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#0000003F]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,133) size 750x12
+        RenderBlock {DIV} at (3,199) size 750x13
           RenderBlock (floating) {DIV} at (0,0) size 45x12
             RenderText {#text} at (0,0) size 45x12
               text run at (0,0) width 45: "Highlight"
-          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#BDD5FC]
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#80BCFE99]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,146) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 67x12
-            RenderText {#text} at (0,0) size 67x12
-              text run at (0,0) width 67: "HighlightText"
+        RenderBlock {DIV} at (3,212) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 66x12
+            RenderText {#text} at (0,0) size 66x12
+              text run at (0,0) width 66: "HighlightText"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#000000]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,159) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 73x12
-            RenderText {#text} at (0,0) size 73x12
-              text run at (0,0) width 73: "InactiveBorder"
+        RenderBlock {DIV} at (3,225) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 74x12
+            RenderText {#text} at (0,0) size 74x12
+              text run at (0,0) width 74: "InactiveBorder"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#FFFFFF]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,172) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 78x12
-            RenderText {#text} at (0,0) size 78x12
-              text run at (0,0) width 78: "InactiveCaption"
+        RenderBlock {DIV} at (3,238) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 79x12
+            RenderText {#text} at (0,0) size 79x12
+              text run at (0,0) width 79: "InactiveCaption"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#FFFFFF]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,185) size 750x12
+        RenderBlock {DIV} at (3,251) size 750x13
           RenderBlock (floating) {DIV} at (0,0) size 100x12
             RenderText {#text} at (0,0) size 100x12
               text run at (0,0) width 100: "InactiveCaptionText"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#000000]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,198) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 78x12
-            RenderText {#text} at (0,0) size 78x12
-              text run at (0,0) width 78: "InfoBackground"
+        RenderBlock {DIV} at (3,264) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 80x12
+            RenderText {#text} at (0,0) size 80x12
+              text run at (0,0) width 80: "InfoBackground"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#FBFCC5]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,211) size 750x12
+        RenderBlock {DIV} at (3,277) size 750x14
           RenderBlock (floating) {DIV} at (0,0) size 42x12
             RenderText {#text} at (0,0) size 42x12
               text run at (0,0) width 42: "InfoText"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#000000]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
+            RenderText at (0,0) size 0x0
+        RenderBlock {DIV} at (3,291) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 42x12
+            RenderText {#text} at (0,0) size 42x12
+              text run at (0,0) width 42: "LinkText"
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#0000EE]
+            RenderText {#text} at (0,0) size 4x12
+              text run at (0,0) width 4: " "
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,224) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 26x12
-            RenderText {#text} at (0,0) size 26x12
-              text run at (0,0) width 26: "Menu"
-          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#0E37E7]
+        RenderBlock {DIV} at (3,304) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 28x12
+            RenderText {#text} at (0,0) size 28x12
+              text run at (0,0) width 28: "Menu"
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#F6F6F6]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,237) size 750x12
+        RenderBlock {DIV} at (3,317) size 750x13
           RenderBlock (floating) {DIV} at (0,0) size 48x12
             RenderText {#text} at (0,0) size 48x12
               text run at (0,0) width 48: "MenuText"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#FFFFFF]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,250) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 44x12
-            RenderText {#text} at (0,0) size 44x12
-              text run at (0,0) width 44: "Scrollbar"
+        RenderBlock {DIV} at (3,330) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 45x12
+            RenderText {#text} at (0,0) size 45x12
+              text run at (0,0) width 45: "Scrollbar"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#AAAAAA]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,263) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 99x12
-            RenderText {#text} at (0,0) size 99x12
-              text run at (0,0) width 99: "ThreeDDarkShadow"
+        RenderBlock {DIV} at (3,343) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 100x12
+            RenderText {#text} at (0,0) size 100x12
+              text run at (0,0) width 100: "ThreeDDarkShadow"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#000000]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,276) size 750x12
+        RenderBlock {DIV} at (3,356) size 750x13
           RenderBlock (floating) {DIV} at (0,0) size 59x12
             RenderText {#text} at (0,0) size 59x12
               text run at (0,0) width 59: "ThreeDFace"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#C0C0C0]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,289) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 81x12
-            RenderText {#text} at (0,0) size 81x12
-              text run at (0,0) width 81: "ThreeDHighlight"
+        RenderBlock {DIV} at (3,369) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 82x12
+            RenderText {#text} at (0,0) size 82x12
+              text run at (0,0) width 82: "ThreeDHighlight"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#FFFFFF]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,302) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 100x12
-            RenderText {#text} at (0,0) size 100x12
-              text run at (0,0) width 100: "ThreeDLightShadow"
+        RenderBlock {DIV} at (3,382) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 101x12
+            RenderText {#text} at (0,0) size 101x12
+              text run at (0,0) width 101: "ThreeDLightShadow"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#FFFFFF]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,315) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 75x12
-            RenderText {#text} at (0,0) size 75x12
-              text run at (0,0) width 75: "ThreeDShadow"
+        RenderBlock {DIV} at (3,395) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 77x12
+            RenderText {#text} at (0,0) size 77x12
+              text run at (0,0) width 77: "ThreeDShadow"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#000000]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,328) size 750x12
-          RenderBlock (floating) {DIV} at (0,0) size 39x12
-            RenderText {#text} at (0,0) size 39x12
-              text run at (0,0) width 39: "Window"
-          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#E8E8E8]
+        RenderBlock {DIV} at (3,408) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 55x12
+            RenderText {#text} at (0,0) size 55x12
+              text run at (0,0) width 55: "VisitedText"
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#551A8B]
+            RenderText {#text} at (0,0) size 4x12
+              text run at (0,0) width 4: " "
+          RenderBlock (generated) at (0,12) size 750x1
+            RenderText at (0,0) size 0x0
+        RenderBlock {DIV} at (3,422) size 750x13
+          RenderBlock (floating) {DIV} at (0,0) size 40x12
+            RenderText {#text} at (0,0) size 40x12
+              text run at (0,0) width 40: "Window"
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#ECECEC]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,341) size 750x12
+        RenderBlock {DIV} at (3,435) size 750x13
           RenderBlock (floating) {DIV} at (0,0) size 71x12
             RenderText {#text} at (0,0) size 71x12
               text run at (0,0) width 71: "WindowFrame"
           RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#AAAAAA]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
-        RenderBlock {DIV} at (3,354) size 750x12
+        RenderBlock {DIV} at (3,448) size 750x13
           RenderBlock (floating) {DIV} at (0,0) size 61x12
             RenderText {#text} at (0,0) size 61x12
               text run at (0,0) width 61: "WindowText"
-          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#000000]
+          RenderBlock (floating) {DIV} at (130,0) size 620x12 [bgcolor=#000000D8]
             RenderText {#text} at (0,0) size 4x12
               text run at (0,0) width 4: " "
-          RenderBlock (generated) at (0,12) size 750x0
+          RenderBlock (generated) at (0,12) size 750x1
             RenderText at (0,0) size 0x0
index a029f9f..e89d552 100644 (file)
@@ -1,3 +1,35 @@
+2020-06-05  Sam Weinig  <weinig@apple.com>
+
+        Some tests in css/css-color/parsing/system-color-valid.html are failing
+        https://bugs.webkit.org/show_bug.cgi?id=212703
+
+        Reviewed by Darin Adler.
+
+        Add support for the following system color keywords, added in CSS Color 4 (https://www.w3.org/TR/css-color-4/#css-system-colors):
+            ActiveText (Text in active links)
+                 Implemented identically to -webkit-activelink
+            Canvas (Background of application content or documents)
+                 [NSColor textBackgroundColor] on macOS, Color::white by default.
+            CanvasText (Text in application content or documents)
+                 [NSColor textBackgroundColor] on macOS, Color::black by default.
+            Field
+                 [NSColor controlColor] on macOS, Color::white by default.
+            FieldText
+                 [NSColor controlTextColor] on macOS, Color::black by default.
+            LinkText
+                 [NSColor linkColor] on macOS (when UseSystemAppearance is true), same as -webkit-link (non-visited) by default.
+            VisitedText
+                 [NSColor systemPurpleColor] on macOS (when UseSystemAppearance is true), same as -webkit-link (visited) by default.
+
+        * css/CSSValueKeywords.in:
+        * platform/ThemeTypes.cpp:
+        (WebCore::operator<<):
+        * platform/ThemeTypes.h:
+        * rendering/RenderTheme.cpp:
+        (WebCore::RenderTheme::systemColor const):
+        * rendering/RenderThemeMac.mm:
+        (WebCore::RenderThemeMac::systemColor const):
+
 2020-06-05  Jason Lawrence  <lawrence.j@apple.com>
 
         Unreviewed, reverting r262524.
index c38a36c..f67599f 100644 (file)
@@ -195,6 +195,7 @@ transparent
 -webkit-activelink
 activeborder
 activecaption
+activetext
 appworkspace
 background
 buttonface
@@ -202,7 +203,11 @@ buttonhighlight
 buttonshadow
 buttontext
 activebuttontext
+canvas
+canvastext
 captiontext
+field
+fieldtext
 graytext
 highlight
 highlighttext
@@ -211,6 +216,7 @@ inactivecaption
 inactivecaptiontext
 infobackground
 infotext
+linktext
 luminance
 menutext
 scrollbar
@@ -219,6 +225,7 @@ threedface
 threedhighlight
 threedlightshadow
 threedshadow
+visitedtext
 window
 windowframe
 windowtext
index 5eb0e14..4d46d98 100644 (file)
@@ -144,13 +144,18 @@ TextStream& operator<<(TextStream& ts, ThemeColor themeColor)
     switch (themeColor) {
     case ActiveBorderColor: ts << "active-border-color"; break;
     case ActiveCaptionColor: ts << "active-caption-color"; break;
+    case ActiveTextColor: ts << "active-text-color"; break;
     case AppWorkspaceColor: ts << "app-workspace-color"; break;
     case BackgroundColor: ts << "background-color"; break;
     case ButtonFaceColor: ts << "button-face-color"; break;
     case ButtonHighlightColor: ts << "button-highlight-color"; break;
     case ButtonShadowColor: ts << "button-shadow-color"; break;
     case ButtonTextColor: ts << "button-text-color"; break;
+    case CanvasColor: ts << "canvas-color"; break;
+    case CanvasTextColor: ts << "canvas-text-color"; break;
     case CaptionTextColor: ts << "caption-text-color"; break;
+    case FieldColor: ts << "field-color"; break;
+    case FieldTextColor: ts << "field-text-color"; break;
     case GrayTextColor: ts << "gray-text-color"; break;
     case HighlightColor: ts << "highlight-color"; break;
     case HighlightTextColor: ts << "highlight-text-color"; break;
@@ -159,6 +164,7 @@ TextStream& operator<<(TextStream& ts, ThemeColor themeColor)
     case InactiveCaptionTextColor: ts << "inactive-caption-text-color"; break;
     case InfoBackgroundColor: ts << "info-background-color"; break;
     case InfoTextColor: ts << "info-text-color"; break;
+    case LinkTextColor: ts << "link-text-color"; break;
     case MatchColor: ts << "match-color"; break;
     case MenuTextColor: ts << "menu-text-color"; break;
     case ScrollbarColor: ts << "scrollbar-color"; break;
@@ -167,6 +173,7 @@ TextStream& operator<<(TextStream& ts, ThemeColor themeColor)
     case ThreeDHighlightColor: ts << "threeD-highlight-color"; break;
     case ThreeDLightShadowColor: ts << "threeD-light-shadow-color"; break;
     case ThreeDShadowColor: ts << "threeD-shadow-color"; break;
+    case VisitedTextColor: ts << "visited-text-color"; break;
     case WindowColor: ts << "window-color"; break;
     case WindowFrameColor: ts << "window-frame-color"; break;
     case WindowTextColor: ts << "window-text-color"; break;
index 1efb4ba..3d5a2b3 100644 (file)
@@ -131,13 +131,18 @@ enum ThemeFont {
 enum ThemeColor {
     ActiveBorderColor,
     ActiveCaptionColor,
+    ActiveTextColor,
     AppWorkspaceColor,
     BackgroundColor,
     ButtonFaceColor,
     ButtonHighlightColor,
     ButtonShadowColor,
     ButtonTextColor,
+    CanvasColor,
+    CanvasTextColor,
     CaptionTextColor,
+    FieldColor,
+    FieldTextColor,
     GrayTextColor,
     HighlightColor,
     HighlightTextColor,
@@ -146,6 +151,7 @@ enum ThemeColor {
     InactiveCaptionTextColor,
     InfoBackgroundColor,
     InfoTextColor,
+    LinkTextColor,
     MatchColor,
     MenuTextColor,
     ScrollbarColor,
@@ -154,6 +160,7 @@ enum ThemeColor {
     ThreeDHighlightColor,
     ThreeDLightShadowColor,
     ThreeDShadowColor,
+    VisitedTextColor,
     WindowColor,
     WindowFrameColor,
     WindowTextColor,
index 50e8c80..f4edd14 100644 (file)
@@ -1281,7 +1281,12 @@ Color RenderTheme::systemColor(CSSValueID cssValueId, OptionSet<StyleColor::Opti
     case CSSValueWebkitLink:
         return options.contains(StyleColor::Options::ForVisitedLink) ? SimpleColor { 0xFF551A8B } : SimpleColor { 0xFF0000EE };
     case CSSValueWebkitActivelink:
+    case CSSValueActivetext:
         return SimpleColor { 0xFFFF0000 };
+    case CSSValueLinktext:
+        return SimpleColor { 0xFF0000EE };
+    case CSSValueVisitedtext:
+        return SimpleColor { 0xFF551A8B };
     case CSSValueActiveborder:
         return Color::white;
     case CSSValueActivebuttontext:
@@ -1302,6 +1307,14 @@ Color RenderTheme::systemColor(CSSValueID cssValueId, OptionSet<StyleColor::Opti
         return Color::black;
     case CSSValueCaptiontext:
         return Color::black;
+    case CSSValueCanvas:
+        return Color::white;
+    case CSSValueCanvastext:
+        return Color::black;
+    case CSSValueField:
+        return Color::white;
+    case CSSValueFieldtext:
+        return Color::black;
     case CSSValueGraytext:
         return SimpleColor { 0xFF808080 };
     case CSSValueHighlight:
index 5f8337b..c1d8b39 100644 (file)
@@ -598,7 +598,12 @@ Color RenderThemeMac::systemColor(CSSValueID cssValueID, OptionSet<StyleColor::O
                 return systemAppearanceColor(cache.systemVisitedLinkColor, @selector(systemPurpleColor));
             return systemAppearanceColor(cache.systemLinkColor, @selector(linkColor));
 
+        case CSSValueLinktext:
+            return systemAppearanceColor(cache.systemLinkColor, @selector(linkColor));
+        case CSSValueVisitedtext:
+            return systemAppearanceColor(cache.systemVisitedLinkColor, @selector(systemPurpleColor));
         case CSSValueWebkitActivelink:
+        case CSSValueActivetext:
             // FIXME: Use a semantic system color for this, instead of systemRedColor. <rdar://problem/39256684>
             return systemAppearanceColor(cache.systemActiveLinkColor, @selector(systemRedColor));
 
@@ -651,8 +656,16 @@ Color RenderThemeMac::systemColor(CSSValueID cssValueID, OptionSet<StyleColor::O
                 return @selector(controlShadowColor);
             case CSSValueButtontext:
                 return @selector(controlTextColor);
+            case CSSValueCanvas:
+                return @selector(textBackgroundColor);
+            case CSSValueCanvastext:
+                return @selector(textColor);
             case CSSValueCaptiontext:
                 return @selector(textColor);
+            case CSSValueField:
+                return @selector(controlColor);
+            case CSSValueFieldtext:
+                return @selector(controlTextColor);
             case CSSValueGraytext:
                 return @selector(disabledControlTextColor);
             case CSSValueHighlighttext: