Chromium Code Reviews| Index: android_webview/browser/browser_view_renderer.cc |
| diff --git a/android_webview/browser/browser_view_renderer.cc b/android_webview/browser/browser_view_renderer.cc |
| index 4bf5e4bd1c06dd6214f0e020d4474ee9f39f2b8f..9e1d0560c5d6f85c15994b7a032093eb3444313f 100644 |
| --- a/android_webview/browser/browser_view_renderer.cc |
| +++ b/android_webview/browser/browser_view_renderer.cc |
| @@ -84,10 +84,12 @@ BrowserViewRenderer* BrowserViewRenderer::FromWebContents( |
| BrowserViewRenderer::BrowserViewRenderer( |
| BrowserViewRendererClient* client, |
| - const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner) |
| + const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner, |
| + bool disable_page_visibility) |
| : client_(client), |
| shared_renderer_state_(ui_task_runner, this), |
| ui_task_runner_(ui_task_runner), |
| + disable_page_visibility_(disable_page_visibility), |
| compositor_(NULL), |
| is_paused_(false), |
| view_visible_(false), |
| @@ -443,6 +445,13 @@ bool BrowserViewRenderer::IsVisible() const { |
| return view_visible_ && (!attached_to_window_ || window_visible_); |
| } |
| +bool BrowserViewRenderer::IsClientVisible() const { |
| + if (disable_page_visibility_) |
| + return !is_paused_; |
| + |
| + return !is_paused_ && IsVisible(); |
| +} |
| + |
| gfx::Rect BrowserViewRenderer::GetScreenRect() const { |
| return gfx::Rect(client_->GetLocationOnScreen(), size_); |
| } |
| @@ -715,9 +724,13 @@ bool BrowserViewRenderer::CompositeSW(SkCanvas* canvas) { |
| } |
| void BrowserViewRenderer::UpdateCompositorIsActive() { |
| - if (compositor_) |
| - compositor_->SetIsActive(!is_paused_ && |
| - (!attached_to_window_ || window_visible_)); |
| + if (compositor_) { |
| + if (disable_page_visibility_) |
| + compositor_->SetIsActive(!is_paused_ && |
| + (!attached_to_window_ || window_visible_)); |
| + else |
| + compositor_->SetIsActive(!is_paused_ && IsVisible()); |
|
boliu
2015/09/29 01:47:27
IsClientVisible here
hush (inactive)
2015/09/29 01:56:52
Done.
|
| + } |
| } |
| std::string BrowserViewRenderer::ToString() const { |