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..b6c3c7ca02654a0b0515d77372bfdb43cac025bd 100644 |
| --- a/android_webview/browser/browser_view_renderer.cc |
| +++ b/android_webview/browser/browser_view_renderer.cc |
| @@ -6,6 +6,7 @@ |
| #include "android_webview/browser/browser_view_renderer_client.h" |
| #include "android_webview/browser/child_frame.h" |
| +#include "android_webview/common/aw_switches.h" |
| #include "base/auto_reset.h" |
| #include "base/command_line.h" |
| #include "base/logging.h" |
| @@ -101,7 +102,10 @@ BrowserViewRenderer::BrowserViewRenderer( |
| on_new_picture_enable_(false), |
| clear_view_(false), |
| offscreen_pre_raster_(false), |
| - fallback_tick_pending_(false) {} |
| + fallback_tick_pending_(false), |
| + disable_page_visibility_( |
| + base::CommandLine::ForCurrentProcess() |
|
boliu
2015/09/28 21:31:31
nit: Do the CommandLine check in AwContents, and p
|
| + ->HasSwitch(switches::kDisablePageVisibility)) {} |
| BrowserViewRenderer::~BrowserViewRenderer() { |
| } |
| @@ -440,6 +444,9 @@ void BrowserViewRenderer::ReleaseHardware() { |
| bool BrowserViewRenderer::IsVisible() const { |
| // Ignore |window_visible_| if |attached_to_window_| is false. |
| + if (disable_page_visibility_) |
| + return !attached_to_window_ || window_visible_; |
|
boliu
2015/09/28 21:31:31
This... makes zero sense. This is IsWindowVisible.
|
| + |
| return view_visible_ && (!attached_to_window_ || window_visible_); |
| } |
| @@ -650,8 +657,7 @@ void BrowserViewRenderer::PostInvalidateWithFallback() { |
| // 2) If we are attached to window and the window is not visible (eg when |
| // app is in the background). We are sure in this case the webview is used |
| // "on-screen" but that updates are not needed when in the background. |
| - bool throttle_fallback_tick = |
| - (is_paused_ && !clear_view_) || (attached_to_window_ && !window_visible_); |
| + bool throttle_fallback_tick = (is_paused_ && !clear_view_) || !IsVisible(); |
|
boliu
2015/09/28 21:39:39
Not everything need to be refactor. This was check
|
| if (throttle_fallback_tick || fallback_tick_pending_) |
| return; |
| @@ -716,8 +722,7 @@ bool BrowserViewRenderer::CompositeSW(SkCanvas* canvas) { |
| void BrowserViewRenderer::UpdateCompositorIsActive() { |
| if (compositor_) |
| - compositor_->SetIsActive(!is_paused_ && |
| - (!attached_to_window_ || window_visible_)); |
| + compositor_->SetIsActive(!is_paused_ && IsVisible()); |
| } |
| std::string BrowserViewRenderer::ToString() const { |