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

Side by Side Diff: cc/layers/texture_layer.cc

Issue 202523002: cc: Replace Region with SimpleEnclosedRegion for occlusion tracking (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: simpleregion: . Created 6 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2010 The Chromium Authors. All rights reserved. 1 // Copyright 2010 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 "cc/layers/texture_layer.h" 5 #include "cc/layers/texture_layer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback_helpers.h" 8 #include "base/callback_helpers.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/synchronization/lock.h" 10 #include "base/synchronization/lock.h"
11 #include "cc/base/simple_enclosed_region.h"
11 #include "cc/layers/texture_layer_client.h" 12 #include "cc/layers/texture_layer_client.h"
12 #include "cc/layers/texture_layer_impl.h" 13 #include "cc/layers/texture_layer_impl.h"
13 #include "cc/resources/single_release_callback.h" 14 #include "cc/resources/single_release_callback.h"
14 #include "cc/trees/blocking_task_runner.h" 15 #include "cc/trees/blocking_task_runner.h"
15 #include "cc/trees/layer_tree_host.h" 16 #include "cc/trees/layer_tree_host.h"
16 17
17 namespace cc { 18 namespace cc {
18 19
19 scoped_refptr<TextureLayer> TextureLayer::CreateForMailbox( 20 scoped_refptr<TextureLayer> TextureLayer::CreateForMailbox(
20 TextureLayerClient* client) { 21 TextureLayerClient* client) {
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 if (holder_ref_) { 248 if (holder_ref_) {
248 TextureMailboxHolder* holder = holder_ref_->holder(); 249 TextureMailboxHolder* holder = holder_ref_->holder();
249 texture_mailbox = holder->mailbox(); 250 texture_mailbox = holder->mailbox();
250 release_callback = holder->GetCallbackForImplThread(); 251 release_callback = holder->GetCallbackForImplThread();
251 } 252 }
252 texture_layer->SetTextureMailbox(texture_mailbox, release_callback.Pass()); 253 texture_layer->SetTextureMailbox(texture_mailbox, release_callback.Pass());
253 needs_set_mailbox_ = false; 254 needs_set_mailbox_ = false;
254 } 255 }
255 } 256 }
256 257
257 Region TextureLayer::VisibleContentOpaqueRegion() const { 258 SimpleEnclosedRegion TextureLayer::VisibleContentOpaqueRegion() const {
258 if (contents_opaque()) 259 if (contents_opaque())
259 return visible_content_rect(); 260 return SimpleEnclosedRegion(visible_content_rect());
260 261
261 if (blend_background_color_ && (SkColorGetA(background_color()) == 0xFF)) 262 if (blend_background_color_ && (SkColorGetA(background_color()) == 0xFF))
262 return visible_content_rect(); 263 return SimpleEnclosedRegion(visible_content_rect());
263 264
264 return Region(); 265 return SimpleEnclosedRegion();
265 } 266 }
266 267
267 TextureLayer::TextureMailboxHolder::MainThreadReference::MainThreadReference( 268 TextureLayer::TextureMailboxHolder::MainThreadReference::MainThreadReference(
268 TextureMailboxHolder* holder) 269 TextureMailboxHolder* holder)
269 : holder_(holder) { 270 : holder_(holder) {
270 holder_->InternalAddRef(); 271 holder_->InternalAddRef();
271 } 272 }
272 273
273 TextureLayer::TextureMailboxHolder::MainThreadReference:: 274 TextureLayer::TextureMailboxHolder::MainThreadReference::
274 ~MainThreadReference() { 275 ~MainThreadReference() {
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 330
330 void TextureLayer::TextureMailboxHolder::ReturnAndReleaseOnImplThread( 331 void TextureLayer::TextureMailboxHolder::ReturnAndReleaseOnImplThread(
331 uint32 sync_point, 332 uint32 sync_point,
332 bool is_lost) { 333 bool is_lost) {
333 Return(sync_point, is_lost); 334 Return(sync_point, is_lost);
334 message_loop_->PostTask( 335 message_loop_->PostTask(
335 FROM_HERE, base::Bind(&TextureMailboxHolder::InternalRelease, this)); 336 FROM_HERE, base::Bind(&TextureMailboxHolder::InternalRelease, this));
336 } 337 }
337 338
338 } // namespace cc 339 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698