Unreviewed, rolling out r142889.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Feb 2013 06:26:36 +0000 (06:26 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Feb 2013 06:26:36 +0000 (06:26 +0000)
http://trac.webkit.org/changeset/142889
https://bugs.webkit.org/show_bug.cgi?id=109891

It caused an assertion failure in scrollbars/overflow-
scrollbar-combinations.html (Requested by tkent on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-14

Source/WebCore:

* rendering/RenderBox.cpp:
(WebCore::borderWidthChanged):
(WebCore::RenderBox::styleDidChange):

LayoutTests:

* fast/block/dynamic-padding-border-expected.txt: Removed.
* fast/block/dynamic-padding-border.html: Removed.
* fast/table/border-collapsing/cached-change-row-border-width-expected.txt:

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

LayoutTests/ChangeLog
LayoutTests/fast/block/dynamic-padding-border-expected.txt [deleted file]
LayoutTests/fast/block/dynamic-padding-border.html [deleted file]
LayoutTests/fast/table/border-collapsing/cached-change-row-border-width-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderBox.cpp

index d1c6de877fac80f00a31b1f4a26dc85b0d75b06a..46676127914a3e5a5673de9cb312c1432322f2ef 100644 (file)
@@ -1,3 +1,16 @@
+2013-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r142889.
+        http://trac.webkit.org/changeset/142889
+        https://bugs.webkit.org/show_bug.cgi?id=109891
+
+        It caused an assertion failure in scrollbars/overflow-
+        scrollbar-combinations.html (Requested by tkent on #webkit).
+
+        * fast/block/dynamic-padding-border-expected.txt: Removed.
+        * fast/block/dynamic-padding-border.html: Removed.
+        * fast/table/border-collapsing/cached-change-row-border-width-expected.txt:
+
 2013-02-14  Ryosuke Niwa  <rniwa@webkit.org>
 
         Add assertion failure expectations on Mac per bugs 109869 and 109890.
diff --git a/LayoutTests/fast/block/dynamic-padding-border-expected.txt b/LayoutTests/fast/block/dynamic-padding-border-expected.txt
deleted file mode 100644 (file)
index 6fa1b51..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-This test passes if there is no red showing.
-
-PASS
-PASS
-PASS
-PASS
diff --git a/LayoutTests/fast/block/dynamic-padding-border.html b/LayoutTests/fast/block/dynamic-padding-border.html
deleted file mode 100644 (file)
index 1fecc47..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<style>
-.red {
-    background-color: red;
-}
-.green {
-    background-color: green;
-}
-</style>
-</head>
-<body>
-<p>This test passes if there is no red showing.</p>
-
-<div class="container" style="width: 100px">
-    <div id="test1" class="red" style="padding-left: 50px" data-expected-width="100">
-        <div class="green" style="height: 20px" data-expected-width="100"></div>
-    </div>
-</div>
-
-<div class="container" style="-webkit-writing-mode: vertical-rl; height: 100px">
-    <div id="test2" class="red" style="padding-top: 50px" data-expected-height="100">
-        <div class="green" style="width: 20px" data-expected-height="100"></div>
-    </div>
-</div>
-
-<div class="container" style="width: 100px; -webkit-writing-mode: horizontal-bt;">
-    <div id="test3" class="red" style="border-left: 50px solid red" data-expected-width="100">
-        <div class="green" style="height: 20px" data-expected-width="100"></div>
-    </div>
-</div>
-
-<div class="container" style="-webkit-writing-mode: vertical-lr; height: 100px">
-    <div id="test4" class="red" style="border-top: 50px solid red" data-expected-height="100">
-        <div class="green" style="width: 20px" data-expected-height="100"></div>
-    </div>
-</div>
-
-<script src="../../resources/check-layout.js"></script>
-<script>
-document.body.offsetLeft;
-document.getElementById("test1").style.paddingLeft = "0";
-document.getElementById("test2").style.paddingTop = "0";
-document.getElementById("test3").style.borderWidth = "0";
-document.getElementById("test4").style.borderWidth = "0";
-checkLayout(".container");
-</script>
-</body>
-</html>
index ec254776cf58067dec2241e6d46073fe1da03cbe..af723c6cc197dcc2e3b30fea8b4d811b00f1bf93 100644 (file)
@@ -6,6 +6,6 @@ layer at (0,0) size 800x600
       RenderTable {TABLE} at (0,0) size 56x103 [border: (2px solid #0000FF)]
         RenderTableSection {TBODY} at (1,2) size 54x100
           RenderTableRow {TR} at (0,0) size 54x50 [border: (4px solid #FFFF00)]
-            RenderTableCell {TD} at (0,22) size 54x6 [border: (2px solid #00FF00)] [r=0 c=0 rs=1 cs=1]
+            RenderTableCell {TD} at (0,23) size 54x4 [border: (2px solid #00FF00)] [r=0 c=0 rs=1 cs=1]
           RenderTableRow {TR} at (0,50) size 54x50
             RenderTableCell {TD} at (0,73) size 54x3 [border: (2px none #000000)] [r=1 c=0 rs=1 cs=1]
index 195179f5a2bd28c389ebdf0a52b2968584aa5d8e..5962d40a5a9b50a1b79199f410c75f25ffd07051 100644 (file)
@@ -1,3 +1,16 @@
+2013-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r142889.
+        http://trac.webkit.org/changeset/142889
+        https://bugs.webkit.org/show_bug.cgi?id=109891
+
+        It caused an assertion failure in scrollbars/overflow-
+        scrollbar-combinations.html (Requested by tkent on #webkit).
+
+        * rendering/RenderBox.cpp:
+        (WebCore::borderWidthChanged):
+        (WebCore::RenderBox::styleDidChange):
+
 2013-02-14  Arpita Bahuguna  <arpitabahuguna@gmail.com>
 
         Caret positioned at the end of a text line (followed by an empty block) in vertical writing mode disappears when pressing the right/down arrow key.
index 8664754fcc84d3cc895af36deb7a88231f43a356..a10184d74c81bdf3e634e7b4d320257c353c8813 100644 (file)
@@ -232,18 +232,12 @@ void RenderBox::styleWillChange(StyleDifference diff, const RenderStyle* newStyl
     RenderBoxModelObject::styleWillChange(diff, newStyle);
 }
 
-static bool borderOrPaddingLogicalWidthChanged(const RenderStyle* oldStyle, const RenderStyle* newStyle)
+static bool borderWidthChanged(const RenderStyle* oldStyle, const RenderStyle* newStyle)
 {
-    if (newStyle->isHorizontalWritingMode())
-        return oldStyle->borderLeftWidth() != newStyle->borderLeftWidth()
-            || oldStyle->borderRightWidth() != newStyle->borderRightWidth()
-            || oldStyle->paddingLeft() != newStyle->paddingLeft()
-            || oldStyle->paddingRight() != newStyle->paddingRight();
-
-    return oldStyle->borderTopWidth() != newStyle->borderTopWidth()
-        || oldStyle->borderBottomWidth() != newStyle->borderBottomWidth()
-        || oldStyle->paddingTop() != newStyle->paddingTop()
-        || oldStyle->paddingBottom() != newStyle->paddingBottom();
+    return oldStyle->borderLeftWidth() != newStyle->borderLeftWidth()
+        || oldStyle->borderTopWidth() != newStyle->borderTopWidth()
+        || oldStyle->borderRightWidth() != newStyle->borderRightWidth()
+        || oldStyle->borderBottomWidth() != newStyle->borderBottomWidth();
 }
 
 void RenderBox::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
@@ -320,7 +314,8 @@ void RenderBox::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle
     updateExclusionShapeOutsideInfoAfterStyleChange(style()->shapeOutside(), oldStyle ? oldStyle->shapeOutside() : 0);
 #endif
 
-    if (oldStyle && diff == StyleDifferenceLayout && borderOrPaddingLogicalWidthChanged(oldStyle, newStyle)) {
+    if (oldStyle && (newStyle->boxSizing() == BORDER_BOX || oldStyle->boxSizing() == BORDER_BOX) && diff == StyleDifferenceLayout
+        && (newStyle->paddingBox() != oldStyle->paddingBox() || borderWidthChanged(oldStyle, newStyle))) {
         ASSERT(needsLayout());
         for (RenderObject* child = firstChild(); child; child = child->nextSibling())
             child->setChildNeedsLayout(true, MarkOnlyThis);