summaryrefslogtreecommitdiffstats
path: root/android_webview/renderer/aw_render_view_ext.cc
diff options
context:
space:
mode:
Diffstat (limited to 'android_webview/renderer/aw_render_view_ext.cc')
-rw-r--r--android_webview/renderer/aw_render_view_ext.cc14
1 files changed, 13 insertions, 1 deletions
diff --git a/android_webview/renderer/aw_render_view_ext.cc b/android_webview/renderer/aw_render_view_ext.cc
index 2e253ef..27a7242 100644
--- a/android_webview/renderer/aw_render_view_ext.cc
+++ b/android_webview/renderer/aw_render_view_ext.cc
@@ -127,7 +127,7 @@ void PopulateHitTestData(const GURL& absolute_link_url,
} // namespace
AwRenderViewExt::AwRenderViewExt(content::RenderView* render_view)
- : content::RenderViewObserver(render_view) {
+ : content::RenderViewObserver(render_view), page_scale_factor_(0.0f) {
render_view->GetWebView()->setPermissionClient(this);
}
@@ -192,6 +192,18 @@ void AwRenderViewExt::DidCommitProvisionalLoad(WebKit::WebFrame* frame,
}
}
+void AwRenderViewExt::DidCommitCompositorFrame() {
+ UpdatePageScaleFactor();
+}
+
+void AwRenderViewExt::UpdatePageScaleFactor() {
+ if (page_scale_factor_ != render_view()->GetWebView()->pageScaleFactor()) {
+ page_scale_factor_ = render_view()->GetWebView()->pageScaleFactor();
+ Send(new AwViewHostMsg_PageScaleFactorChanged(routing_id(),
+ page_scale_factor_));
+ }
+}
+
void AwRenderViewExt::FocusedNodeChanged(const WebKit::WebNode& node) {
if (node.isNull() || !node.isElementNode() || !render_view())
return;