[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 14:01:56 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 705ae2e5a9ec53cfec552c2252db4d525b688929
Author: hyatt at apple.com <hyatt at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Oct 1 17:43:59 2010 +0000
https://bugs.webkit.org/show_bug.cgi?id=46995, make direction propagate up to the viewport from the root element.
Reviewed by Dan Bernstein.
WebCore:
Added fast/css/rtl-to-viewport.html
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForDocument):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
LayoutTests:
* fast/css/rtl-to-viewport.html: Added.
* platform/mac/fast/css/rtl-to-viewport-expected.checksum: Added.
* platform/mac/fast/css/rtl-to-viewport-expected.png: Added.
* platform/mac/fast/css/rtl-to-viewport-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68897 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 6f3e917..72f725a 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,14 @@
+2010-10-01 David Hyatt <hyatt at apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=46995, make direction propagate up to the viewport from the root element.
+
+ * fast/css/rtl-to-viewport.html: Added.
+ * platform/mac/fast/css/rtl-to-viewport-expected.checksum: Added.
+ * platform/mac/fast/css/rtl-to-viewport-expected.png: Added.
+ * platform/mac/fast/css/rtl-to-viewport-expected.txt: Added.
+
2010-10-01 Alexey Proskuryakov <ap at apple.com>
Reviewed by Anders Carlsson.
diff --git a/LayoutTests/fast/css/rtl-to-viewport.html b/LayoutTests/fast/css/rtl-to-viewport.html
new file mode 100644
index 0000000..5dd5e9e
--- /dev/null
+++ b/LayoutTests/fast/css/rtl-to-viewport.html
@@ -0,0 +1,2 @@
+<!doctype html>
+<html style="overflow:hidden; direction:rtl; width:100px;height:100px; border:2px solid black">This is rtl.</html>
diff --git a/LayoutTests/platform/mac/fast/css/rtl-to-viewport-expected.checksum b/LayoutTests/platform/mac/fast/css/rtl-to-viewport-expected.checksum
new file mode 100644
index 0000000..fd3d7c6
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/css/rtl-to-viewport-expected.checksum
@@ -0,0 +1 @@
+91c9447998d61e95ab03b1f2e92a1f10
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/css/rtl-to-viewport-expected.png b/LayoutTests/platform/mac/fast/css/rtl-to-viewport-expected.png
new file mode 100644
index 0000000..f4e1000
Binary files /dev/null and b/LayoutTests/platform/mac/fast/css/rtl-to-viewport-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/css/rtl-to-viewport-expected.txt b/LayoutTests/platform/mac/fast/css/rtl-to-viewport-expected.txt
new file mode 100644
index 0000000..6bbd628
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/css/rtl-to-viewport-expected.txt
@@ -0,0 +1,8 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (696,0) size 104x104
+ RenderBlock {HTML} at (696,0) size 104x104 [border: (2px solid #000000)]
+ RenderBody {BODY} at (10,10) size 84x18
+ RenderText {#text} at (21,0) size 63x18
+ text run at (21,0) width 4 RTL: "."
+ text run at (25,0) width 59: "This is rtl"
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index a65ff41..5a9f097 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2010-10-01 David Hyatt <hyatt at apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=46995, make direction propagate up to the viewport from the root element.
+
+ Added fast/css/rtl-to-viewport.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::styleForDocument):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::styleDidChange):
+
2010-10-01 Alexey Proskuryakov <ap at apple.com>
Reviewed by Anders Carlsson.
diff --git a/WebCore/css/CSSStyleSelector.cpp b/WebCore/css/CSSStyleSelector.cpp
index 86b93b4..fc470c9 100644
--- a/WebCore/css/CSSStyleSelector.cpp
+++ b/WebCore/css/CSSStyleSelector.cpp
@@ -1107,8 +1107,12 @@ PassRefPtr<RenderStyle> CSSStyleSelector::styleForDocument(Document* document)
documentStyle->setZoom(frame ? frame->pageZoomFactor() : 1);
Element* docElement = document->documentElement();
- if (docElement && docElement->renderer())
+ if (docElement && docElement->renderer()) {
+ // Use the direction and block-flow of the document element to set the
+ // viewport's direction and block-flow.
documentStyle->setBlockFlow(docElement->renderer()->style()->blockFlow());
+ documentStyle->setDirection(docElement->renderer()->style()->direction());
+ }
FontDescription fontDescription;
fontDescription.setUsePrinterFont(document->printing());
diff --git a/WebCore/rendering/RenderBox.cpp b/WebCore/rendering/RenderBox.cpp
index 195ae2b..4b52920 100644
--- a/WebCore/rendering/RenderBox.cpp
+++ b/WebCore/rendering/RenderBox.cpp
@@ -300,11 +300,16 @@ 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.
+ else if (isRoot() && (!oldStyle || oldStyle->blockFlow() != style()->blockFlow() || oldStyle->direction() != style()->direction())) {
+ // Propagate the new block flow and direction up to the RenderView.
+ // FIXME: WinIE seems to propagate from the <body> as well. We may want to consider doing that at some point.
RenderView* viewRenderer = view();
- viewRenderer->style()->setBlockFlow(style()->blockFlow());
- viewRenderer->setNeedsLayoutAndPrefWidthsRecalc();
+ RenderStyle* viewStyle = viewRenderer->style();
+ if (viewStyle->blockFlow() != style()->blockFlow() || viewStyle->direction() != style()->direction()) {
+ viewStyle->setBlockFlow(style()->blockFlow());
+ viewStyle->setDirection(style()->direction());
+ viewRenderer->setNeedsLayoutAndPrefWidthsRecalc();
+ }
}
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list