Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(97)

Side by Side Diff: android_webview/browser/shared_renderer_state.cc

Issue 646303004: aw: Ensure invalidation when pipeline is stalled (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2171
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « android_webview/browser/shared_renderer_state.h ('k') | android_webview/native/aw_contents.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « android_webview/browser/shared_renderer_state.h ('k') | android_webview/native/aw_contents.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698