[Chromium-Android] Initialize font rendering in DumpRenderTree
authorwangxianzhu@chromium.org <wangxianzhu@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Jun 2012 03:06:53 +0000 (03:06 +0000)
committerwangxianzhu@chromium.org <wangxianzhu@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Jun 2012 03:06:53 +0000 (03:06 +0000)
https://bugs.webkit.org/show_bug.cgi?id=89133

Reviewed by Adam Barth.

Source/WebKit/chromium:

* src/linuxish/WebFontRendering.cpp:
(WebKit::WebFontRendering::setSubpixelPositioning): Now calls WebFontInfo::setSubpixelPositioning to avoid API users from calling both and simplify platform differences at call sites.

Tools:

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::reset):
(LayoutTestController::setTextSubpixelPositioning):
* DumpRenderTree/chromium/TestShellAndroid.cpp:
(platformInit):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@120394 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/src/linuxish/WebFontRendering.cpp
Tools/ChangeLog
Tools/DumpRenderTree/chromium/LayoutTestController.cpp
Tools/DumpRenderTree/chromium/TestShellAndroid.cpp

index 7a4f0bc..ddcbf29 100644 (file)
@@ -1,3 +1,13 @@
+2012-06-14  Xianzhu Wang  <wangxianzhu@chromium.org>
+
+        [Chromium-Android] Initialize font rendering in DumpRenderTree
+        https://bugs.webkit.org/show_bug.cgi?id=89133
+
+        Reviewed by Adam Barth.
+
+        * src/linuxish/WebFontRendering.cpp:
+        (WebKit::WebFontRendering::setSubpixelPositioning): Now calls WebFontInfo::setSubpixelPositioning to avoid API users from calling both and simplify platform differences at call sites.
+
 2012-06-14  Tony Chang  <tony@chromium.org>
 
         [chromium] Port IFrameRedirectTest.Test from test_shell_tests to webkit_unit_tests
index b9e4702..7dc98e6 100644 (file)
 
 #include "FontPlatformData.h"
 
+#if OS(LINUX)
+#include "WebFontInfo.h"
+#endif
+
 using WebCore::FontPlatformData;
 
 namespace WebKit {
@@ -71,6 +75,9 @@ void WebFontRendering::setSubpixelRendering(bool useSubpixelRendering)
 void WebFontRendering::setSubpixelPositioning(bool useSubpixelPositioning)
 {
     FontPlatformData::setSubpixelPositioning(useSubpixelPositioning);
+#if OS(LINUX)
+    WebFontInfo::setSubpixelPositioning(useSubpixelPositioning);
+#endif
 }
 
 // static
index ee51642..8cb52fa 100644 (file)
@@ -1,3 +1,16 @@
+2012-06-14  Xianzhu Wang  <wangxianzhu@chromium.org>
+
+        [Chromium-Android] Initialize font rendering in DumpRenderTree
+        https://bugs.webkit.org/show_bug.cgi?id=89133
+
+        Reviewed by Adam Barth.
+
+        * DumpRenderTree/chromium/LayoutTestController.cpp:
+        (LayoutTestController::reset):
+        (LayoutTestController::setTextSubpixelPositioning):
+        * DumpRenderTree/chromium/TestShellAndroid.cpp:
+        (platformInit):
+
 2012-06-14  Dongwoo Im  <dw.im@samsung.com>
 
         [EFL] [DRT] Reset the WebAudio setting on DumpRenderTree
index 9299e2f..1f64d65 100644 (file)
@@ -78,9 +78,8 @@
 #include <wtf/OwnArrayPtr.h>
 #endif
 
-#if OS(LINUX)
-#include "linux/WebFontInfo.h"
-#include "linux/WebFontRendering.h"
+#if OS(LINUX) || OS(ANDROID)
+#include "linuxish/WebFontRendering.h"
 #endif
 
 using namespace WebCore;
@@ -702,8 +701,7 @@ void LayoutTestController::reset()
     m_taskList.revokeAll();
     m_shouldStayOnPageAfterHandlingBeforeUnload = false;
     m_hasCustomFullScreenBehavior = false;
-#if OS(LINUX)
-    WebFontInfo::setSubpixelPositioning(false);
+#if OS(LINUX) || OS(ANDROID)
     WebFontRendering::setSubpixelPositioning(false);
 #endif
 }
@@ -2196,13 +2194,11 @@ void LayoutTestController::deliverWebIntent(const CppArgumentList& arguments, Cp
 
 void LayoutTestController::setTextSubpixelPositioning(const CppArgumentList& arguments, CppVariant* result)
 {
-#if OS(LINUX)
+#if OS(LINUX) || OS(ANDROID)
     // Since FontConfig doesn't provide a variable to control subpixel positioning, we'll fall back
     // to setting it globally for all fonts.
-    if (arguments.size() > 0 && arguments[0].isBool()) {
-        WebFontInfo::setSubpixelPositioning(arguments[0].value.boolValue);
+    if (arguments.size() > 0 && arguments[0].isBool())
         WebFontRendering::setSubpixelPositioning(arguments[0].value.boolValue);
-    }
 #endif
     result->setNull();
 }
index e77d80d..d32c864 100644 (file)
@@ -31,6 +31,7 @@
 #include "config.h"
 #include "TestShell.h"
 
+#include "linuxish/WebFontRendering.h"
 #include <android/log.h>
 #include <errno.h>
 #include <fcntl.h>
@@ -127,4 +128,8 @@ void platformInit(int* argc, char*** argv)
         // Redirect stderr to stdout.
         dup2(1, 2);
     }
+
+    // Disable auto hint and use normal hinting in layout test mode to produce the same font metrics as chromium-linux.
+    WebKit::WebFontRendering::setAutoHint(false);
+    WebKit::WebFontRendering::setHinting(SkPaint::kNormal_Hinting);
 }