From 9f20cbf56188e83d4a3a631aba9607697ebac6c0 Mon Sep 17 00:00:00 2001 From: Grace Kloba Date: Thu, 14 Jan 2010 16:22:56 -0800 Subject: [PATCH] For mobile site, allow text wrap to screen if scale is not same as screen width scale. Fix http://b/issue?id=2375232 --- WebCore/rendering/RenderBlockLineLayout.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/WebCore/rendering/RenderBlockLineLayout.cpp b/WebCore/rendering/RenderBlockLineLayout.cpp index 615a36985..cc0fc58cf 100644 --- a/WebCore/rendering/RenderBlockLineLayout.cpp +++ b/WebCore/rendering/RenderBlockLineLayout.cpp @@ -40,6 +40,7 @@ #include "Settings.h" #include "Text.h" #include "HTMLNames.h" +#include "WebViewCore.h" #endif // ANDROID_LAYOUT using namespace std; @@ -861,8 +862,10 @@ void RenderBlock::layoutInlineChildren(bool relayoutChildren, int& repaintTop, i // will wrap text around screen width so that it doesn't need to scroll // horizontally when reading a paragraph. const Settings* settings = document()->settings(); - bool doTextWrap = settings && settings->viewportWidth() != 0 && - settings->layoutAlgorithm() == Settings::kLayoutFitColumnToScreen; + android::WebViewCore* core = android::WebViewCore::getWebViewCore(view()->frameView()); + bool doTextWrap = settings && (settings->viewportWidth() != 0 + || fabs(core->scale() - core->screenWidthScale()) > 0.01) + && settings->layoutAlgorithm() == Settings::kLayoutFitColumnToScreen; if (doTextWrap) { int ta = style()->textAlign(); int dir = style()->direction(); -- 2.11.0