diff options
author | Grace Kloba <klobag@google.com> | 2009-09-20 16:34:19 -0700 |
---|---|---|
committer | Grace Kloba <klobag@google.com> | 2009-09-21 13:43:58 -0700 |
commit | f10585d69aaccf4c1b021df143ee0f08e338cf31 (patch) | |
tree | 235a1caed1645e53bd196e3cf024185e9f1e827f /WebKit/android/WebCoreSupport | |
parent | 19d8bd10cbc60aee378a8762c27b264a4813445b (diff) | |
download | external_webkit-f10585d69aaccf4c1b021df143ee0f08e338cf31.zip external_webkit-f10585d69aaccf4c1b021df143ee0f08e338cf31.tar.gz external_webkit-f10585d69aaccf4c1b021df143ee0f08e338cf31.tar.bz2 |
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
Diffstat (limited to 'WebKit/android/WebCoreSupport')
-rw-r--r-- | WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp b/WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp index 6dc7faf..93869c3 100644 --- a/WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp +++ b/WebKit/android/WebCoreSupport/ChromeClientAndroid.cpp @@ -81,8 +81,8 @@ FloatRect ChromeClientAndroid::pageRect() { notImplemented(); return FloatRect() float ChromeClientAndroid::scaleFactor() { - // only seems to be used for dashboard regions, so just return 1 - return 1; + ASSERT(m_webFrame); + return m_webFrame->density(); } void ChromeClientAndroid::focus() { |