summaryrefslogtreecommitdiffstats
path: root/src/core/web_contents_adapter.cpp
diff options
context:
space:
mode:
authorArvid Nilsson <anilsson@blackberry.com>2013-11-28 15:29:40 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-12-04 14:23:33 +0100
commit5d66b66df1bc205a9ce3d25cfaaa84c961fa7a29 (patch)
treeb99b54d09ba93dbe66a65313c50ac6d831e5a8d0 /src/core/web_contents_adapter.cpp
parent5d92938e5bb830b8ca5a711fd4c1999dd09fd0e3 (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.cpp11
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();
+}