| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "android_webview/browser/browser_view_renderer.h" | 5 #include "android_webview/browser/browser_view_renderer.h" |
| 6 | 6 |
| 7 #include "android_webview/browser/browser_view_renderer_client.h" | 7 #include "android_webview/browser/browser_view_renderer_client.h" |
| 8 #include "base/auto_reset.h" | 8 #include "base/auto_reset.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 "width", | 372 "width", |
| 373 width, | 373 width, |
| 374 "height", | 374 "height", |
| 375 height); | 375 height); |
| 376 attached_to_window_ = true; | 376 attached_to_window_ = true; |
| 377 size_.SetSize(width, height); | 377 size_.SetSize(width, height); |
| 378 } | 378 } |
| 379 | 379 |
| 380 void BrowserViewRenderer::OnDetachedFromWindow() { | 380 void BrowserViewRenderer::OnDetachedFromWindow() { |
| 381 TRACE_EVENT0("android_webview", "BrowserViewRenderer::OnDetachedFromWindow"); | 381 TRACE_EVENT0("android_webview", "BrowserViewRenderer::OnDetachedFromWindow"); |
| 382 attached_to_window_ = false; |
| 382 shared_renderer_state_.ReleaseHardwareDrawIfNeededOnUI(); | 383 shared_renderer_state_.ReleaseHardwareDrawIfNeededOnUI(); |
| 383 attached_to_window_ = false; | |
| 384 DCHECK(!hardware_enabled_); | 384 DCHECK(!hardware_enabled_); |
| 385 } | 385 } |
| 386 | 386 |
| 387 void BrowserViewRenderer::ReleaseHardware() { | 387 void BrowserViewRenderer::ReleaseHardware() { |
| 388 DCHECK(hardware_enabled_); | 388 DCHECK(hardware_enabled_); |
| 389 ReturnUnusedResource(shared_renderer_state_.PassUncommittedFrameOnUI()); | 389 ReturnUnusedResource(shared_renderer_state_.PassUncommittedFrameOnUI()); |
| 390 ReturnResourceFromParent(); | 390 ReturnResourceFromParent(); |
| 391 DCHECK(shared_renderer_state_.ReturnedResourcesEmptyOnUI()); | 391 DCHECK(shared_renderer_state_.ReturnedResourcesEmptyOnUI()); |
| 392 | 392 |
| 393 if (compositor_) { | 393 if (compositor_) { |
| 394 compositor_->ReleaseHwDraw(); | 394 compositor_->ReleaseHwDraw(); |
| 395 } | 395 } |
| 396 | 396 |
| 397 hardware_enabled_ = false; | 397 hardware_enabled_ = false; |
| 398 } | 398 } |
| 399 | 399 |
| 400 bool BrowserViewRenderer::IsVisible() const { | 400 bool BrowserViewRenderer::IsVisible() const { |
| 401 // Ignore |window_visible_| if |attached_to_window_| is false. | 401 // Ignore |window_visible_| if |attached_to_window_| is false. |
| 402 return view_visible_ && (!attached_to_window_ || window_visible_); | 402 return view_visible_ && attached_to_window_ && window_visible_; |
| 403 } | 403 } |
| 404 | 404 |
| 405 gfx::Rect BrowserViewRenderer::GetScreenRect() const { | 405 gfx::Rect BrowserViewRenderer::GetScreenRect() const { |
| 406 return gfx::Rect(client_->GetLocationOnScreen(), size_); | 406 return gfx::Rect(client_->GetLocationOnScreen(), size_); |
| 407 } | 407 } |
| 408 | 408 |
| 409 void BrowserViewRenderer::DidInitializeCompositor( | 409 void BrowserViewRenderer::DidInitializeCompositor( |
| 410 content::SynchronousCompositor* compositor) { | 410 content::SynchronousCompositor* compositor) { |
| 411 TRACE_EVENT0("android_webview", | 411 TRACE_EVENT0("android_webview", |
| 412 "BrowserViewRenderer::DidInitializeCompositor"); | 412 "BrowserViewRenderer::DidInitializeCompositor"); |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 746 base::StringAppendF(&str, | 746 base::StringAppendF(&str, |
| 747 "overscroll_rounding_error_: %s ", | 747 "overscroll_rounding_error_: %s ", |
| 748 overscroll_rounding_error_.ToString().c_str()); | 748 overscroll_rounding_error_.ToString().c_str()); |
| 749 base::StringAppendF( | 749 base::StringAppendF( |
| 750 &str, "on_new_picture_enable: %d ", on_new_picture_enable_); | 750 &str, "on_new_picture_enable: %d ", on_new_picture_enable_); |
| 751 base::StringAppendF(&str, "clear_view: %d ", clear_view_); | 751 base::StringAppendF(&str, "clear_view: %d ", clear_view_); |
| 752 return str; | 752 return str; |
| 753 } | 753 } |
| 754 | 754 |
| 755 } // namespace android_webview | 755 } // namespace android_webview |
| OLD | NEW |