| Index: android_webview/browser/shared_renderer_state.cc
|
| diff --git a/android_webview/browser/shared_renderer_state.cc b/android_webview/browser/shared_renderer_state.cc
|
| index 488f915b65209451ffa264e536f79cb7d0c0c31f..7442bd6706a633ea8d2b7557e0691ae5899470e4 100644
|
| --- a/android_webview/browser/shared_renderer_state.cc
|
| +++ b/android_webview/browser/shared_renderer_state.cc
|
| @@ -87,16 +87,14 @@ base::LazyInstance<internal::RequestDrawGLTracker> g_request_draw_gl_tracker =
|
| }
|
|
|
| SharedRendererState::SharedRendererState(
|
| - const scoped_refptr<base::SingleThreadTaskRunner>& ui_loop,
|
| - BrowserViewRenderer* browser_view_renderer)
|
| + const scoped_refptr<base::SingleThreadTaskRunner>& ui_loop)
|
| : ui_loop_(ui_loop),
|
| - browser_view_renderer_(browser_view_renderer),
|
| + browser_view_renderer_(nullptr),
|
| renderer_manager_key_(GLViewRendererManager::GetInstance()->NullKey()),
|
| hardware_renderer_has_frame_(false),
|
| inside_hardware_release_(false),
|
| weak_factory_on_ui_thread_(this) {
|
| DCHECK(ui_loop_->BelongsToCurrentThread());
|
| - DCHECK(browser_view_renderer_);
|
| ui_thread_weak_ptr_ = weak_factory_on_ui_thread_.GetWeakPtr();
|
| ResetRequestDrawGLCallback();
|
| }
|
| @@ -142,6 +140,7 @@ void SharedRendererState::ResetRequestDrawGLCallback() {
|
|
|
| void SharedRendererState::ClientRequestDrawGLOnUI() {
|
| DCHECK(ui_loop_->BelongsToCurrentThread());
|
| + DCHECK(browser_view_renderer_);
|
| ResetRequestDrawGLCallback();
|
| g_request_draw_gl_tracker.Get().SetQueuedFunctorOnUi(this);
|
| if (!browser_view_renderer_->RequestDrawGL(false)) {
|
| @@ -152,9 +151,16 @@ void SharedRendererState::ClientRequestDrawGLOnUI() {
|
|
|
| void SharedRendererState::UpdateParentDrawConstraintsOnUI() {
|
| DCHECK(ui_loop_->BelongsToCurrentThread());
|
| + DCHECK(browser_view_renderer_);
|
| browser_view_renderer_->UpdateParentDrawConstraints();
|
| }
|
|
|
| +void SharedRendererState::SetBrowserViewRendererOnUI(
|
| + BrowserViewRenderer* browser_view_renderer) {
|
| + DCHECK(ui_loop_->BelongsToCurrentThread());
|
| + browser_view_renderer_ = browser_view_renderer;
|
| +}
|
| +
|
| void SharedRendererState::SetScrollOffsetOnUI(gfx::Vector2d scroll_offset) {
|
| base::AutoLock lock(lock_);
|
| scroll_offset_ = scroll_offset;
|
| @@ -325,6 +331,7 @@ void SharedRendererState::DeleteHardwareRendererOnUI() {
|
| void SharedRendererState::ReleaseCompositorResourcesIfNeededOnUI(
|
| bool release_hardware_draw) {
|
| DCHECK(ui_loop_->BelongsToCurrentThread());
|
| + DCHECK(browser_view_renderer_);
|
| InsideHardwareReleaseReset auto_inside_hardware_release_reset(this);
|
|
|
| browser_view_renderer_->DetachFunctorFromView();
|
|
|