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

hyatt at apple.com hyatt at apple.com
Wed Dec 22 13:41:36 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 4606a81e6c02ff72fd9d3dce8578e178fbcae924
Author: hyatt at apple.com <hyatt at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Sep 23 17:17:54 2010 +0000

    https://bugs.webkit.org/show_bug.cgi?id=46314.
    
    Reviewed by Simon Fraser.
    
    The RenderView's block-flow should match the root element's block-flow.  When we create (or re-create) the style for the document, take
    the block-flow from the document element's style and use it if it's available.
    
    Also patch styleDidChange so that if the block-flow changes dynamically after we have already made the document style, we'll propagate
    the change back up to the RenderView and have it do a relayout.
    
    No tests possible yet, since you can't see the document's style anywhere, and block-flow isn't doing anything to affect layout
    yet.
    
    * css/CSSStyleSelector.cpp:
    (WebCore::CSSStyleSelector::styleForDocument):
    * rendering/RenderBox.cpp:
    (WebCore::RenderBox::styleDidChange):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68157 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 21d40b1..59757c5 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,23 @@
+2010-09-23  David Hyatt  <hyatt at apple.com>
+
+        Reviewed by Simon Fraser.
+
+        https://bugs.webkit.org/show_bug.cgi?id=46314.
+        
+        The RenderView's block-flow should match the root element's block-flow.  When we create (or re-create) the style for the document, take
+        the block-flow from the document element's style and use it if it's available.
+        
+        Also patch styleDidChange so that if the block-flow changes dynamically after we have already made the document style, we'll propagate
+        the change back up to the RenderView and have it do a relayout.
+
+        No tests possible yet, since you can't see the document's style anywhere, and block-flow isn't doing anything to affect layout
+        yet.
+
+        * css/CSSStyleSelector.cpp:
+        (WebCore::CSSStyleSelector::styleForDocument):
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::styleDidChange):
+
 2010-09-23  Pavel Podivilov  <podivilov at chromium.org>
 
         Reviewed by Yury Semikhatsky.
diff --git a/WebCore/css/CSSStyleSelector.cpp b/WebCore/css/CSSStyleSelector.cpp
index 13c35b8..c486522 100644
--- a/WebCore/css/CSSStyleSelector.cpp
+++ b/WebCore/css/CSSStyleSelector.cpp
@@ -1106,6 +1106,10 @@ PassRefPtr<RenderStyle> CSSStyleSelector::styleForDocument(Document* document)
     documentStyle->setVisuallyOrdered(document->visuallyOrdered());
     documentStyle->setZoom(frame ? frame->pageZoomFactor() : 1);
     
+    Element* docElement = document->documentElement();
+    if (docElement && docElement->renderer())
+        documentStyle->setBlockFlow(docElement->renderer()->style()->blockFlow());
+
     FontDescription fontDescription;
     fontDescription.setUsePrinterFont(document->printing());
     if (Settings* settings = document->settings()) {
diff --git a/WebCore/rendering/RenderBox.cpp b/WebCore/rendering/RenderBox.cpp
index ca0803d..1dc4bfa 100644
--- a/WebCore/rendering/RenderBox.cpp
+++ b/WebCore/rendering/RenderBox.cpp
@@ -260,6 +260,12 @@ void RenderBox::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle
     // Set the text color if we're the body.
     if (isBody())
         document()->setTextColor(style()->visitedDependentColor(CSSPropertyColor));
+    else if (oldStyle && isRoot() && oldStyle->blockFlow() != style()->blockFlow()) {
+        // Propagate the new block flow up to the RenderView.
+        RenderView* viewRenderer = view();
+        viewRenderer->style()->setBlockFlow(style()->blockFlow());
+        viewRenderer->setNeedsLayoutAndPrefWidthsRecalc();
+    }
 }
 
 void RenderBox::updateBoxModelInfoFromStyle()

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list