[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da

aa at chromium.org aa at chromium.org
Wed Dec 22 17:57:18 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit f3bc6bb9bf1dc84be66c0391a8018ed2894fc56a
Author: aa at chromium.org <aa at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Dec 3 07:44:47 2010 +0000

    2010-12-02  Aaron Boodman  <aa at chromium.org>
    
            Reviewed by David Hyatt.
    
            Reduce the number of cases where we end up with a stale value for
            minimumPreferredLogicalWidth(). This isn't a complete fix, but fixes a
            large number of cases.
    
            RenderObject::minimumPreferredLogicalWidth() sometimes reports wrong value.
            https://bugs.webkit.org/show_bug.cgi?id=50119
    
            * rendering/RenderBox.cpp:
            (WebCore::RenderBox::styleDidChange):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73245 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 730f598..46a2030 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-12-02  Aaron Boodman  <aa at chromium.org>
+
+        Reviewed by David Hyatt.
+
+        Reduce the number of cases where we end up with a stale value for
+        minimumPreferredLogicalWidth(). This isn't a complete fix, but fixes a
+        large number of cases.
+
+        RenderObject::minimumPreferredLogicalWidth() sometimes reports wrong value.
+        https://bugs.webkit.org/show_bug.cgi?id=50119
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::styleDidChange):
+
 2010-12-02  Gregg Tavares  <gman at google.com>
 
         Reviewed by David Levin.
diff --git a/WebCore/rendering/RenderBox.cpp b/WebCore/rendering/RenderBox.cpp
index cf00df0..9d5ff33 100644
--- a/WebCore/rendering/RenderBox.cpp
+++ b/WebCore/rendering/RenderBox.cpp
@@ -306,23 +306,24 @@ void RenderBox::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle
     // Set the text color if we're the body.
     if (isBodyRenderer)
         document()->setTextColor(style()->visitedDependentColor(CSSPropertyColor));
-    
-    if ((isRootRenderer || isBodyRenderer) && (!oldStyle || oldStyle->writingMode() != style()->writingMode() || oldStyle->direction() != style()->direction())) {
+
+    if (isRootRenderer || isBodyRenderer) {
         // Propagate the new writing mode and direction up to the RenderView.
         RenderView* viewRenderer = view();
         RenderStyle* viewStyle = viewRenderer->style();
-        if (isRootRenderer || !document()->directionSetOnDocumentElement()) {
+        if (viewStyle->direction() != style()->direction() && (isRootRenderer || !document()->directionSetOnDocumentElement())) {
             viewStyle->setDirection(style()->direction());
             if (isBodyRenderer)
                 document()->documentElement()->renderer()->style()->setDirection(style()->direction());
+            setNeedsLayoutAndPrefWidthsRecalc();
         }
-        
-        if (isRootRenderer || !document()->writingModeSetOnDocumentElement()) {
+
+        if (viewStyle->writingMode() != style()->writingMode() && (isRootRenderer || !document()->writingModeSetOnDocumentElement())) {
             viewStyle->setWritingMode(style()->writingMode());
             if (isBodyRenderer)
                 document()->documentElement()->renderer()->style()->setWritingMode(style()->writingMode());
+            setNeedsLayoutAndPrefWidthsRecalc();
         }
-        setNeedsLayoutAndPrefWidthsRecalc();
     }
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list