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..56dca03feb16df690bf6c369bc6789fff89e94ea 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()->HasSwitch( |
|
boliu
2015/09/29 01:00:42
again, do this in aw_contents.cc and pass it in, d
hush (inactive)
2015/09/29 01:38:59
BVR already depends on base::commandline in Browse
boliu
2015/09/29 01:40:23
Maybe that should be fixed too
hush (inactive)
2015/09/29 01:45:00
let's not change CalculateTileMemoryPolicy here si
|
| + switches::kEnablePageVisibility)) {} |
| BrowserViewRenderer::~BrowserViewRenderer() { |
| } |
| @@ -443,6 +447,13 @@ bool BrowserViewRenderer::IsVisible() const { |
| return view_visible_ && (!attached_to_window_ || window_visible_); |
| } |
| +bool BrowserViewRenderer::IsClientVisible() const { |
|
hush (inactive)
2015/09/29 00:55:09
this is for CVC's visibility. I didn't think of an
boliu
2015/09/29 01:00:42
Shouldn't paused be handled here as well then?
hush (inactive)
2015/09/29 01:38:59
Done.
|
| + if (disable_page_visibility_) |
| + return true; |
| + |
| + return IsVisible(); |
| +} |
| + |
| gfx::Rect BrowserViewRenderer::GetScreenRect() const { |
| return gfx::Rect(client_->GetLocationOnScreen(), size_); |
| } |
| @@ -715,9 +726,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()); |
| + } |
| } |
| std::string BrowserViewRenderer::ToString() const { |