diff options
author | Arvid Nilsson <anilsson@blackberry.com> | 2013-11-28 15:29:40 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-12-04 14:23:33 +0100 |
commit | 5d66b66df1bc205a9ce3d25cfaaa84c961fa7a29 (patch) | |
tree | b99b54d09ba93dbe66a65313c50ac6d831e5a8d0 /src/core/web_contents_adapter.cpp | |
parent | 5d92938e5bb830b8ca5a711fd4c1999dd09fd0e3 (diff) |
Quick: Add experimental.viewport.devicePixelRatio
This specifies a devicePixelRatio to be used by web content instead of
the QScreen::devicePixelRatio(). This is necessary on non-iOS mobile
devices to remain compatible with the mobile web which assumes
devicePixelRatio is computed as the ratio of actual dpi to 160 dpi.
Non-iOS mobile platforms may use different criteria to determine the
QScreen::devicePixelRatio(), depending on the history of the platform,
or simply leave it at 1.0.
For QNX, this setting gets a reasonable default value so developers
don't have to regularly use this experimental API.
These changes were inspired by the Android Chromium port which uses a
GetDpiScale() to accomplish the same in
content/browser/android/content_view_core_impl.cc.
Change-Id: I1bc8878a47dabcdb6986c4fe5c8c4ac230ae2514
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'src/core/web_contents_adapter.cpp')
-rw-r--r-- | src/core/web_contents_adapter.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp index c09fc362a..f3caa7478 100644 --- a/src/core/web_contents_adapter.cpp +++ b/src/core/web_contents_adapter.cpp @@ -49,6 +49,7 @@ #include "web_engine_context.h" #include "base/values.h" +#include "content/browser/renderer_host/render_view_host_impl.h" #include "content/public/browser/navigation_entry.h" #include "content/public/browser/render_view_host.h" #include "content/public/browser/web_contents.h" @@ -344,3 +345,13 @@ void WebContentsAdapter::runJavaScript(const QString &javaScript, const QString rvh->ExecuteJavascriptInWebFrameCallbackResult(toString16(xPath), toString16(javaScript), callback); } } + +void WebContentsAdapter::dpiScaleChanged() +{ + Q_D(WebContentsAdapter); + content::RenderWidgetHostImpl* impl = NULL; + if (d->webContents->GetRenderViewHost()) + impl = content::RenderWidgetHostImpl::From(d->webContents->GetRenderViewHost()); + if (impl) + impl->NotifyScreenInfoChanged(); +} |