| 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/shared_renderer_state.h" | 5 #include "android_webview/browser/shared_renderer_state.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/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/lazy_instance.h" | 9 #include "base/lazy_instance.h" |
| 10 #include "base/location.h" | 10 #include "base/location.h" |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 const ParentCompositorDrawConstraints& parent_draw_constraints) { | 179 const ParentCompositorDrawConstraints& parent_draw_constraints) { |
| 180 if (UpdateDrawConstraints(parent_draw_constraints)) { | 180 if (UpdateDrawConstraints(parent_draw_constraints)) { |
| 181 // No need to hold the lock_ during the post task. | 181 // No need to hold the lock_ during the post task. |
| 182 ui_loop_->PostTask( | 182 ui_loop_->PostTask( |
| 183 FROM_HERE, | 183 FROM_HERE, |
| 184 base::Bind(&SharedRendererState::UpdateParentDrawConstraintsOnUIThread, | 184 base::Bind(&SharedRendererState::UpdateParentDrawConstraintsOnUIThread, |
| 185 ui_thread_weak_ptr_)); | 185 ui_thread_weak_ptr_)); |
| 186 } | 186 } |
| 187 } | 187 } |
| 188 | 188 |
| 189 void SharedRendererState::DidSkipCommitFrame() { |
| 190 ui_loop_->PostTask( |
| 191 FROM_HERE, |
| 192 base::Bind(&SharedRendererState::DidSkipCommitFrameOnUIThread, |
| 193 ui_thread_weak_ptr_)); |
| 194 } |
| 195 |
| 196 void SharedRendererState::DidSkipCommitFrameOnUIThread() { |
| 197 DCHECK(ui_loop_->BelongsToCurrentThread()); |
| 198 client_on_ui_->DidSkipCommitFrame(); |
| 199 } |
| 200 |
| 189 const ParentCompositorDrawConstraints | 201 const ParentCompositorDrawConstraints |
| 190 SharedRendererState::ParentDrawConstraints() const { | 202 SharedRendererState::ParentDrawConstraints() const { |
| 191 base::AutoLock lock(lock_); | 203 base::AutoLock lock(lock_); |
| 192 return parent_draw_constraints_; | 204 return parent_draw_constraints_; |
| 193 } | 205 } |
| 194 | 206 |
| 195 void SharedRendererState::SetForceInvalidateOnNextDrawGL( | 207 void SharedRendererState::SetForceInvalidateOnNextDrawGL( |
| 196 bool needs_force_invalidate_on_next_draw_gl) { | 208 bool needs_force_invalidate_on_next_draw_gl) { |
| 197 base::AutoLock lock(lock_); | 209 base::AutoLock lock(lock_); |
| 198 needs_force_invalidate_on_next_draw_gl_ = | 210 needs_force_invalidate_on_next_draw_gl_ = |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 238 : shared_renderer_state_(shared_renderer_state) { | 250 : shared_renderer_state_(shared_renderer_state) { |
| 239 DCHECK(!shared_renderer_state_->IsInsideHardwareRelease()); | 251 DCHECK(!shared_renderer_state_->IsInsideHardwareRelease()); |
| 240 shared_renderer_state_->SetInsideHardwareRelease(true); | 252 shared_renderer_state_->SetInsideHardwareRelease(true); |
| 241 } | 253 } |
| 242 | 254 |
| 243 InsideHardwareReleaseReset::~InsideHardwareReleaseReset() { | 255 InsideHardwareReleaseReset::~InsideHardwareReleaseReset() { |
| 244 shared_renderer_state_->SetInsideHardwareRelease(false); | 256 shared_renderer_state_->SetInsideHardwareRelease(false); |
| 245 } | 257 } |
| 246 | 258 |
| 247 } // namespace android_webview | 259 } // namespace android_webview |
| OLD | NEW |