OSDN Git Service

Add dpi support for WebView.
authorGrace Kloba <klobag@google.com>
Sun, 20 Sep 2009 23:34:19 +0000 (16:34 -0700)
committerGrace Kloba <klobag@google.com>
Mon, 21 Sep 2009 20:43:58 +0000 (13:43 -0700)
commitf10585d69aaccf4c1b021df143ee0f08e338cf31
tree235a1caed1645e53bd196e3cf024185e9f1e827f
parent19d8bd10cbc60aee378a8762c27b264a4813445b
Add dpi support for WebView.

In the "viewport" meta tag, you can specify "target-densityDpi".
If it is not specified, it uses the default, 160dpi as of today.
Then the 1.0 scale factor specified in the viewport tag means 100%
on G1 and 150% on Sholes. If you set "target-densityDpi" to
"device-dpi", then the 1.0 scale factor means 100% on both G1 and Sholes.

Implemented Safari's window.devicePixelRatio and css media query
device-pixel-ratio.

So if you use "device-dpi" and modify the css for font-size and image
src depending on window.devicePixelRatio, you can get a better page on
Sholes/Passion.

Here is a list of options for "target-densityDpi".

device-dpi:    Use the device's native dpi as target dpi.
low-dpi:       120dpi
medium-dpi:    160dpi, which is also the default as of today
high-dpi:      240dpi
<number>:      We take any number between 70 and 400 as a valid target dpi.

Fix http://b/issue?id=2071943
WebCore/page/Settings.cpp
WebCore/page/Settings.h
WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp
WebKit/android/jni/WebCoreFrameBridge.cpp
WebKit/android/jni/WebCoreFrameBridge.h
WebKit/android/jni/WebViewCore.cpp