CSS 2.1 failure: outline-color-applies-to* tests fail
authorrobert@webkit.org <robert@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 14 Jan 2012 19:13:35 +0000 (19:13 +0000)
committerrobert@webkit.org <robert@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 14 Jan 2012 19:13:35 +0000 (19:13 +0000)
https://bugs.webkit.org/show_bug.cgi?id=71944

Reviewed by Julien Chaffraix.

Source/WebCore:

Paint the outline color for row, row-group, header-group and footer-group
elements.

Tests: css2.1/20110323/outline-color-applies-to-001.htm
       css2.1/20110323/outline-color-applies-to-002.htm
       css2.1/20110323/outline-color-applies-to-003.htm
       css2.1/20110323/outline-color-applies-to-004.htm
       css2.1/20110323/outline-color-applies-to-005.htm
       css2.1/20110323/outline-color-applies-to-006.htm
       css2.1/20110323/outline-color-applies-to-007.htm
       css2.1/20110323/outline-color-applies-to-008.htm
       css2.1/20110323/outline-color-applies-to-009.htm
       css2.1/20110323/outline-color-applies-to-010.htm
       (There is no outline-color-applies-to-011.htm in the test suite.)
       css2.1/20110323/outline-color-applies-to-012.htm
       css2.1/20110323/outline-color-applies-to-013.htm
       css2.1/20110323/outline-color-applies-to-014.htm
       css2.1/20110323/outline-color-applies-to-015.htm
       fast/css/outline-color-self-painting-row.htm

* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::paintOutlineForRowIfNeeded): Wrapper function for painting the outline for the row.
 This is used by RenderTableSection::paintObject and RenderTableRow::paint
(WebCore::RenderTableRow::paint): For rows with a self-painting layer, paint the outline. Tested by
 fast/css/outline-color-self-painting-row.htm.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paint): Paint the outline for header-group, row-group and footer-groups.
(WebCore::RenderTableSection::paintObject): When iterating through the cells paint the outline of rows as required.
Doing it here avoids the need to walk the RenderTableSection's tree separately elsewhere.

LayoutTests:

* css2.1/20110323/outline-color-applies-to-001-expected.html: Added.
* css2.1/20110323/outline-color-applies-to-001.htm: Added.
* css2.1/20110323/outline-color-applies-to-002-expected.html: Added.
* css2.1/20110323/outline-color-applies-to-002.htm: Added.
* css2.1/20110323/outline-color-applies-to-003-expected.html: Added.
* css2.1/20110323/outline-color-applies-to-003.htm: Added.
* css2.1/20110323/outline-color-applies-to-004-expected.html: Added.
* css2.1/20110323/outline-color-applies-to-004.htm: Added.
* css2.1/20110323/outline-color-applies-to-005-expected.html: Added.
* css2.1/20110323/outline-color-applies-to-005.htm: Added.
* css2.1/20110323/outline-color-applies-to-006-expected.html: Added.
* css2.1/20110323/outline-color-applies-to-006.htm: Added.
* css2.1/20110323/outline-color-applies-to-007-expected.html: Added.
* css2.1/20110323/outline-color-applies-to-007.htm: Added.
* css2.1/20110323/outline-color-applies-to-008-expected.html: Added.
* css2.1/20110323/outline-color-applies-to-008.htm: Added.
* css2.1/20110323/outline-color-applies-to-009-expected.html: Added.
* css2.1/20110323/outline-color-applies-to-009.htm: Added.
* css2.1/20110323/outline-color-applies-to-010-expected.html: Added.
* css2.1/20110323/outline-color-applies-to-010.htm: Added.
* css2.1/20110323/outline-color-applies-to-012-expected.html: Added.
* css2.1/20110323/outline-color-applies-to-012.htm: Added.
* css2.1/20110323/outline-color-applies-to-013-expected.html: Added.
* css2.1/20110323/outline-color-applies-to-013.htm: Added.
* css2.1/20110323/outline-color-applies-to-014-expected.html: Added.
* css2.1/20110323/outline-color-applies-to-014.htm: Added.
* css2.1/20110323/outline-color-applies-to-015-expected.html: Added.
* css2.1/20110323/outline-color-applies-to-015.htm: Added.
* fast/css/outline-color-self-painting-row-expected.html: Added.
* fast/css/outline-color-self-painting-row.htm: Added.

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

35 files changed:
LayoutTests/ChangeLog
LayoutTests/css2.1/20110323/outline-color-applies-to-001-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-001.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-002-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-002.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-003-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-003.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-004-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-004.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-005-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-005.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-006-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-006.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-007-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-007.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-008-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-008.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-009-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-009.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-010-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-010.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-012-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-012.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-013-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-013.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-014-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-014.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-015-expected.html [new file with mode: 0644]
LayoutTests/css2.1/20110323/outline-color-applies-to-015.htm [new file with mode: 0644]
LayoutTests/fast/css/outline-color-self-painting-row-expected.html [new file with mode: 0644]
LayoutTests/fast/css/outline-color-self-painting-row.htm [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderTableRow.cpp
Source/WebCore/rendering/RenderTableRow.h
Source/WebCore/rendering/RenderTableSection.cpp

index c3992df..86b53e3 100644 (file)
@@ -1,3 +1,41 @@
+2011-11-09  Robert Hogan  <robert@webkit.org>
+
+        CSS 2.1 failure: outline-color-applies-to* tests fail
+        https://bugs.webkit.org/show_bug.cgi?id=71944
+
+        Reviewed by Julien Chaffraix.
+
+        * css2.1/20110323/outline-color-applies-to-001-expected.html: Added.
+        * css2.1/20110323/outline-color-applies-to-001.htm: Added.
+        * css2.1/20110323/outline-color-applies-to-002-expected.html: Added.
+        * css2.1/20110323/outline-color-applies-to-002.htm: Added.
+        * css2.1/20110323/outline-color-applies-to-003-expected.html: Added.
+        * css2.1/20110323/outline-color-applies-to-003.htm: Added.
+        * css2.1/20110323/outline-color-applies-to-004-expected.html: Added.
+        * css2.1/20110323/outline-color-applies-to-004.htm: Added.
+        * css2.1/20110323/outline-color-applies-to-005-expected.html: Added.
+        * css2.1/20110323/outline-color-applies-to-005.htm: Added.
+        * css2.1/20110323/outline-color-applies-to-006-expected.html: Added.
+        * css2.1/20110323/outline-color-applies-to-006.htm: Added.
+        * css2.1/20110323/outline-color-applies-to-007-expected.html: Added.
+        * css2.1/20110323/outline-color-applies-to-007.htm: Added.
+        * css2.1/20110323/outline-color-applies-to-008-expected.html: Added.
+        * css2.1/20110323/outline-color-applies-to-008.htm: Added.
+        * css2.1/20110323/outline-color-applies-to-009-expected.html: Added.
+        * css2.1/20110323/outline-color-applies-to-009.htm: Added.
+        * css2.1/20110323/outline-color-applies-to-010-expected.html: Added.
+        * css2.1/20110323/outline-color-applies-to-010.htm: Added.
+        * css2.1/20110323/outline-color-applies-to-012-expected.html: Added.
+        * css2.1/20110323/outline-color-applies-to-012.htm: Added.
+        * css2.1/20110323/outline-color-applies-to-013-expected.html: Added.
+        * css2.1/20110323/outline-color-applies-to-013.htm: Added.
+        * css2.1/20110323/outline-color-applies-to-014-expected.html: Added.
+        * css2.1/20110323/outline-color-applies-to-014.htm: Added.
+        * css2.1/20110323/outline-color-applies-to-015-expected.html: Added.
+        * css2.1/20110323/outline-color-applies-to-015.htm: Added.
+        * fast/css/outline-color-self-painting-row-expected.html: Added.
+        * fast/css/outline-color-self-painting-row.htm: Added.
+
 2012-01-13  Ojan Vafai  <ojan@chromium.org>
 
         Skip test that started failing after r105015.
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-001-expected.html b/LayoutTests/css2.1/20110323/outline-color-applies-to-001-expected.html
new file mode 100644 (file)
index 0000000..59595b2
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Reference Result</title>
+        <style type="text/css">
+            #test
+            {
+                display: block;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="row">
+                    <div id="cell"></div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-001.htm b/LayoutTests/css2.1/20110323/outline-color-applies-to-001.htm
new file mode 100644 (file)
index 0000000..7430bd1
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Outline-color applied to element with display table-row-group</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline-color">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'outline-color' property applies to elements with a display of table-row-group.">
+        <style type="text/css">
+            #test
+            {
+                display: table-row-group;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="row">
+                    <div id="cell"></div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-002-expected.html b/LayoutTests/css2.1/20110323/outline-color-applies-to-002-expected.html
new file mode 100644 (file)
index 0000000..59595b2
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Reference Result</title>
+        <style type="text/css">
+            #test
+            {
+                display: block;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="row">
+                    <div id="cell"></div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-002.htm b/LayoutTests/css2.1/20110323/outline-color-applies-to-002.htm
new file mode 100644 (file)
index 0000000..ce401fc
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Outline-color applied to element with display table-header-group</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline-color">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'outline-color' property applies to elements with a display of table-header-group.">
+        <style type="text/css">
+            #test
+            {
+                display: table-header-group;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="row">
+                    <div id="cell"></div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-003-expected.html b/LayoutTests/css2.1/20110323/outline-color-applies-to-003-expected.html
new file mode 100644 (file)
index 0000000..59595b2
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Reference Result</title>
+        <style type="text/css">
+            #test
+            {
+                display: block;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="row">
+                    <div id="cell"></div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-003.htm b/LayoutTests/css2.1/20110323/outline-color-applies-to-003.htm
new file mode 100644 (file)
index 0000000..2f0216d
--- /dev/null
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Outline-color applied to element with display table-footer-group</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline-color">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'outline-color' property applies to elements with a display of table-footer-group.">
+        <style type="text/css">
+            #test
+            {
+                display: table-footer-group;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="row">
+                    <div id="cell"></div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-004-expected.html b/LayoutTests/css2.1/20110323/outline-color-applies-to-004-expected.html
new file mode 100644 (file)
index 0000000..59595b2
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Reference Result</title>
+        <style type="text/css">
+            #test
+            {
+                display: block;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="row">
+                    <div id="cell"></div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-004.htm b/LayoutTests/css2.1/20110323/outline-color-applies-to-004.htm
new file mode 100644 (file)
index 0000000..026fa22
--- /dev/null
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Outline-color applied to element with display table-row</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline-color">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'outline-color' property applies to elements with a display of table-row.">
+        <style type="text/css">
+            #test
+            {
+                display: table-row;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="cell"></div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-005-expected.html b/LayoutTests/css2.1/20110323/outline-color-applies-to-005-expected.html
new file mode 100644 (file)
index 0000000..6c5c8ff
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Reference Result</title>
+        <style type="text/css">
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is no red visible on the page.</p>
+        <div id="table">
+            <div id="test"></div>
+            <div id="row">
+                <div id="cell"></div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-005.htm b/LayoutTests/css2.1/20110323/outline-color-applies-to-005.htm
new file mode 100644 (file)
index 0000000..e2fa156
--- /dev/null
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Outline-color applied to element with display table-column-group</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline-color">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'outline-color' property does not apply to elements with a display of table-column-group.">
+        <style type="text/css">
+            #test
+            {
+                display: table-column-group;
+                outline-color: red;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is no red visible on the page.</p>
+        <div id="table">
+            <div id="test"></div>
+            <div id="row">
+                <div id="cell"></div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-006-expected.html b/LayoutTests/css2.1/20110323/outline-color-applies-to-006-expected.html
new file mode 100644 (file)
index 0000000..6c5c8ff
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Reference Result</title>
+        <style type="text/css">
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is no red visible on the page.</p>
+        <div id="table">
+            <div id="test"></div>
+            <div id="row">
+                <div id="cell"></div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-006.htm b/LayoutTests/css2.1/20110323/outline-color-applies-to-006.htm
new file mode 100644 (file)
index 0000000..30b2608
--- /dev/null
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Outline-color applied to element with display table-column</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline-color">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'outline-color' property does not apply to elements with a display of table-column.">
+        <style type="text/css">
+            #test
+            {
+                display: table-column;
+                outline-color: red;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is no red visible on the page.</p>
+        <div id="table">
+            <div id="test"></div>
+            <div id="row">
+                <div id="cell"></div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-007-expected.html b/LayoutTests/css2.1/20110323/outline-color-applies-to-007-expected.html
new file mode 100644 (file)
index 0000000..59595b2
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Reference Result</title>
+        <style type="text/css">
+            #test
+            {
+                display: block;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="row">
+                    <div id="cell"></div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-007.htm b/LayoutTests/css2.1/20110323/outline-color-applies-to-007.htm
new file mode 100644 (file)
index 0000000..8c9d23f
--- /dev/null
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Outline-color applied to element with display table-cell</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline-color">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'outline-color' property applies to elements with a display of table-cell.">
+        <style type="text/css">
+            #test
+            {
+                display: table-cell;
+                height: 1in;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+                width: 1in;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="row">
+                <div id="test"></div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-008-expected.html b/LayoutTests/css2.1/20110323/outline-color-applies-to-008-expected.html
new file mode 100644 (file)
index 0000000..fe2a441
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Reference Result</title>
+        <style type="text/css">
+            div
+            {
+                display: inline;
+                border-color: blue;
+                border-style: solid;
+                border-width: 10px;
+                margin-left: -10px;
+                margin-top: -10px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div>Filler Text</div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-008.htm b/LayoutTests/css2.1/20110323/outline-color-applies-to-008.htm
new file mode 100644 (file)
index 0000000..635ce92
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Outline-color applied to element with display inline</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline-color">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'outline-color' property applies to elements with a display of inline.">
+        <style type="text/css">
+            div
+            {
+                display: inline;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div>Filler Text</div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-009-expected.html b/LayoutTests/css2.1/20110323/outline-color-applies-to-009-expected.html
new file mode 100644 (file)
index 0000000..59595b2
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Reference Result</title>
+        <style type="text/css">
+            #test
+            {
+                display: block;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="row">
+                    <div id="cell"></div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-009.htm b/LayoutTests/css2.1/20110323/outline-color-applies-to-009.htm
new file mode 100644 (file)
index 0000000..d9d450b
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Outline-color applied to element with display block</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline-color">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'outline-color' property applies to elements with a display of block.">
+        <style type="text/css">
+            span
+            {
+                height: 1in;
+                display: block;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div>
+            <span></span>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-010-expected.html b/LayoutTests/css2.1/20110323/outline-color-applies-to-010-expected.html
new file mode 100644 (file)
index 0000000..21fb377
--- /dev/null
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Reference Result</title>
+        <style type="text/css">
+            div
+            {
+                height: 1in;
+                display: list-item;
+                margin-left: 2em;
+                width: 1in;
+            }
+            #block
+            {
+                height: 1in;
+                display: block;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 5px;
+                width: 1in;
+                margin-top: -6em;
+                margin-left: 2em;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue and there is a marker bullet on the left-hand side of the box. (Note the marker bullet can be inside or outside the box.)</p>
+        <div></div><div id="block"></div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-010.htm b/LayoutTests/css2.1/20110323/outline-color-applies-to-010.htm
new file mode 100644 (file)
index 0000000..c1befb2
--- /dev/null
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Outline-color applied to element with display list-item</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline-color">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'outline-color' property applies to elements with a display of list-item.">
+        <style type="text/css">
+            div
+            {
+                height: 1in;
+                display: list-item;
+                margin-left: 2em;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 5px;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue and there is a marker bullet on the left-hand side of the box. (Note the marker bullet can be inside or outside the box.)</p>
+        <div></div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-012-expected.html b/LayoutTests/css2.1/20110323/outline-color-applies-to-012-expected.html
new file mode 100644 (file)
index 0000000..59595b2
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Reference Result</title>
+        <style type="text/css">
+            #test
+            {
+                display: block;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="row">
+                    <div id="cell"></div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-012.htm b/LayoutTests/css2.1/20110323/outline-color-applies-to-012.htm
new file mode 100644 (file)
index 0000000..7df815b
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Outline-color applied to element with display inline-block</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline-color">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'outline-color' property applies to elements with a display of inline-block.">
+        <style type="text/css">
+            div
+            {
+                display: inline-block;
+                height: 1in;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div></div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-013-expected.html b/LayoutTests/css2.1/20110323/outline-color-applies-to-013-expected.html
new file mode 100644 (file)
index 0000000..59595b2
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Reference Result</title>
+        <style type="text/css">
+            #test
+            {
+                display: block;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="row">
+                    <div id="cell"></div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-013.htm b/LayoutTests/css2.1/20110323/outline-color-applies-to-013.htm
new file mode 100644 (file)
index 0000000..bb0f818
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Outline-color applied to element with display table</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline-color">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'outline-color' property applies to elements with a display of table.">
+        <style type="text/css">
+            #test
+            {
+                display: table;
+                table-layout: fixed;
+                height: 1in;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+                width: 1in;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="test">
+            <div id="row">
+                <div id="cell"></div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-014-expected.html b/LayoutTests/css2.1/20110323/outline-color-applies-to-014-expected.html
new file mode 100644 (file)
index 0000000..59595b2
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Reference Result</title>
+        <style type="text/css">
+            #test
+            {
+                display: block;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="row">
+                    <div id="cell"></div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-014.htm b/LayoutTests/css2.1/20110323/outline-color-applies-to-014.htm
new file mode 100644 (file)
index 0000000..5bba97d
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Outline-color applied to element with display inline-table</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline-color">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'outline-color' property applies to elements with a display of inline-table.">
+        <style type="text/css">
+            #test
+            {
+                display: inline-table;
+                table-layout: fixed;
+                height: 1in;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+                width: 1in;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="test">
+            <div id="row">
+                <div id="cell"></div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-015-expected.html b/LayoutTests/css2.1/20110323/outline-color-applies-to-015-expected.html
new file mode 100644 (file)
index 0000000..59595b2
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Reference Result</title>
+        <style type="text/css">
+            #test
+            {
+                display: block;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="row">
+                    <div id="cell"></div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/outline-color-applies-to-015.htm b/LayoutTests/css2.1/20110323/outline-color-applies-to-015.htm
new file mode 100644 (file)
index 0000000..5a3481d
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Outline-color applied to element with display table-caption</title>
+        <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#propdef-outline-color">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'outline-color' property applies to elements with a display of table-caption.">
+        <style type="text/css">
+            #test
+            {
+                display: table-caption;
+                height: 1in;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+                width: 1in;
+            }
+            #table
+            {
+                display: table;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test"></div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/fast/css/outline-color-self-painting-row-expected.html b/LayoutTests/fast/css/outline-color-self-painting-row-expected.html
new file mode 100644 (file)
index 0000000..a67caa8
--- /dev/null
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>Outline-color applied to element with display table-row and a self-painting layer</title>
+        <style type="text/css">
+            #test
+            {
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+                opacity: 0.5;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="cell"></div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/fast/css/outline-color-self-painting-row.htm b/LayoutTests/fast/css/outline-color-self-painting-row.htm
new file mode 100644 (file)
index 0000000..9f76280
--- /dev/null
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>Outline-color applied to element with display table-row and a self-painting layer</title>
+        <style type="text/css">
+            #test
+            {
+                display: table-row;
+                outline-color: blue;
+                outline-style: solid;
+                outline-width: 10px;
+                opacity: 0.5;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 1in;
+                width: 1in;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if the box below is blue.</p>
+        <div id="table">
+            <div id="test">
+                <div id="cell"></div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
index 7f3b839..90e598b 100644 (file)
@@ -1,3 +1,40 @@
+2011-11-09  Robert Hogan  <robert@webkit.org>
+
+        CSS 2.1 failure: outline-color-applies-to* tests fail
+        https://bugs.webkit.org/show_bug.cgi?id=71944
+
+        Reviewed by Julien Chaffraix.
+
+        Paint the outline color for row, row-group, header-group and footer-group
+        elements.
+
+        Tests: css2.1/20110323/outline-color-applies-to-001.htm
+               css2.1/20110323/outline-color-applies-to-002.htm
+               css2.1/20110323/outline-color-applies-to-003.htm
+               css2.1/20110323/outline-color-applies-to-004.htm
+               css2.1/20110323/outline-color-applies-to-005.htm
+               css2.1/20110323/outline-color-applies-to-006.htm
+               css2.1/20110323/outline-color-applies-to-007.htm
+               css2.1/20110323/outline-color-applies-to-008.htm
+               css2.1/20110323/outline-color-applies-to-009.htm
+               css2.1/20110323/outline-color-applies-to-010.htm
+               (There is no outline-color-applies-to-011.htm in the test suite.)
+               css2.1/20110323/outline-color-applies-to-012.htm
+               css2.1/20110323/outline-color-applies-to-013.htm
+               css2.1/20110323/outline-color-applies-to-014.htm
+               css2.1/20110323/outline-color-applies-to-015.htm
+               fast/css/outline-color-self-painting-row.htm
+
+        * rendering/RenderTableRow.cpp:
+        (WebCore::RenderTableRow::paintOutlineForRowIfNeeded): Wrapper function for painting the outline for the row.
+         This is used by RenderTableSection::paintObject and RenderTableRow::paint
+        (WebCore::RenderTableRow::paint): For rows with a self-painting layer, paint the outline. Tested by
+         fast/css/outline-color-self-painting-row.htm.
+        * rendering/RenderTableSection.cpp:
+        (WebCore::RenderTableSection::paint): Paint the outline for header-group, row-group and footer-groups.
+        (WebCore::RenderTableSection::paintObject): When iterating through the cells paint the outline of rows as required.
+        Doing it here avoids the need to walk the RenderTableSection's tree separately elsewhere.
+
 2012-01-14  Simon Fraser  <simon.fraser@apple.com>
 
         Unmatched transparency layer begin/end on a filtered element with an opacity ancestor
index bb402e3..2322744 100644 (file)
@@ -218,11 +218,18 @@ bool RenderTableRow::nodeAtPoint(const HitTestRequest& request, HitTestResult& r
     return false;
 }
 
+void RenderTableRow::paintOutlineForRowIfNeeded(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
+{
+    PaintPhase paintPhase = paintInfo.phase;
+    if ((paintPhase == PaintPhaseOutline || paintPhase == PaintPhaseSelfOutline) && style()->visibility() == VISIBLE)
+        paintOutline(paintInfo.context, LayoutRect(paintOffset, size()));
+}
+
 void RenderTableRow::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
 {
     ASSERT(hasSelfPaintingLayer());
-    if (!layer())
-        return;
+
+    paintOutlineForRowIfNeeded(paintInfo, paintOffset);
     for (RenderObject* child = firstChild(); child; child = child->nextSibling()) {
         if (child->isTableCell()) {
             // Paint the row background behind the cell.
index e5226f2..67d81c6 100644 (file)
@@ -40,6 +40,7 @@ public:
     RenderTable* table() const { return toRenderTable(parent()->parent()); }
 
     void updateBeforeAndAfterContent();
+    void paintOutlineForRowIfNeeded(PaintInfo&, const LayoutPoint&);
 
 private:
     virtual RenderObjectChildList* virtualChildren() { return children(); }
index fc13cf7..dc48a28 100644 (file)
@@ -955,6 +955,9 @@ void RenderTableSection::paint(PaintInfo& paintInfo, const LayoutPoint& paintOff
     paintObject(paintInfo, adjustedPaintOffset);
     if (pushedClip)
         popContentsClip(paintInfo, phase, adjustedPaintOffset);
+
+    if ((phase == PaintPhaseOutline || phase == PaintPhaseSelfOutline) && style()->visibility() == VISIBLE)
+        paintOutline(paintInfo.context, LayoutRect(adjustedPaintOffset, size()));
 }
 
 static inline bool compareCellPositions(RenderTableCell* elem1, RenderTableCell* elem2)
@@ -1085,6 +1088,9 @@ void RenderTableSection::paintObject(PaintInfo& paintInfo, const LayoutPoint& pa
             } else {
                 // Draw the dirty cells in the order that they appear.
                 for (unsigned r = startrow; r < endrow; r++) {
+                    RenderTableRow* row = m_grid[r].rowRenderer;
+                    if (row && !row->hasSelfPaintingLayer())
+                        row->paintOutlineForRowIfNeeded(paintInfo, paintOffset);
                     for (unsigned c = startcol; c < endcol; c++) {
                         CellStruct& current = cellAt(r, c);
                         RenderTableCell* cell = current.primaryCell();
@@ -1105,6 +1111,9 @@ void RenderTableSection::paintObject(PaintInfo& paintInfo, const LayoutPoint& pa
             HashSet<RenderTableCell*> spanningCells;
 
             for (unsigned r = startrow; r < endrow; r++) {
+                RenderTableRow* row = m_grid[r].rowRenderer;
+                if (row && !row->hasSelfPaintingLayer())
+                    row->paintOutlineForRowIfNeeded(paintInfo, paintOffset);
                 for (unsigned c = startcol; c < endcol; c++) {
                     CellStruct& current = cellAt(r, c);
                     if (!current.hasCells())