Title: [124773] trunk
Revision
124773
Author
hb...@chromium.org
Date
2012-08-06 08:29:32 -0700 (Mon, 06 Aug 2012)

Log Message

Source/WebCore: Rolling out my r123067 and r123572
https://bugs.webkit.org/show_bug.cgi?id=93234

Reviewed by Ryosuke Niwa.

This change manually rolls out my r123067 and r123572 (except layout tests)
because it renders RTL text to a wrong place when an RTL element shows a
vertical scrollbar at its left side.

No new tests because this change rolls out my changes.

* dom/Element.cpp:
(WebCore::Element::clientLeft):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addOverflowFromPositionedObjects):
(WebCore::RenderBlock::determineLogicalLeftPositionForChild):
(WebCore::RenderBlock::paintObject):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::topLeftLocationOffset):

LayoutTests: Rolling out for r123067 and r123572
https://bugs.webkit.org/show_bug.cgi?id=93234

Reviewed by Ryosuke Niwa.

This change marks tests that fail when rolling out my r123067 and r123572.

* platform/chromium/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (124772 => 124773)


--- trunk/LayoutTests/ChangeLog	2012-08-06 15:24:17 UTC (rev 124772)
+++ trunk/LayoutTests/ChangeLog	2012-08-06 15:29:32 UTC (rev 124773)
@@ -1,3 +1,14 @@
+2012-08-06  Hironori Bono  <hb...@chromium.org>
+
+        Rolling out for r123067 and r123572
+        https://bugs.webkit.org/show_bug.cgi?id=93234
+
+        Reviewed by Ryosuke Niwa.
+
+        This change marks tests that fail when rolling out my r123067 and r123572.
+
+        * platform/chromium/TestExpectations:
+
 2012-08-06  Andrei Bucur  <abu...@adobe.com>
 
         [CSS Regions] Add the NamedFlow.getRegions() API

Modified: trunk/LayoutTests/platform/chromium/TestExpectations (124772 => 124773)


--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-06 15:24:17 UTC (rev 124772)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-08-06 15:29:32 UTC (rev 124773)
@@ -3477,6 +3477,13 @@
 BUGWK92968 SKIP : http/tests/appcache/abort-cache-ondownloading.html = PASS
 BUGWK92968 SKIP : http/tests/appcache/abort-cache-onprogress.html = PASS
 
+// Fails due to Bug 85856.
+BUGWK85856 : fast/block/float/028.html = TEXT IMAGE IMAGE+TEXT
+BUGWK85856 : fast/block/float/026.html = TEXT IMAGE IMAGE+TEXT
+BUGWK85856 : fast/overflow/unreachable-overflow-rtl-bug.html = TEXT IMAGE IMAGE+TEXT
+BUGWK85856 : scrollbars/rtl/div-absolute.html = TEXT
+BUGWK85856 : scrollbars/rtl/div-horizontal.html = TEXT
+
 // Bug 93148 changed this to a testRunner test and it started timing out on Mac.
 BUGWK93148 MAC : fast/css/nested-layers-with-hover.html = TIMEOUT
 

Modified: trunk/Source/WebCore/ChangeLog (124772 => 124773)


--- trunk/Source/WebCore/ChangeLog	2012-08-06 15:24:17 UTC (rev 124772)
+++ trunk/Source/WebCore/ChangeLog	2012-08-06 15:29:32 UTC (rev 124773)
@@ -1,3 +1,25 @@
+2012-08-06  Hironori Bono  <hb...@chromium.org>
+
+        Rolling out my r123067 and r123572
+        https://bugs.webkit.org/show_bug.cgi?id=93234
+
+        Reviewed by Ryosuke Niwa.
+
+        This change manually rolls out my r123067 and r123572 (except layout tests)
+        because it renders RTL text to a wrong place when an RTL element shows a
+        vertical scrollbar at its left side.
+
+        No new tests because this change rolls out my changes.
+
+        * dom/Element.cpp:
+        (WebCore::Element::clientLeft):
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::addOverflowFromPositionedObjects):
+        (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
+        (WebCore::RenderBlock::paintObject):
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::topLeftLocationOffset):
+
 2012-08-06  Andrei Bucur  <abu...@adobe.com>
 
         [CSS Regions] Add the NamedFlow.getRegions() API

Modified: trunk/Source/WebCore/dom/Element.cpp (124772 => 124773)


--- trunk/Source/WebCore/dom/Element.cpp	2012-08-06 15:24:17 UTC (rev 124772)
+++ trunk/Source/WebCore/dom/Element.cpp	2012-08-06 15:29:32 UTC (rev 124773)
@@ -416,12 +416,8 @@
 {
     document()->updateLayoutIgnorePendingStylesheets();
 
-    if (RenderBox* renderer = renderBox()) {
-        LayoutUnit clientLeft = renderer->clientLeft();
-        if (renderer->style() && renderer->style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft())
-            clientLeft += renderer->verticalScrollbarWidth();
-        return adjustForAbsoluteZoom(roundToInt(clientLeft), renderer);
-    }
+    if (RenderBox* renderer = renderBox())
+        return adjustForAbsoluteZoom(roundToInt(renderer->clientLeft()), renderer);
     return 0;
 }
 

Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (124772 => 124773)


--- trunk/Source/WebCore/rendering/RenderBlock.cpp	2012-08-06 15:24:17 UTC (rev 124772)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp	2012-08-06 15:29:32 UTC (rev 124773)
@@ -1663,8 +1663,12 @@
         positionedObject = *it;
         
         // Fixed positioned elements don't contribute to layout overflow, since they don't scroll with the content.
-        if (positionedObject->style()->position() != FixedPosition)
-            addOverflowFromChild(positionedObject, IntSize(positionedObject->x(), positionedObject->y()));
+        if (positionedObject->style()->position() != FixedPosition) {
+            int x = positionedObject->x();
+            if (style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft())
+                x -= verticalScrollbarWidth();
+            addOverflowFromChild(positionedObject, IntSize(x, positionedObject->y()));
+        }
     }
 }
 
@@ -2187,6 +2191,8 @@
 void RenderBlock::determineLogicalLeftPositionForChild(RenderBox* child)
 {
     LayoutUnit startPosition = borderStart() + paddingStart();
+    if (style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft())
+        startPosition -= verticalScrollbarWidth();
     LayoutUnit totalAvailableLogicalWidth = borderAndPaddingLogicalWidth() + availableLogicalWidth();
 
     // Add in our start margin.
@@ -2952,11 +2958,8 @@
 
     // Adjust our painting position if we're inside a scrolled layer (e.g., an overflow:auto div).
     LayoutPoint scrolledOffset = paintOffset;
-    if (hasOverflowClip()) {
+    if (hasOverflowClip())
         scrolledOffset.move(-scrolledContentOffset());
-        if (style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft())
-            scrolledOffset.move(verticalScrollbarWidth(), 0);
-    }
 
     // 2. paint contents
     if (paintPhase != PaintPhaseSelfOutline) {

Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (124772 => 124773)


--- trunk/Source/WebCore/rendering/RenderBox.cpp	2012-08-06 15:24:17 UTC (rev 124772)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp	2012-08-06 15:29:32 UTC (rev 124773)
@@ -3952,8 +3952,6 @@
         return locationOffset();
     
     LayoutRect rect(frameRect());
-    if (containerBlock->style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft())
-        rect.move(containerBlock->verticalScrollbarWidth(), 0);
     containerBlock->flipForWritingMode(rect); // FIXME: This is wrong if we are an absolutely positioned object enclosed by a relative-positioned inline.
     return LayoutSize(rect.x(), rect.y());
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to