CSS 2.1 failure: margin-applies-to-015 fails, WebKit does not respect top margin...
authorrobert@webkit.org <robert@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 31 Aug 2011 18:48:28 +0000 (18:48 +0000)
committerrobert@webkit.org <robert@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 31 Aug 2011 18:48:28 +0000 (18:48 +0000)
https://bugs.webkit.org/show_bug.cgi?id=34763

Reviewed by Simon Fraser.

Source/WebCore:

* rendering/RenderTable.cpp:
(WebCore::RenderTable::adjustLogicalHeightForCaption): Added the caption's margin to the position calculation.

LayoutTests:

* css2.1/20110323/margin-applies-to-001.htm: Added.
* css2.1/20110323/margin-applies-to-002.htm: Added.
* css2.1/20110323/margin-applies-to-003.htm: Added.
* css2.1/20110323/margin-applies-to-004.htm: Added.
* css2.1/20110323/margin-applies-to-005.htm: Added.
* css2.1/20110323/margin-applies-to-006.htm: Added.
* css2.1/20110323/margin-applies-to-007.htm: Added.
* css2.1/20110323/margin-applies-to-008.htm: Added.
* css2.1/20110323/margin-applies-to-009.htm: Added.
* css2.1/20110323/margin-applies-to-010.htm: Added.
* css2.1/20110323/margin-applies-to-012.htm: Added.
* css2.1/20110323/margin-applies-to-013.htm: Added.
* css2.1/20110323/margin-applies-to-014.htm: Added.
* css2.1/20110323/margin-applies-to-015.htm: Added.
  - Added from http://test.csswg.org/suites/css2.1/20110323/html4/chapter-8.html
* platform/chromium-linux/css2.1/20110323/margin-applies-to-001-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-001-expected.txt: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-002-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-002-expected.txt: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-003-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-003-expected.txt: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-004-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-004-expected.txt: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-005-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-005-expected.txt: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-006-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-006-expected.txt: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-007-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-007-expected.txt: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-008-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-008-expected.txt: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-009-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-009-expected.txt: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-010-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-010-expected.txt: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-012-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-012-expected.txt: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-013-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-013-expected.txt: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-014-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-014-expected.txt: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-015-expected.png: Added.
* platform/chromium-linux/css2.1/20110323/margin-applies-to-015-expected.txt: Added.
  - Chromium-Linux results for  http://test.csswg.org/suites/css2.1/20110323/html4/chapter-8.html
* platform/chromium-linux/tables/mozilla_expected_failures/core/captions1-expected.png:
* platform/chromium-linux/tables/mozilla_expected_failures/core/captions2-expected.png:
* platform/chromium-win/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
* platform/chromium-win/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
* platform/chromium-win/tables/mozilla_expected_failures/core/captions1-expected.txt:
* platform/chromium-win/tables/mozilla_expected_failures/core/captions2-expected.txt:
* platform/chromium-win/tables/mozilla_expected_failures/core/captions3-expected.txt:
  - Updated to reflect position of table caption taking account of margin, matching Firefox where appropriate. Still some
    unrelated failures that prevent matching Firefox exactly.

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

52 files changed:
LayoutTests/ChangeLog
LayoutTests/css2.1/20110323/margin-applies-to-001.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/margin-applies-to-002.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/margin-applies-to-003.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/margin-applies-to-004.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/margin-applies-to-005.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/margin-applies-to-006.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/margin-applies-to-007.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/margin-applies-to-008.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/margin-applies-to-009.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/margin-applies-to-010.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/margin-applies-to-012.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/margin-applies-to-013.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/margin-applies-to-014.htm [new file with mode: 0644]
LayoutTests/css2.1/20110323/margin-applies-to-015.htm [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-001-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-001-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-002-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-002-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-003-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-003-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-004-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-004-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-005-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-005-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-006-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-006-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-007-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-007-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-008-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-008-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-009-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-009-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-010-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-010-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-012-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-012-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-013-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-013-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-014-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-014-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-015-expected.png [new file with mode: 0644]
LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-015-expected.txt [new file with mode: 0644]
LayoutTests/platform/chromium-linux/tables/mozilla_expected_failures/core/captions1-expected.png
LayoutTests/platform/chromium-linux/tables/mozilla_expected_failures/core/captions2-expected.png
LayoutTests/platform/chromium-win/tables/mozilla_expected_failures/bugs/bug10140-expected.txt
LayoutTests/platform/chromium-win/tables/mozilla_expected_failures/bugs/bug91057-expected.txt
LayoutTests/platform/chromium-win/tables/mozilla_expected_failures/core/captions1-expected.txt
LayoutTests/platform/chromium-win/tables/mozilla_expected_failures/core/captions2-expected.txt
LayoutTests/platform/chromium-win/tables/mozilla_expected_failures/core/captions3-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderTable.cpp

index a12aaa5..5ff9bc3 100644 (file)
@@ -1,3 +1,64 @@
+2011-08-28  Robert Hogan  <robert@webkit.org>
+
+        CSS 2.1 failure: margin-applies-to-015 fails, WebKit does not respect top margin for table captions
+        https://bugs.webkit.org/show_bug.cgi?id=34763
+
+        Reviewed by Simon Fraser.
+
+        * css2.1/20110323/margin-applies-to-001.htm: Added.
+        * css2.1/20110323/margin-applies-to-002.htm: Added.
+        * css2.1/20110323/margin-applies-to-003.htm: Added.
+        * css2.1/20110323/margin-applies-to-004.htm: Added.
+        * css2.1/20110323/margin-applies-to-005.htm: Added.
+        * css2.1/20110323/margin-applies-to-006.htm: Added.
+        * css2.1/20110323/margin-applies-to-007.htm: Added.
+        * css2.1/20110323/margin-applies-to-008.htm: Added.
+        * css2.1/20110323/margin-applies-to-009.htm: Added.
+        * css2.1/20110323/margin-applies-to-010.htm: Added.
+        * css2.1/20110323/margin-applies-to-012.htm: Added.
+        * css2.1/20110323/margin-applies-to-013.htm: Added.
+        * css2.1/20110323/margin-applies-to-014.htm: Added.
+        * css2.1/20110323/margin-applies-to-015.htm: Added.
+          - Added from http://test.csswg.org/suites/css2.1/20110323/html4/chapter-8.html
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-001-expected.png: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-001-expected.txt: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-002-expected.png: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-002-expected.txt: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-003-expected.png: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-003-expected.txt: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-004-expected.png: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-004-expected.txt: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-005-expected.png: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-005-expected.txt: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-006-expected.png: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-006-expected.txt: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-007-expected.png: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-007-expected.txt: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-008-expected.png: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-008-expected.txt: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-009-expected.png: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-009-expected.txt: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-010-expected.png: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-010-expected.txt: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-012-expected.png: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-012-expected.txt: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-013-expected.png: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-013-expected.txt: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-014-expected.png: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-014-expected.txt: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-015-expected.png: Added.
+        * platform/chromium-linux/css2.1/20110323/margin-applies-to-015-expected.txt: Added.
+          - Chromium-Linux results for  http://test.csswg.org/suites/css2.1/20110323/html4/chapter-8.html
+        * platform/chromium-linux/tables/mozilla_expected_failures/core/captions1-expected.png:
+        * platform/chromium-linux/tables/mozilla_expected_failures/core/captions2-expected.png:
+        * platform/chromium-win/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
+        * platform/chromium-win/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
+        * platform/chromium-win/tables/mozilla_expected_failures/core/captions1-expected.txt:
+        * platform/chromium-win/tables/mozilla_expected_failures/core/captions2-expected.txt:
+        * platform/chromium-win/tables/mozilla_expected_failures/core/captions3-expected.txt:
+          - Updated to reflect position of table caption taking account of margin, matching Firefox where appropriate. Still some
+            unrelated failures that prevent matching Firefox exactly.
+
 2011-08-31  David Hyatt  <hyatt@apple.com>
 
         https://bugs.webkit.org/show_bug.cgi?id=67300
diff --git a/LayoutTests/css2.1/20110323/margin-applies-to-001.htm b/LayoutTests/css2.1/20110323/margin-applies-to-001.htm
new file mode 100644 (file)
index 0000000..0b9327a
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Margin 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/box.html#propdef-margin">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#margin-properties">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'Margin' property does not apply to elements with a display of table-row-group.">
+        <style type="text/css">
+            #wrapper
+            {
+                border: 10px solid blue;
+                position: absolute;
+            }
+            #test
+            {
+                display: table-row-group;
+                margin: 50px;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #cell
+            {
+                border: 10px solid orange;
+                display: table-cell;
+                height: 200px;
+                width: 200px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is no space between the blue and orange lines below.</p>
+        <div id="wrapper">
+            <div id="table">
+                <div id="test">
+                    <div id="row">
+                        <div id="cell"></div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/margin-applies-to-002.htm b/LayoutTests/css2.1/20110323/margin-applies-to-002.htm
new file mode 100644 (file)
index 0000000..0f51e93
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Margin 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/box.html#propdef-margin">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#margin-properties">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'Margin' property does not apply to elements with a display of table-header-group.">
+        <style type="text/css">
+            #wrapper
+            {
+                border: 10px solid blue;
+                position: absolute;
+            }
+            #test
+            {
+                display: table-header-group;
+                margin: 50px;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #cell
+            {
+                border: 10px solid orange;
+                display: table-cell;
+                height: 200px;
+                width: 200px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is no space between the blue and orange lines below.</p>
+        <div id="wrapper">
+            <div id="table">
+                <div id="test">
+                    <div id="row">
+                        <div id="cell"></div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/margin-applies-to-003.htm b/LayoutTests/css2.1/20110323/margin-applies-to-003.htm
new file mode 100644 (file)
index 0000000..68df789
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Margin 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/box.html#propdef-margin">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#margin-properties">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'Margin' property does not apply to elements with a display of table-footer-group.">
+        <style type="text/css">
+            #wrapper
+            {
+                border: 10px solid blue;
+                position: absolute;
+            }
+            #test
+            {
+                display: table-footer-group;
+                margin: 50px;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #cell
+            {
+                border: 10px solid orange;
+                display: table-cell;
+                height: 200px;
+                width: 200px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is no space between the blue and orange lines below.</p>
+        <div id="wrapper">
+            <div id="table">
+                <div id="test">
+                    <div id="row">
+                        <div id="cell"></div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/margin-applies-to-004.htm b/LayoutTests/css2.1/20110323/margin-applies-to-004.htm
new file mode 100644 (file)
index 0000000..5a92e70
--- /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: Margin 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/box.html#propdef-margin">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#margin-properties">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'Margin' property does not apply to elements with a display of table-row.">
+        <style type="text/css">
+            #wrapper
+            {
+                border: 10px solid blue;
+                position: absolute;
+            }
+            #test
+            {
+                display: table-row;
+                margin: 50px;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #cell
+            {
+                border: 10px solid orange;
+                display: table-cell;
+                height: 200px;
+                width: 200px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is no space between the blue and orange lines below.</p>
+        <div id="wrapper">
+            <div id="table">
+                <div id="test">
+                    <div id="cell"></div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/margin-applies-to-005.htm b/LayoutTests/css2.1/20110323/margin-applies-to-005.htm
new file mode 100644 (file)
index 0000000..acc8abc
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Margin 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/box.html#propdef-margin">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#margin-properties">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'Margin' property does not apply to elements with a display of table-column-group.">
+        <style type="text/css">
+            #wrapper
+            {
+                border: 10px solid blue;
+                position: absolute;
+            }
+            #test
+            {
+                display: table-column-group;
+                margin: 50px;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #cell
+            {
+                border: 10px solid orange;
+                display: table-cell;
+                height: 200px;
+                width: 200px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is no space between the blue and orange lines below.</p>
+        <div id="wrapper">
+            <div id="table">
+                <div id="test"></div>
+                <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/margin-applies-to-006.htm b/LayoutTests/css2.1/20110323/margin-applies-to-006.htm
new file mode 100644 (file)
index 0000000..06af587
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+    <head>
+        <title>CSS Test: Margin 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/box.html#propdef-margin">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#margin-properties">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'Margin' property does not apply to elements with a display of table-column.">
+        <style type="text/css">
+            #wrapper
+            {
+                border: 10px solid blue;
+                position: absolute;
+            }
+            #test
+            {
+                display: table-column;
+                margin: 50px;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #cell
+            {
+                border: 10px solid orange;
+                display: table-cell;
+                height: 200px;
+                width: 200px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is no space between the blue and orange lines below.</p>
+        <div id="wrapper">
+            <div id="table">
+                <div id="test"></div>
+                <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/margin-applies-to-007.htm b/LayoutTests/css2.1/20110323/margin-applies-to-007.htm
new file mode 100644 (file)
index 0000000..0afe2f8
--- /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: Margin 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/box.html#propdef-margin">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#margin-properties">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'Margin' property applies to elements with a display of table-cell.">
+        <style type="text/css">
+            #wrapper
+            {
+                border: 10px solid blue;
+                position: absolute;
+            }
+            #table
+            {
+                display: table;
+                table-layout: fixed;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #cell
+            {
+                border: 10px solid orange;
+                display: table-cell;
+                height: 200px;
+                margin: 50px;
+                width: 200px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is no space between the blue and orange lines below.</p>
+        <div id="wrapper">
+            <div id="table">
+                <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/margin-applies-to-008.htm b/LayoutTests/css2.1/20110323/margin-applies-to-008.htm
new file mode 100644 (file)
index 0000000..67519ee
--- /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>CSS Test: Margin 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/box.html#propdef-margin">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#margin-properties">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'Margin' property applies to elements with a display of inline.">
+        <style type="text/css">
+            div
+            {
+                display: inline;
+            }
+            #div1
+            {
+                border-left: 5px solid blue;
+                border-right: 5px solid blue;
+            }
+            div div
+            {
+                border-left: 5px solid orange;
+                border-right: 5px solid orange;
+                margin: 50px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is space between the blue and orange lines below.</p>
+        <div id="div1">
+            <div>Filler Text</div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/margin-applies-to-009.htm b/LayoutTests/css2.1/20110323/margin-applies-to-009.htm
new file mode 100644 (file)
index 0000000..bb75081
--- /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>CSS Test: Margin 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/box.html#propdef-margin">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#margin-properties">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'Margin' property applies to elements with a display of block.">
+        <style type="text/css">
+            div
+            {
+                display: block;
+            }
+            #wrapper
+            {
+                border: 10px solid blue;
+                position: absolute;
+            }
+            #test
+            {
+                border: 10px solid orange;
+                height: 200px;
+                margin: 50px;
+                width: 200px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is space between the blue and orange lines below.</p>
+        <div id="wrapper">
+            <div id="test"></div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/margin-applies-to-010.htm b/LayoutTests/css2.1/20110323/margin-applies-to-010.htm
new file mode 100644 (file)
index 0000000..a78b9e8
--- /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: Margin 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/box.html#propdef-margin">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#margin-properties">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'Margin' property applies to elements with a display of list-item.">
+        <style type="text/css">
+            #wrapper
+            {
+                border: 10px solid blue;
+                position: absolute;
+            }
+            #test
+            {
+                border: 10px solid orange;
+                display: list-item;
+                height: 200px;
+                width: 200px;
+                margin: 50px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is space between the blue and orange lines below and there is a marker bullet on the left-hand side of the orange box.</p>
+        <div id="wrapper">
+            <div id="test"></div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/margin-applies-to-012.htm b/LayoutTests/css2.1/20110323/margin-applies-to-012.htm
new file mode 100644 (file)
index 0000000..81640a9
--- /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: Margin 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/box.html#propdef-margin">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#margin-properties">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'Margin' property applies to elements with a display of inline-block.">
+        <style type="text/css">
+            #wrapper
+            {
+                border: 10px solid blue;
+                position: absolute;
+            }
+            #test
+            {
+                border: 10px solid orange;
+                display: inline-block;
+                height: 200px;
+                width: 200px;
+                margin: 50px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is space between the blue and orange lines below.</p>
+        <div id="wrapper">
+            <div id="test"></div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/css2.1/20110323/margin-applies-to-013.htm b/LayoutTests/css2.1/20110323/margin-applies-to-013.htm
new file mode 100644 (file)
index 0000000..e4a2148
--- /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: Margin 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/box.html#propdef-margin">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#margin-properties">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'Margin' property applies to elements with a display of table.">
+        <style type="text/css">
+            #wrapper
+            {
+                border: 10px solid blue;
+                position: absolute;
+            }
+            #table
+            {
+                border: 10px solid orange;
+                display: table;
+                table-layout: fixed;
+                margin: 50px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 200px;
+                width: 200px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is space between the blue and orange lines below.</p>
+        <div id="wrapper">
+            <div id="table">
+                <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/margin-applies-to-014.htm b/LayoutTests/css2.1/20110323/margin-applies-to-014.htm
new file mode 100644 (file)
index 0000000..0cab9b1
--- /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: Margin 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/box.html#propdef-margin">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#margin-properties">
+        <meta name="flags" content="">
+        <meta name="assert" content="The 'Margin' property applies to elements with a display of inline-table.">
+        <style type="text/css">
+            #wrapper
+            {
+                border: 10px solid blue;
+                position: absolute;
+            }
+            #table
+            {
+                border: 10px solid orange;
+                display: inline-table;
+                table-layout: fixed;
+                margin: 50px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #cell
+            {
+                display: table-cell;
+                height: 200px;
+                width: 200px;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is space between the blue and orange lines below.</p>
+        <div id="wrapper">
+            <div id="table">
+                <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/margin-applies-to-015.htm b/LayoutTests/css2.1/20110323/margin-applies-to-015.htm
new file mode 100644 (file)
index 0000000..a6d8098
--- /dev/null
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+    <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+        <title>CSS Test: Margin applied to element with display table-caption</title>
+        <link rel="author" href="http://www.microsoft.com/" title="Microsoft">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#propdef-margin">
+        <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#margin-properties">
+        <meta content="" name="flags">
+        <meta content="The 'Margin' property applies to elements with a display of table-caption." name="assert">
+        <style type="text/css">
+            #wrapper
+            {
+                border: 10px solid blue;
+                position: absolute;
+            }
+            #test
+            {
+                border: 10px solid orange;
+                display: table-caption;
+                height: 200px;
+                margin: 50px;
+            }
+            #table
+            {
+                border-collapse: collapse;
+                display: table;
+                width: 320px;
+            }
+            #row
+            {
+                display: table-row;
+            }
+            #cell
+            {
+                display: table-cell;
+            }
+        </style>
+    </head>
+    <body>
+        <p>Test passes if there is space between the blue and orange lines below.</p>
+        <div id="wrapper">
+            <div id="table">
+                <div id="test"></div>
+                <div id="row">
+                    <div id="cell"></div>
+                </div>
+            </div>
+        </div>
+    </body>
+</html>
\ No newline at end of file
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-001-expected.png b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-001-expected.png
new file mode 100644 (file)
index 0000000..5b3954f
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-001-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-001-expected.txt b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-001-expected.txt
new file mode 100644 (file)
index 0000000..a5b6e56
--- /dev/null
@@ -0,0 +1,14 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x52
+  RenderBlock {HTML} at (0,0) size 800x52
+    RenderBody {BODY} at (8,16) size 784x20
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 438x19
+          text run at (0,0) width 438: "Test passes if there is no space between the blue and orange lines below."
+layer at (8,52) size 240x240
+  RenderBlock (positioned) {DIV} at (8,52) size 240x240 [border: (10px solid #0000FF)]
+    RenderTable {DIV} at (10,10) size 220x220
+      RenderTableSection {DIV} at (0,0) size 220x220
+        RenderTableRow {DIV} at (0,0) size 220x220
+          RenderTableCell {DIV} at (0,0) size 220x20 [border: (10px solid #FFA500)] [r=0 c=0 rs=1 cs=1]
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-002-expected.png b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-002-expected.png
new file mode 100644 (file)
index 0000000..5b3954f
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-002-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-002-expected.txt b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-002-expected.txt
new file mode 100644 (file)
index 0000000..a5b6e56
--- /dev/null
@@ -0,0 +1,14 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x52
+  RenderBlock {HTML} at (0,0) size 800x52
+    RenderBody {BODY} at (8,16) size 784x20
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 438x19
+          text run at (0,0) width 438: "Test passes if there is no space between the blue and orange lines below."
+layer at (8,52) size 240x240
+  RenderBlock (positioned) {DIV} at (8,52) size 240x240 [border: (10px solid #0000FF)]
+    RenderTable {DIV} at (10,10) size 220x220
+      RenderTableSection {DIV} at (0,0) size 220x220
+        RenderTableRow {DIV} at (0,0) size 220x220
+          RenderTableCell {DIV} at (0,0) size 220x20 [border: (10px solid #FFA500)] [r=0 c=0 rs=1 cs=1]
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-003-expected.png b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-003-expected.png
new file mode 100644 (file)
index 0000000..5b3954f
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-003-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-003-expected.txt b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-003-expected.txt
new file mode 100644 (file)
index 0000000..a5b6e56
--- /dev/null
@@ -0,0 +1,14 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x52
+  RenderBlock {HTML} at (0,0) size 800x52
+    RenderBody {BODY} at (8,16) size 784x20
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 438x19
+          text run at (0,0) width 438: "Test passes if there is no space between the blue and orange lines below."
+layer at (8,52) size 240x240
+  RenderBlock (positioned) {DIV} at (8,52) size 240x240 [border: (10px solid #0000FF)]
+    RenderTable {DIV} at (10,10) size 220x220
+      RenderTableSection {DIV} at (0,0) size 220x220
+        RenderTableRow {DIV} at (0,0) size 220x220
+          RenderTableCell {DIV} at (0,0) size 220x20 [border: (10px solid #FFA500)] [r=0 c=0 rs=1 cs=1]
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-004-expected.png b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-004-expected.png
new file mode 100644 (file)
index 0000000..5b3954f
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-004-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-004-expected.txt b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-004-expected.txt
new file mode 100644 (file)
index 0000000..a163758
--- /dev/null
@@ -0,0 +1,14 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x52
+  RenderBlock {HTML} at (0,0) size 800x52
+    RenderBody {BODY} at (8,16) size 784x20
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 438x19
+          text run at (0,0) width 438: "Test passes if there is no space between the blue and orange lines below."
+layer at (8,52) size 240x240
+  RenderBlock (positioned) {DIV} at (8,52) size 240x240 [border: (10px solid #0000FF)]
+    RenderTable {DIV} at (10,10) size 220x220
+      RenderTableSection (anonymous) at (0,0) size 220x220
+        RenderTableRow {DIV} at (0,0) size 220x220
+          RenderTableCell {DIV} at (0,0) size 220x20 [border: (10px solid #FFA500)] [r=0 c=0 rs=1 cs=1]
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-005-expected.png b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-005-expected.png
new file mode 100644 (file)
index 0000000..5b3954f
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-005-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-005-expected.txt b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-005-expected.txt
new file mode 100644 (file)
index 0000000..eca9029
--- /dev/null
@@ -0,0 +1,15 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x52
+  RenderBlock {HTML} at (0,0) size 800x52
+    RenderBody {BODY} at (8,16) size 784x20
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 438x19
+          text run at (0,0) width 438: "Test passes if there is no space between the blue and orange lines below."
+layer at (8,52) size 240x240
+  RenderBlock (positioned) {DIV} at (8,52) size 240x240 [border: (10px solid #0000FF)]
+    RenderTable {DIV} at (10,10) size 220x220
+      RenderTableCol {DIV} at (0,0) size 0x0
+      RenderTableSection (anonymous) at (0,0) size 220x220
+        RenderTableRow {DIV} at (0,0) size 220x220
+          RenderTableCell {DIV} at (0,0) size 220x20 [border: (10px solid #FFA500)] [r=0 c=0 rs=1 cs=1]
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-006-expected.png b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-006-expected.png
new file mode 100644 (file)
index 0000000..5b3954f
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-006-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-006-expected.txt b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-006-expected.txt
new file mode 100644 (file)
index 0000000..eca9029
--- /dev/null
@@ -0,0 +1,15 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x52
+  RenderBlock {HTML} at (0,0) size 800x52
+    RenderBody {BODY} at (8,16) size 784x20
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 438x19
+          text run at (0,0) width 438: "Test passes if there is no space between the blue and orange lines below."
+layer at (8,52) size 240x240
+  RenderBlock (positioned) {DIV} at (8,52) size 240x240 [border: (10px solid #0000FF)]
+    RenderTable {DIV} at (10,10) size 220x220
+      RenderTableCol {DIV} at (0,0) size 0x0
+      RenderTableSection (anonymous) at (0,0) size 220x220
+        RenderTableRow {DIV} at (0,0) size 220x220
+          RenderTableCell {DIV} at (0,0) size 220x20 [border: (10px solid #FFA500)] [r=0 c=0 rs=1 cs=1]
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-007-expected.png b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-007-expected.png
new file mode 100644 (file)
index 0000000..5b3954f
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-007-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-007-expected.txt b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-007-expected.txt
new file mode 100644 (file)
index 0000000..a163758
--- /dev/null
@@ -0,0 +1,14 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x52
+  RenderBlock {HTML} at (0,0) size 800x52
+    RenderBody {BODY} at (8,16) size 784x20
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 438x19
+          text run at (0,0) width 438: "Test passes if there is no space between the blue and orange lines below."
+layer at (8,52) size 240x240
+  RenderBlock (positioned) {DIV} at (8,52) size 240x240 [border: (10px solid #0000FF)]
+    RenderTable {DIV} at (10,10) size 220x220
+      RenderTableSection (anonymous) at (0,0) size 220x220
+        RenderTableRow {DIV} at (0,0) size 220x220
+          RenderTableCell {DIV} at (0,0) size 220x20 [border: (10px solid #FFA500)] [r=0 c=0 rs=1 cs=1]
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-008-expected.png b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-008-expected.png
new file mode 100644 (file)
index 0000000..476b2eb
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-008-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-008-expected.txt b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-008-expected.txt
new file mode 100644 (file)
index 0000000..49b486e
--- /dev/null
@@ -0,0 +1,16 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x80
+  RenderBlock {HTML} at (0,0) size 800x80
+    RenderBody {BODY} at (8,16) size 784x56
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 419x19
+          text run at (0,0) width 419: "Test passes if there is space between the blue and orange lines below."
+      RenderBlock (anonymous) at (0,36) size 784x20
+        RenderInline {DIV} at (0,0) size 181x19 [border: (5px solid #0000FF) none (5px solid #0000FF)]
+          RenderText {#text} at (0,0) size 0x0
+          RenderInline {DIV} at (0,0) size 71x19 [border: (5px solid #FFA500) none (5px solid #FFA500)]
+            RenderText {#text} at (60,0) size 61x19
+              text run at (60,0) width 61: "Filler Text"
+          RenderText {#text} at (0,0) size 0x0
+        RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-009-expected.png b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-009-expected.png
new file mode 100644 (file)
index 0000000..03c5b0a
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-009-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-009-expected.txt b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-009-expected.txt
new file mode 100644 (file)
index 0000000..04d6850
--- /dev/null
@@ -0,0 +1,11 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x52
+  RenderBlock {HTML} at (0,0) size 800x52
+    RenderBody {BODY} at (8,16) size 784x20
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 419x19
+          text run at (0,0) width 419: "Test passes if there is space between the blue and orange lines below."
+layer at (8,52) size 340x340
+  RenderBlock (positioned) {DIV} at (8,52) size 340x340 [border: (10px solid #0000FF)]
+    RenderBlock {DIV} at (60,60) size 220x220 [border: (10px solid #FFA500)]
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-010-expected.png b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-010-expected.png
new file mode 100644 (file)
index 0000000..a71e66b
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-010-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-010-expected.txt b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-010-expected.txt
new file mode 100644 (file)
index 0000000..010470d
--- /dev/null
@@ -0,0 +1,13 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x72
+  RenderBlock {HTML} at (0,0) size 800x72
+    RenderBody {BODY} at (8,16) size 784x40
+      RenderBlock {P} at (0,0) size 784x40
+        RenderText {#text} at (0,0) size 746x39
+          text run at (0,0) width 746: "Test passes if there is space between the blue and orange lines below and there is a marker bullet on the left-hand side of the"
+          text run at (0,20) width 72: "orange box."
+layer at (8,72) size 340x340
+  RenderBlock (positioned) {DIV} at (8,72) size 340x340 [border: (10px solid #0000FF)]
+    RenderListItem {DIV} at (60,60) size 220x220 [border: (10px solid #FFA500)]
+      RenderListMarker at (-18,10) size 7x19: bullet
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-012-expected.png b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-012-expected.png
new file mode 100644 (file)
index 0000000..dcffb43
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-012-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-012-expected.txt b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-012-expected.txt
new file mode 100644 (file)
index 0000000..df75996
--- /dev/null
@@ -0,0 +1,12 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x52
+  RenderBlock {HTML} at (0,0) size 800x52
+    RenderBody {BODY} at (8,16) size 784x20
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 419x19
+          text run at (0,0) width 419: "Test passes if there is space between the blue and orange lines below."
+layer at (8,52) size 340x345
+  RenderBlock (positioned) {DIV} at (8,52) size 340x345 [border: (10px solid #0000FF)]
+    RenderBlock {DIV} at (60,60) size 220x220 [border: (10px solid #FFA500)]
+    RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-013-expected.png b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-013-expected.png
new file mode 100644 (file)
index 0000000..03c5b0a
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-013-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-013-expected.txt b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-013-expected.txt
new file mode 100644 (file)
index 0000000..c2fa0f5
--- /dev/null
@@ -0,0 +1,14 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x52
+  RenderBlock {HTML} at (0,0) size 800x52
+    RenderBody {BODY} at (8,16) size 784x20
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 419x19
+          text run at (0,0) width 419: "Test passes if there is space between the blue and orange lines below."
+layer at (8,52) size 340x340
+  RenderBlock (positioned) {DIV} at (8,52) size 340x340 [border: (10px solid #0000FF)]
+    RenderTable {DIV} at (60,60) size 220x220 [border: (10px solid #FFA500)]
+      RenderTableSection (anonymous) at (10,10) size 200x200
+        RenderTableRow {DIV} at (0,0) size 200x200
+          RenderTableCell {DIV} at (0,0) size 200x0 [r=0 c=0 rs=1 cs=1]
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-014-expected.png b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-014-expected.png
new file mode 100644 (file)
index 0000000..dcffb43
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-014-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-014-expected.txt b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-014-expected.txt
new file mode 100644 (file)
index 0000000..308b939
--- /dev/null
@@ -0,0 +1,15 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x52
+  RenderBlock {HTML} at (0,0) size 800x52
+    RenderBody {BODY} at (8,16) size 784x20
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 419x19
+          text run at (0,0) width 419: "Test passes if there is space between the blue and orange lines below."
+layer at (8,52) size 340x345
+  RenderBlock (positioned) {DIV} at (8,52) size 340x345 [border: (10px solid #0000FF)]
+    RenderTable {DIV} at (60,60) size 220x220 [border: (10px solid #FFA500)]
+      RenderTableSection (anonymous) at (10,10) size 200x200
+        RenderTableRow {DIV} at (0,0) size 200x200
+          RenderTableCell {DIV} at (0,0) size 200x0 [r=0 c=0 rs=1 cs=1]
+    RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-015-expected.png b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-015-expected.png
new file mode 100644 (file)
index 0000000..03c5b0a
Binary files /dev/null and b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-015-expected.png differ
diff --git a/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-015-expected.txt b/LayoutTests/platform/chromium-linux/css2.1/20110323/margin-applies-to-015-expected.txt
new file mode 100644 (file)
index 0000000..3cfbc3c
--- /dev/null
@@ -0,0 +1,15 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x52
+  RenderBlock {HTML} at (0,0) size 800x52
+    RenderBody {BODY} at (8,16) size 784x20
+      RenderBlock {P} at (0,0) size 784x20
+        RenderText {#text} at (0,0) size 419x19
+          text run at (0,0) width 419: "Test passes if there is space between the blue and orange lines below."
+layer at (8,52) size 340x340
+  RenderBlock (positioned) {DIV} at (8,52) size 340x340 [border: (10px solid #0000FF)]
+    RenderTable {DIV} at (10,10) size 320x320
+      RenderBlock {DIV} at (50,50) size 220x220 [border: (10px solid #FFA500)]
+      RenderTableSection (anonymous) at (0,320) size 320x0
+        RenderTableRow {DIV} at (0,0) size 320x0
+          RenderTableCell {DIV} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
index 731878c..bab5193 100644 (file)
Binary files a/LayoutTests/platform/chromium-linux/tables/mozilla_expected_failures/core/captions1-expected.png and b/LayoutTests/platform/chromium-linux/tables/mozilla_expected_failures/core/captions1-expected.png differ
index 5f89eaa..af7d6a8 100644 (file)
Binary files a/LayoutTests/platform/chromium-linux/tables/mozilla_expected_failures/core/captions2-expected.png and b/LayoutTests/platform/chromium-linux/tables/mozilla_expected_failures/core/captions2-expected.png differ
index 18f404e..263b7d7 100644 (file)
@@ -277,7 +277,7 @@ layer at (0,0) size 785x3229
               RenderText {#text} at (1,1) size 29x19
                 text run at (1,1) width 29: "Data"
       RenderTable {TABLE} at (0,1980) size 88x156 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (0,70) size 68x66 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (0,90) size 68x66 [border: (3px solid #800080)]
           RenderText {#text} at (22,3) size 48x59
             text run at (22,3) width 24: "The"
             text run at (15,23) width 38: "table's"
@@ -298,7 +298,7 @@ layer at (0,0) size 785x3229
               RenderText {#text} at (1,1) size 29x19
                 text run at (1,1) width 29: "Data"
       RenderTable {TABLE} at (0,2136) size 88x156 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (0,70) size 68x66 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (0,90) size 68x66 [border: (3px solid #800080)]
           RenderText {#text} at (22,3) size 48x59
             text run at (22,3) width 24: "The"
             text run at (15,23) width 38: "table's"
@@ -319,7 +319,7 @@ layer at (0,0) size 785x3229
               RenderText {#text} at (1,1) size 29x19
                 text run at (1,1) width 29: "Data"
       RenderTable {TABLE} at (0,2307) size 88x151 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (0,70) size 68x66 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (0,85) size 68x66 [border: (3px solid #800080)]
           RenderText {#text} at (22,3) size 48x59
             text run at (22,3) width 24: "The"
             text run at (15,23) width 38: "table's"
index 986709a..1dac112 100644 (file)
@@ -97,7 +97,7 @@ layer at (0,0) size 785x1817
         RenderText {#text} at (1,1) size 244x26
           text run at (1,1) width 244: "Test 3 - \"margin: 50px\""
       RenderTable {TABLE} at (1,685) size 164x152 [border: (1px solid #000000)]
-        RenderBlock {CAPTION} at (50,0) size 62x22 [border: (1px solid #000000)]
+        RenderBlock {CAPTION} at (50,50) size 62x22 [border: (1px solid #000000)]
           RenderText {#text} at (21,1) size 20x19
             text run at (21,1) width 20: "TA"
         RenderTableSection {TBODY} at (1,123) size 162x28 [border: (1px solid #000000)]
@@ -109,7 +109,7 @@ layer at (0,0) size 785x1817
               RenderText {#text} at (2,2) size 74x19
                 text run at (2,2) width 74: "Table Cell 2"
       RenderTable {TABLE} at (1,837) size 320x152 [border: (1px solid #000000)]
-        RenderBlock {CAPTION} at (50,0) size 218x22 [border: (1px solid #000000)]
+        RenderBlock {CAPTION} at (50,50) size 218x22 [border: (1px solid #000000)]
           RenderText {#text} at (99,1) size 20x19
             text run at (99,1) width 20: "TB"
         RenderTableSection {TBODY} at (1,123) size 318x28 [border: (1px solid #000000)]
@@ -121,7 +121,7 @@ layer at (0,0) size 785x1817
               RenderText {#text} at (2,2) size 152x19
                 text run at (2,2) width 152: "Table Cell 2 Table Cell 2"
       RenderTable {TABLE} at (1,989) size 476x152 [border: (1px solid #000000)]
-        RenderBlock {CAPTION} at (50,0) size 374x22 [border: (1px solid #000000)]
+        RenderBlock {CAPTION} at (50,50) size 374x22 [border: (1px solid #000000)]
           RenderText {#text} at (177,1) size 20x19
             text run at (177,1) width 20: "TC"
         RenderTableSection {TBODY} at (1,123) size 474x28 [border: (1px solid #000000)]
@@ -190,7 +190,7 @@ layer at (0,0) size 785x1817
         RenderText {#text} at (1,1) size 232x26
           text run at (1,1) width 232: "Test 6 - \"margin: 5%\""
       RenderTable {TABLE} at (1,1550) size 164x68 [border: (1px solid #000000)]
-        RenderBlock {CAPTION} at (8,0) size 146x22 [border: (1px solid #000000)]
+        RenderBlock {CAPTION} at (8,8) size 146x22 [border: (1px solid #000000)]
           RenderText {#text} at (63,1) size 20x19
             text run at (63,1) width 20: "TA"
         RenderTableSection {TBODY} at (1,39) size 162x28 [border: (1px solid #000000)]
@@ -202,7 +202,7 @@ layer at (0,0) size 785x1817
               RenderText {#text} at (2,2) size 74x19
                 text run at (2,2) width 74: "Table Cell 2"
       RenderTable {TABLE} at (1,1618) size 320x82 [border: (1px solid #000000)]
-        RenderBlock {CAPTION} at (15,0) size 288x22 [border: (1px solid #000000)]
+        RenderBlock {CAPTION} at (15,15) size 288x22 [border: (1px solid #000000)]
           RenderText {#text} at (134,1) size 20x19
             text run at (134,1) width 20: "TB"
         RenderTableSection {TBODY} at (1,53) size 318x28 [border: (1px solid #000000)]
@@ -214,7 +214,7 @@ layer at (0,0) size 785x1817
               RenderText {#text} at (2,2) size 152x19
                 text run at (2,2) width 152: "Table Cell 2 Table Cell 2"
       RenderTable {TABLE} at (1,1700) size 476x98 [border: (1px solid #000000)]
-        RenderBlock {CAPTION} at (23,0) size 428x22 [border: (1px solid #000000)]
+        RenderBlock {CAPTION} at (23,23) size 428x22 [border: (1px solid #000000)]
           RenderText {#text} at (204,1) size 20x19
             text run at (204,1) width 20: "TB"
         RenderTableSection {TBODY} at (1,69) size 474x28 [border: (1px solid #000000)]
index 385c70a..c6da774 100644 (file)
@@ -10,7 +10,7 @@ layer at (0,0) size 785x1178
         RenderText {#text} at (0,0) size 98x19
           text run at (0,0) width 98: "table 1 - original"
       RenderTable {TABLE} at (5,50) size 88x119 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (10,70) size 58x47 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (10,72) size 58x47 [border: (3px solid #800080)]
           RenderText {#text} at (7,3) size 44x19
             text run at (7,3) width 44: "caption"
           RenderBlock {INPUT} at (24,26) size 13x13
@@ -33,7 +33,7 @@ layer at (0,0) size 785x1178
         RenderText {#text} at (0,0) size 181x19
           text run at (0,0) width 181: "table 2 - caption gains content"
       RenderTable {TABLE} at (5,204) size 88x139 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (10,70) size 58x67 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (10,72) size 58x67 [border: (3px solid #800080)]
           RenderText {#text} at (7,3) size 44x19
             text run at (7,3) width 44: "caption"
           RenderBlock {INPUT} at (14,26) size 13x13
@@ -59,7 +59,7 @@ layer at (0,0) size 785x1178
         RenderText {#text} at (0,0) size 364x19
           text run at (0,0) width 364: "table 3 - caption gains content extending its max element size"
       RenderTable {TABLE} at (5,378) size 140x119 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (10,70) size 110x47 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (10,72) size 110x47 [border: (3px solid #800080)]
           RenderText {#text} at (22,4) size 45x19
             text run at (22,4) width 45: "caption"
           RenderBlock {INPUT} at (72,6) size 13x13
@@ -84,7 +84,7 @@ layer at (0,0) size 785x1178
         RenderText {#text} at (0,0) size 181x19
           text run at (0,0) width 181: "table 4 - caption loses content"
       RenderTable {TABLE} at (5,532) size 88x98 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (10,70) size 58x26 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (10,72) size 58x26 [border: (3px solid #800080)]
           RenderText {#text} at (7,3) size 44x19
             text run at (7,3) width 44: "caption"
         RenderTableSection {TBODY} at (10,10) size 68x50
@@ -106,7 +106,7 @@ layer at (0,0) size 785x1178
         RenderText {#text} at (0,0) size 150x19
           text run at (0,0) width 150: "table 5 - table gets wider"
       RenderTable {TABLE} at (5,665) size 132x99 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (10,70) size 102x27 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (10,72) size 102x27 [border: (3px solid #800080)]
           RenderText {#text} at (18,4) size 45x19
             text run at (18,4) width 45: "caption"
           RenderBlock {INPUT} at (68,6) size 13x13
@@ -136,7 +136,7 @@ layer at (0,0) size 785x1178
             RenderTableCell {TD} at (2,2) size 46x22 [r=0 c=0 rs=1 cs=1]
               RenderText {#text} at (1,1) size 44x19
                 text run at (1,1) width 44: "foo foo"
-        RenderBlock {CAPTION} at (10,96) size 73x27 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (10,98) size 73x27 [border: (3px solid #800080)]
           RenderText {#text} at (4,4) size 44x19
             text run at (4,4) width 44: "caption"
           RenderBlock {INPUT} at (53,6) size 13x13
@@ -174,7 +174,7 @@ layer at (0,0) size 785x1178
             RenderTableCell {TD} at (35,26) size 31x22 [r=1 c=1 rs=1 cs=1]
               RenderText {#text} at (1,1) size 29x19
                 text run at (1,1) width 29: "Data"
-        RenderBlock {CAPTION} at (10,70) size 58x26 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (10,72) size 58x26 [border: (3px solid #800080)]
           RenderText {#text} at (3,3) size 52x19
             text run at (3,3) width 52: "new cap"
       RenderBlock (anonymous) at (0,1062) size 769x20
index 53db4ac..2b0f9be 100644 (file)
@@ -10,7 +10,7 @@ layer at (0,0) size 785x1176
         RenderText {#text} at (0,0) size 98x19
           text run at (0,0) width 98: "table 1 - original"
       RenderTable {TABLE} at (5,50) size 88x119 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (10,0) size 58x47 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (10,2) size 58x47 [border: (3px solid #800080)]
           RenderText {#text} at (7,3) size 44x19
             text run at (7,3) width 44: "caption"
           RenderBlock {INPUT} at (24,26) size 13x13
@@ -33,7 +33,7 @@ layer at (0,0) size 785x1176
         RenderText {#text} at (0,0) size 181x19
           text run at (0,0) width 181: "table 2 - caption gains content"
       RenderTable {TABLE} at (5,204) size 88x139 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (10,0) size 58x67 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (10,2) size 58x67 [border: (3px solid #800080)]
           RenderText {#text} at (7,3) size 44x19
             text run at (7,3) width 44: "caption"
           RenderBlock {INPUT} at (14,26) size 13x13
@@ -59,7 +59,7 @@ layer at (0,0) size 785x1176
         RenderText {#text} at (0,0) size 364x19
           text run at (0,0) width 364: "table 3 - caption gains content extending its max element size"
       RenderTable {TABLE} at (5,378) size 140x119 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (10,0) size 110x47 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (10,2) size 110x47 [border: (3px solid #800080)]
           RenderText {#text} at (22,4) size 45x19
             text run at (22,4) width 45: "caption"
           RenderBlock {INPUT} at (72,6) size 13x13
@@ -84,7 +84,7 @@ layer at (0,0) size 785x1176
         RenderText {#text} at (0,0) size 181x19
           text run at (0,0) width 181: "table 4 - caption loses content"
       RenderTable {TABLE} at (5,532) size 88x98 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (10,0) size 58x26 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (10,2) size 58x26 [border: (3px solid #800080)]
           RenderText {#text} at (7,3) size 44x19
             text run at (7,3) width 44: "caption"
         RenderTableSection {TBODY} at (10,38) size 68x50
@@ -106,7 +106,7 @@ layer at (0,0) size 785x1176
         RenderText {#text} at (0,0) size 150x19
           text run at (0,0) width 150: "table 5 - table gets wider"
       RenderTable {TABLE} at (5,665) size 132x99 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (10,0) size 102x27 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (10,2) size 102x27 [border: (3px solid #800080)]
           RenderText {#text} at (18,4) size 45x19
             text run at (18,4) width 45: "caption"
           RenderBlock {INPUT} at (68,6) size 13x13
@@ -131,7 +131,7 @@ layer at (0,0) size 785x1176
         RenderText {#text} at (0,0) size 145x19
           text run at (0,0) width 145: "table 6 - table gets taller"
       RenderTable {TABLE} at (5,799) size 103x123 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (10,0) size 73x27 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (10,2) size 73x27 [border: (3px solid #800080)]
           RenderText {#text} at (4,4) size 44x19
             text run at (4,4) width 44: "caption"
           RenderBlock {INPUT} at (53,6) size 13x13
@@ -173,7 +173,7 @@ layer at (0,0) size 785x1176
             RenderTableCell {TD} at (35,26) size 31x22 [r=1 c=1 rs=1 cs=1]
               RenderText {#text} at (1,1) size 29x19
                 text run at (1,1) width 29: "Data"
-        RenderBlock {CAPTION} at (10,0) size 58x26 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (10,2) size 58x26 [border: (3px solid #800080)]
           RenderText {#text} at (3,3) size 52x19
             text run at (3,3) width 52: "new cap"
       RenderBlock (anonymous) at (0,1060) size 769x20
index 2e0a338..b6bb56c 100644 (file)
@@ -277,7 +277,7 @@ layer at (0,0) size 785x3177
               RenderText {#text} at (1,1) size 29x19
                 text run at (1,1) width 29: "Data"
       RenderTable {TABLE} at (0,1980) size 88x156 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (0,70) size 68x66 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (0,90) size 68x66 [border: (3px solid #800080)]
           RenderText {#text} at (22,3) size 48x59
             text run at (22,3) width 24: "The"
             text run at (15,23) width 38: "table's"
@@ -298,7 +298,7 @@ layer at (0,0) size 785x3177
               RenderText {#text} at (1,1) size 29x19
                 text run at (1,1) width 29: "Data"
       RenderTable {TABLE} at (0,2136) size 88x156 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (0,70) size 68x66 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (0,90) size 68x66 [border: (3px solid #800080)]
           RenderText {#text} at (22,3) size 48x59
             text run at (22,3) width 24: "The"
             text run at (15,23) width 38: "table's"
@@ -319,7 +319,7 @@ layer at (0,0) size 785x3177
               RenderText {#text} at (1,1) size 29x19
                 text run at (1,1) width 29: "Data"
       RenderTable {TABLE} at (0,2307) size 88x151 [border: (10px solid #008000)]
-        RenderBlock {CAPTION} at (0,70) size 68x66 [border: (3px solid #800080)]
+        RenderBlock {CAPTION} at (0,85) size 68x66 [border: (3px solid #800080)]
           RenderText {#text} at (22,3) size 48x59
             text run at (22,3) width 24: "The"
             text run at (15,23) width 38: "table's"
index e946556..df9635f 100644 (file)
@@ -1,3 +1,13 @@
+2011-08-28  Robert Hogan  <robert@webkit.org>
+
+        CSS 2.1 failure: margin-applies-to-015 fails, WebKit does not respect top margin for table captions
+        https://bugs.webkit.org/show_bug.cgi?id=34763
+
+        Reviewed by Simon Fraser.
+
+        * rendering/RenderTable.cpp:
+        (WebCore::RenderTable::adjustLogicalHeightForCaption): Added the caption's margin to the position calculation.
+
 2011-08-30  Oliver Hunt  <oliver@apple.com>
 
         Add support for checked arithmetic
index 8923ff9..9899a6e 100644 (file)
@@ -257,7 +257,7 @@ void RenderTable::adjustLogicalHeightForCaption()
     ASSERT(m_caption);
     IntRect captionRect(m_caption->x(), m_caption->y(), m_caption->width(), m_caption->height());
 
-    m_caption->setLogicalLocation(IntPoint(m_caption->marginStart(), logicalHeight()));
+    m_caption->setLogicalLocation(IntPoint(m_caption->marginStart(), m_caption->marginBefore() + logicalHeight()));
     if (!selfNeedsLayout() && m_caption->checkForRepaintDuringLayout())
         m_caption->repaintDuringLayoutIfMoved(captionRect);