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 "android_webview/browser/shared_renderer_state.h" | 8 #include "android_webview/browser/shared_renderer_state.h" |
9 #include "android_webview/common/aw_switches.h" | 9 #include "android_webview/common/aw_switches.h" |
10 #include "android_webview/public/browser/draw_gl.h" | 10 #include "android_webview/public/browser/draw_gl.h" |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 } | 261 } |
262 | 262 |
263 bool BrowserViewRenderer::OnDrawHardware(jobject java_canvas) { | 263 bool BrowserViewRenderer::OnDrawHardware(jobject java_canvas) { |
264 if (!compositor_) | 264 if (!compositor_) |
265 return false; | 265 return false; |
266 | 266 |
267 if (!hardware_enabled_) { | 267 if (!hardware_enabled_) { |
268 hardware_enabled_ = compositor_->InitializeHwDraw(); | 268 hardware_enabled_ = compositor_->InitializeHwDraw(); |
269 if (hardware_enabled_) { | 269 if (hardware_enabled_) { |
270 tile_manager_key_ = GlobalTileManager::GetInstance()->PushBack(this); | 270 tile_manager_key_ = GlobalTileManager::GetInstance()->PushBack(this); |
271 gpu::GLInProcessContext* share_context = compositor_->GetShareContext(); | |
272 DCHECK(share_context); | |
273 shared_renderer_state_->SetSharedContext(share_context); | |
274 } | 271 } |
275 } | 272 } |
276 if (!hardware_enabled_) | 273 if (!hardware_enabled_) |
277 return false; | 274 return false; |
278 | 275 |
279 ReturnResourceFromParent(); | 276 ReturnResourceFromParent(); |
280 SynchronousCompositorMemoryPolicy new_policy = CalculateDesiredMemoryPolicy(); | 277 SynchronousCompositorMemoryPolicy new_policy = CalculateDesiredMemoryPolicy(); |
281 RequestMemoryPolicy(new_policy); | 278 RequestMemoryPolicy(new_policy); |
282 compositor_->SetMemoryPolicy(memory_policy_); | 279 compositor_->SetMemoryPolicy(memory_policy_); |
283 | 280 |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
469 DCHECK(!hardware_enabled_); | 466 DCHECK(!hardware_enabled_); |
470 } | 467 } |
471 | 468 |
472 void BrowserViewRenderer::ReleaseHardware() { | 469 void BrowserViewRenderer::ReleaseHardware() { |
473 DCHECK(hardware_enabled_); | 470 DCHECK(hardware_enabled_); |
474 ReturnUnusedResource(shared_renderer_state_->PassDrawGLInput()); | 471 ReturnUnusedResource(shared_renderer_state_->PassDrawGLInput()); |
475 ReturnResourceFromParent(); | 472 ReturnResourceFromParent(); |
476 DCHECK(shared_renderer_state_->ReturnedResourcesEmpty()); | 473 DCHECK(shared_renderer_state_->ReturnedResourcesEmpty()); |
477 | 474 |
478 compositor_->ReleaseHwDraw(); | 475 compositor_->ReleaseHwDraw(); |
479 shared_renderer_state_->SetSharedContext(NULL); | |
480 hardware_enabled_ = false; | 476 hardware_enabled_ = false; |
481 | 477 |
482 SynchronousCompositorMemoryPolicy zero_policy; | 478 SynchronousCompositorMemoryPolicy zero_policy; |
483 RequestMemoryPolicy(zero_policy); | 479 RequestMemoryPolicy(zero_policy); |
484 GlobalTileManager::GetInstance()->Remove(tile_manager_key_); | 480 GlobalTileManager::GetInstance()->Remove(tile_manager_key_); |
485 } | 481 } |
486 | 482 |
487 bool BrowserViewRenderer::IsVisible() const { | 483 bool BrowserViewRenderer::IsVisible() const { |
488 // Ignore |window_visible_| if |attached_to_window_| is false. | 484 // Ignore |window_visible_| if |attached_to_window_| is false. |
489 return view_visible_ && (!attached_to_window_ || window_visible_); | 485 return view_visible_ && (!attached_to_window_ || window_visible_); |
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
815 base::StringAppendF(&str, | 811 base::StringAppendF(&str, |
816 "surface width height: [%d %d] ", | 812 "surface width height: [%d %d] ", |
817 draw_info->width, | 813 draw_info->width, |
818 draw_info->height); | 814 draw_info->height); |
819 base::StringAppendF(&str, "is_layer: %d ", draw_info->is_layer); | 815 base::StringAppendF(&str, "is_layer: %d ", draw_info->is_layer); |
820 } | 816 } |
821 return str; | 817 return str; |
822 } | 818 } |
823 | 819 |
824 } // namespace android_webview | 820 } // namespace android_webview |
OLD | NEW |