Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Unified Diff: android_webview/browser/browser_view_renderer.cc

Issue 2637273002: [android_webview] Do not declare WebView visible on detaching from window. (Closed)
Patch Set: Fixed IsClientVisible(), added unit tests Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 1933de978b19e65d75cb18fd5d4ce022ced96721..3aea7cbca97dda665902ccbf71d849211638632f 100644
--- a/android_webview/browser/browser_view_renderer.cc
+++ b/android_webview/browser/browser_view_renderer.cc
@@ -101,6 +101,7 @@ BrowserViewRenderer::BrowserViewRenderer(
view_visible_(false),
window_visible_(false),
attached_to_window_(false),
+ was_attached_(false),
hardware_enabled_(false),
dip_scale_(0.f),
page_scale_factor_(1.f),
@@ -444,6 +445,8 @@ void BrowserViewRenderer::OnAttachedToWindow(int width, int height) {
"height",
height);
attached_to_window_ = true;
+ was_attached_ = true;
+
size_.SetSize(width, height);
if (offscreen_pre_raster_)
UpdateMemoryPolicy();
@@ -486,7 +489,13 @@ bool BrowserViewRenderer::IsVisible() const {
}
bool BrowserViewRenderer::IsClientVisible() const {
- return !is_paused_ && (!attached_to_window_ || window_visible_);
+ // When WebView is not paused, we decrare it visible even before it is
boliu 2017/01/19 00:27:03 declare typo
Tima Vaisburd 2017/01/19 00:45:52 Done.
+ // attached to window to allow for background operations. Once it was
+ // attached, however, the visibility is determined in the regular way, i.e.
boliu 2017/01/19 00:27:03 drop the "regular way" bit, there's nothing regula
Tima Vaisburd 2017/01/19 00:45:52 Rewrote the last sentence to "If it ever gets atta
+ // attached to a visible window.
+ return is_paused_
+ ? false
+ : !was_attached_ || (attached_to_window_ && window_visible_);
}
gfx::Rect BrowserViewRenderer::GetScreenRect() const {
« no previous file with comments | « android_webview/browser/browser_view_renderer.h ('k') | android_webview/browser/browser_view_renderer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698