summaryrefslogtreecommitdiffstats
path: root/android_webview/browser/browser_view_renderer_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'android_webview/browser/browser_view_renderer_impl.h')
-rw-r--r--android_webview/browser/browser_view_renderer_impl.h16
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);
};