diff options
author | leandrogracia@chromium.org <leandrogracia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-06 23:15:21 +0000 |
---|---|---|
committer | leandrogracia@chromium.org <leandrogracia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-06 23:15:21 +0000 |
commit | 5a18337b03c700f0a7c3b1efb92d0616b66e6c78 (patch) | |
tree | 43689158fb8501d26bf80ce39191f5faa6b20b34 /android_webview/browser/browser_view_renderer_impl.h | |
parent | fde91bd820596f19b5fac0b453c735988dd678e3 (diff) | |
download | chromium_src-5a18337b03c700f0a7c3b1efb92d0616b66e6c78.zip chromium_src-5a18337b03c700f0a7c3b1efb92d0616b66e6c78.tar.gz chromium_src-5a18337b03c700f0a7c3b1efb92d0616b66e6c78.tar.bz2 |
Fix page scaling in Android Webview SW rendering.
BUG=
Review URL: https://chromiumcodereview.appspot.com/12310136
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186532 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview/browser/browser_view_renderer_impl.h')
-rw-r--r-- | android_webview/browser/browser_view_renderer_impl.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/android_webview/browser/browser_view_renderer_impl.h b/android_webview/browser/browser_view_renderer_impl.h index 323ddcb..050645d 100644 --- a/android_webview/browser/browser_view_renderer_impl.h +++ b/android_webview/browser/browser_view_renderer_impl.h @@ -8,10 +8,12 @@ #include "android_webview/browser/browser_view_renderer.h" #include "android_webview/browser/renderer_host/view_renderer_host.h" #include "content/public/browser/android/compositor.h" +#include "content/public/browser/android/content_view_core.h" #include "content/public/browser/web_contents_observer.h" #include "skia/ext/refptr.h" #include "ui/gfx/point.h" #include "ui/gfx/size.h" +#include "ui/gfx/size_f.h" typedef void* EGLContext; struct AwDrawSWFunctionTable; @@ -23,6 +25,10 @@ namespace content { class WebContents; } +namespace gfx { +class Vector2dF; +} + namespace android_webview { class BrowserViewRendererImpl @@ -38,6 +44,7 @@ class BrowserViewRendererImpl static void SetAwDrawSWFunctionTable(AwDrawSWFunctionTable* table); // BrowserViewRenderer implementation. + // |content_view_core| must not outlive |this| BrowserViewRenderer instance. virtual void SetContents( content::ContentViewCore* content_view_core) OVERRIDE; virtual void DrawGL(AwDrawGLInfo* draw_info) OVERRIDE; @@ -74,6 +81,10 @@ class BrowserViewRendererImpl bool RenderSW(SkCanvas* canvas); bool RenderPicture(SkCanvas* canvas); + void OnFrameInfoUpdated(const gfx::SizeF& content_size, + const gfx::Vector2dF& scroll_offset, + float page_scale_factor); + BrowserViewRenderer::Client* client_; BrowserViewRenderer::JavaHelper* java_helper_; @@ -97,7 +108,9 @@ class BrowserViewRendererImpl bool compositor_visible_; bool is_composite_pending_; float dpi_scale_; + float page_scale_; gfx::Size view_size_; + gfx::SizeF content_size_css_; OnNewPictureMode on_new_picture_mode_; // Used only for detecting Android View System context changes. @@ -107,6 +120,9 @@ class BrowserViewRendererImpl // Set via SetContents. Used to recognize updates to the local WebView. content::WebContents* web_contents_; + // Used to observe frame metadata updates. + content::ContentViewCore::UpdateFrameInfoCallback update_frame_info_callback_; + DISALLOW_COPY_AND_ASSIGN(BrowserViewRendererImpl); }; |