Index: android_webview/native/aw_contents.cc |
diff --git a/android_webview/native/aw_contents.cc b/android_webview/native/aw_contents.cc |
index fb7b2e4eef30a1b27aaf23bf0b18e95fb2573b9a..1994e8980eb17f8b7a21087ace48fe60484dd5e1 100644 |
--- a/android_webview/native/aw_contents.cc |
+++ b/android_webview/native/aw_contents.cc |
@@ -160,14 +160,11 @@ AwBrowserPermissionRequestDelegate* AwBrowserPermissionRequestDelegate::FromID( |
AwContents::AwContents(scoped_ptr<WebContents> web_contents) |
: web_contents_(web_contents.Pass()), |
- shared_renderer_state_( |
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
- this), |
browser_view_renderer_( |
this, |
- &shared_renderer_state_, |
web_contents_.get(), |
BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI)), |
+ shared_renderer_state_(browser_view_renderer_.GetSharedRendererState()), |
renderer_manager_key_(GLViewRendererManager::GetInstance()->NullKey()) { |
base::subtle::NoBarrier_AtomicIncrement(&g_instance_count, 1); |
icon_helper_.reset(new IconHelper(web_contents_.get())); |
@@ -343,6 +340,7 @@ jlong AwContents::GetAwDrawGLViewContext(JNIEnv* env, jobject obj) { |
return reinterpret_cast<intptr_t>(this); |
} |
+// TODO(hush): move this function to SharedRendererState. |
void AwContents::DrawGL(AwDrawGLInfo* draw_info) { |
if (draw_info->mode == AwDrawGLInfo::kModeSync) { |
if (hardware_renderer_) |
@@ -375,10 +373,10 @@ void AwContents::DrawGL(AwDrawGLInfo* draw_info) { |
// corruption. |
if (draw_info->mode == AwDrawGLInfo::kModeProcess || |
draw_info->mode == AwDrawGLInfo::kModeProcessNoContext) { |
- shared_renderer_state_.DidDrawGLProcess(); |
+ shared_renderer_state_->DidDrawGLProcess(); |
} |
- if (shared_renderer_state_.IsInsideHardwareRelease()) { |
+ if (shared_renderer_state_->IsInsideHardwareRelease()) { |
hardware_renderer_.reset(); |
// Flush the idle queue in tear down. |
DeferredGpuCommandService::GetInstance()->PerformAllIdleWork(); |
@@ -393,7 +391,7 @@ void AwContents::DrawGL(AwDrawGLInfo* draw_info) { |
} |
if (!hardware_renderer_) { |
- hardware_renderer_.reset(new HardwareRenderer(&shared_renderer_state_)); |
+ hardware_renderer_.reset(new HardwareRenderer(shared_renderer_state_)); |
hardware_renderer_->CommitFrame(); |
} |
@@ -888,7 +886,7 @@ void AwContents::InitializeHardwareDrawIfNeeded() { |
base::AutoLock lock(render_thread_lock_); |
if (renderer_manager_key_ == manager->NullKey()) { |
- renderer_manager_key_ = manager->PushBack(&shared_renderer_state_); |
+ renderer_manager_key_ = manager->PushBack(shared_renderer_state_); |
DeferredGpuCommandService::SetInstance(); |
} |
} |
@@ -900,7 +898,7 @@ void AwContents::OnDetachedFromWindow(JNIEnv* env, jobject obj) { |
} |
void AwContents::ReleaseHardwareDrawIfNeeded() { |
- InsideHardwareReleaseReset inside_reset(&shared_renderer_state_); |
+ InsideHardwareReleaseReset inside_reset(shared_renderer_state_); |
JNIEnv* env = AttachCurrentThread(); |
ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); |