Bug 1472702 [wpt PR 11755] - [LayoutNG] Support anonymous table cells natively., a=testonly
authorMorten Stenshorne <mstensho@chromium.org>
Sat, 07 Jul 2018 08:08:28 +0000
changeset 426169 cea307dbb3ee647114cebe59eaa2b6c3f6cfa1db
parent 426168 bfcf0e22481d20cefb223bffbd990581cfe8dc3a
child 426170 3d735ecfa2ca00d4626f351a5eaded6d0dbd5ce0
push id34267
push userrgurzau@mozilla.com
push dateWed, 11 Jul 2018 22:05:21 +0000
treeherdermozilla-central@3aca103e4915 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly
bugs1472702, 11755, 1122218, 572753
milestone63.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1472702 [wpt PR 11755] - [LayoutNG] Support anonymous table cells natively., a=testonly Automatic update from web-platform-tests[LayoutNG] Support anonymous table cells natively. Use LayoutObjectFactory when creating anonymous table cells, just like we already do for non-anonymous cells. We used to create legacy LayoutTableCell objects for anonymous cells, but allowed children to be NG. This was bad, since we should only switch engines at formatting context boundaries. One NG change was necessary here: Only anonymous *blocks* should inherit % resolution size. Anonymous table cells should NOT. This prevents fast/table/percent-height-inside-anonymous-cell.html from regressing. This made one existing test pass. Also added a new one. Two tests not related to tables regressed. Separate bugs reported. Some rebaselining was also necessary, since NG handles text runs and whitespace slightly differently. Cq-Include-Trybots: luci.chromium.try :linux_layout_tests_layout_ng Change-Id: Ibbb77073f1fbe1841ebf102c8bce440046f73319 Reviewed-on: https://chromium-review.googlesource.com/1122218 Commit-Queue: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: David Grogan <dgrogan@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Reviewed-by: Christian Biesinger <cbiesinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#572753} -- wpt-commits: 6562ed003eebcd25d093ae52d68de28a0ae0d786 wpt-pr: 11755 MozReview-Commit-ID: 6XbTBEjeesL
testing/web-platform/meta/MANIFEST.json
testing/web-platform/tests/css/css-tables/anonymous-table-cell-margin-collapsing.html
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -131978,16 +131978,28 @@
       [
        "/css/css-style-attr/reference/ref-green-on-green.xht",
        "=="
       ]
      ],
      {}
     ]
    ],
+   "css/css-tables/anonymous-table-cell-margin-collapsing.html": [
+    [
+     "/css/css-tables/anonymous-table-cell-margin-collapsing.html",
+     [
+      [
+       "/css/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/css-tables/anonymous-table-ws-001.html": [
     [
      "/css/css-tables/anonymous-table-ws-001.html",
      [
       [
        "/css/css-tables/anonymous-table-ws-001-ref.html",
        "=="
       ]
@@ -530947,16 +530959,20 @@
   "css/css-syntax/unicode-range-selector.html": [
    "781f8a4a4cc74736485d1c63f9d42562def2423d",
    "testharness"
   ],
   "css/css-tables/META.yml": [
    "514ca480c367b69f4fe4b7cffe9c859a9ed5f4b3",
    "support"
   ],
+  "css/css-tables/anonymous-table-cell-margin-collapsing.html": [
+   "6a3d014e08ed9150a902bfc78c20182d75af1dfd",
+   "reftest"
+  ],
   "css/css-tables/anonymous-table-ws-001-ref.html": [
    "90019ee8161096455c9266672a2a90ac203f6f23",
    "support"
   ],
   "css/css-tables/anonymous-table-ws-001.html": [
    "88bb6c8ab9f30133f4b8a2f3628c4384b2f08f7e",
    "reftest"
   ],
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-tables/anonymous-table-cell-margin-collapsing.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<title>Anonymous table cells with semi-complex margin collapsing inside</title>
+<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
+<link rel="help" href="https://www.w3.org/TR/CSS22/visuren.html#block-formatting" title="9.4.1 Block formatting contexts">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="display:table; height:100px; background:red;">
+  <div style="display:table-row; background:green;">
+    <div style="width:100px; margin:50px 0;">
+      <div style="margin:50px 0;"></div>
+    </div>
+    <div style="margin:50px 0;"></div>
+  </div>
+  <div style="display:table-row; background:green;">
+    <div style="margin:50px 0;"></div>
+  </div>
+  <!-- The above rows should use all available height, and the last
+       row should get nothing (or there'll be red). -->
+  <div style="display:table-row;"></div>
+</div>