[BlackBerry] DeviceDPI Scaling is broken on mobile.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Mar 2012 22:32:54 +0000 (22:32 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Mar 2012 22:32:54 +0000 (22:32 +0000)
https://bugs.webkit.org/show_bug.cgi?id=81966

Fix our viewport argument handling to only override the
targetDensityDpi on tablet devices. Allow WebCore to use
dpi scaling for smaller screen mobile devices.

Patch by Mike Lattanzio <mlattanzio@rim.com> on 2012-03-22
Reviewed by Rob Buis.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):

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

Source/WebKit/blackberry/Api/WebPage.cpp
Source/WebKit/blackberry/ChangeLog

index 95152d3..68b0240 100644 (file)
@@ -3116,9 +3116,11 @@ IntSize WebPagePrivate::recomputeVirtualViewportFromViewportArguments()
     int deviceHeight = Platform::Graphics::Screen::primaryScreen()->height();
     FloatSize currentPPI = Platform::Graphics::Screen::primaryScreen()->pixelsPerInch(-1);
     int deviceDPI = int(roundf((currentPPI.width() + currentPPI.height()) / 2));
-    if (m_viewportArguments.targetDensityDpi == ViewportArguments::ValueAuto) {
-        // Auto means 160dpi if we leave it alone. This looks terrible for pages wanting 1:1.
-        // FIXME: This is insufficient for devices with high dpi, as they will render content unreadably small.
+    if (m_viewportArguments.targetDensityDpi == ViewportArguments::ValueAuto
+        && !Platform::DeviceInfo::instance()->isMobile()) {
+        // If the content provider hasn't specified a target dpi and we have a large
+        // screen we assume the content is fine and set the targetDensityDpi to our dpi.
+        // On smaller screen mobile devices we skip this and use WebCore dpi scaling.
         m_viewportArguments.targetDensityDpi = deviceDPI;
     }
 
index 52dafb8..fa3af48 100644 (file)
@@ -1,3 +1,17 @@
+2012-03-22  Mike Lattanzio  <mlattanzio@rim.com>
+
+        [BlackBerry] DeviceDPI Scaling is broken on mobile.
+        https://bugs.webkit.org/show_bug.cgi?id=81966
+
+        Fix our viewport argument handling to only override the
+        targetDensityDpi on tablet devices. Allow WebCore to use
+        dpi scaling for smaller screen mobile devices.
+
+        Reviewed by Rob Buis.
+
+        * Api/WebPage.cpp:
+        (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
+
 2012-03-22  Mike Fenton  <mifenton@rim.com>
 
         [BlackBerry] Add pattern matching for hexadecimal type input fields