Index: android_webview/browser/browser_view_renderer_impl.cc |
diff --git a/android_webview/browser/browser_view_renderer_impl.cc b/android_webview/browser/browser_view_renderer_impl.cc |
index e846aa77a21c434320d03ab8c6ae43b408d268e9..95051a78b1e79b8240c732d8c89057469eecb00c 100644 |
--- a/android_webview/browser/browser_view_renderer_impl.cc |
+++ b/android_webview/browser/browser_view_renderer_impl.cc |
@@ -136,6 +136,7 @@ BrowserViewRendererImpl::BrowserViewRendererImpl( |
view_clip_layer_(cc::Layer::create()), |
transform_layer_(cc::Layer::create()), |
scissor_clip_layer_(cc::Layer::create()), |
+ view_attached_(false), |
view_visible_(false), |
compositor_visible_(false), |
is_composite_pending_(false), |
@@ -409,15 +410,29 @@ void BrowserViewRendererImpl::OnSizeChanged(int width, int height) { |
} |
void BrowserViewRendererImpl::OnAttachedToWindow(int width, int height) { |
+ view_attached_ = true; |
view_size_ = gfx::Size(width, height); |
view_clip_layer_->setBounds(view_size_); |
} |
void BrowserViewRendererImpl::OnDetachedFromWindow() { |
+ view_attached_ = false; |
view_visible_ = false; |
SetCompositorVisibility(false); |
} |
+bool BrowserViewRendererImpl::IsAttachedToWindow() { |
+ return view_attached_; |
+} |
+ |
+bool BrowserViewRendererImpl::IsViewVisible() { |
+ return view_visible_; |
+} |
+ |
+gfx::Rect BrowserViewRendererImpl::GetScreenRect() { |
+ return gfx::Rect(client_->GetLocationOnScreen(), view_size_); |
+} |
+ |
void BrowserViewRendererImpl::ScheduleComposite() { |
TRACE_EVENT0("android_webview", "BrowserViewRendererImpl::ScheduleComposite"); |