Index: cc/layers/texture_layer.cc |
diff --git a/cc/layers/texture_layer.cc b/cc/layers/texture_layer.cc |
index b37b3e366f5cfd7c16b84c96ba112d4b3d933b52..bc6b58a0342145bce3130c02d6983591f33855f9 100644 |
--- a/cc/layers/texture_layer.cc |
+++ b/cc/layers/texture_layer.cc |
@@ -142,10 +142,12 @@ void TextureLayer::SetTextureMailboxInternal( |
DCHECK_EQ(mailbox.IsValid(), !!release_callback); |
// If we never commited the mailbox, we need to release it here. |
- if (mailbox.IsValid()) |
- holder_ref_ = MailboxHolder::Create(mailbox, release_callback.Pass()); |
- else |
+ if (mailbox.IsValid()) { |
+ holder_ref_ = |
+ TextureMailboxHolder::Create(mailbox, release_callback.Pass()); |
+ } else { |
holder_ref_.reset(); |
+ } |
needs_set_mailbox_ = true; |
// If we are within a commit, no need to do it again immediately after. |
if (requires_commit) |
@@ -262,7 +264,7 @@ void TextureLayer::PushPropertiesTo(LayerImpl* layer) { |
TextureMailbox texture_mailbox; |
scoped_ptr<SingleReleaseCallback> release_callback; |
if (holder_ref_) { |
- MailboxHolder* holder = holder_ref_->holder(); |
+ TextureMailboxHolder* holder = holder_ref_->holder(); |
texture_mailbox = holder->mailbox(); |
release_callback = holder->GetCallbackForImplThread(); |
} |
@@ -284,17 +286,18 @@ Region TextureLayer::VisibleContentOpaqueRegion() const { |
return Region(); |
} |
-TextureLayer::MailboxHolder::MainThreadReference::MainThreadReference( |
- MailboxHolder* holder) |
+TextureLayer::TextureMailboxHolder::MainThreadReference::MainThreadReference( |
+ TextureMailboxHolder* holder) |
: holder_(holder) { |
holder_->InternalAddRef(); |
} |
-TextureLayer::MailboxHolder::MainThreadReference::~MainThreadReference() { |
+TextureLayer::TextureMailboxHolder::MainThreadReference:: |
+ ~MainThreadReference() { |
holder_->InternalRelease(); |
} |
-TextureLayer::MailboxHolder::MailboxHolder( |
+TextureLayer::TextureMailboxHolder::TextureMailboxHolder( |
const TextureMailbox& mailbox, |
scoped_ptr<SingleReleaseCallback> release_callback) |
: message_loop_(BlockingTaskRunner::current()), |
@@ -302,42 +305,42 @@ TextureLayer::MailboxHolder::MailboxHolder( |
mailbox_(mailbox), |
release_callback_(release_callback.Pass()), |
sync_point_(mailbox.sync_point()), |
- is_lost_(false) { |
-} |
+ is_lost_(false) {} |
-TextureLayer::MailboxHolder::~MailboxHolder() { |
+TextureLayer::TextureMailboxHolder::~TextureMailboxHolder() { |
DCHECK_EQ(0u, internal_references_); |
} |
-scoped_ptr<TextureLayer::MailboxHolder::MainThreadReference> |
-TextureLayer::MailboxHolder::Create( |
+scoped_ptr<TextureLayer::TextureMailboxHolder::MainThreadReference> |
+TextureLayer::TextureMailboxHolder::Create( |
const TextureMailbox& mailbox, |
scoped_ptr<SingleReleaseCallback> release_callback) { |
return scoped_ptr<MainThreadReference>(new MainThreadReference( |
- new MailboxHolder(mailbox, release_callback.Pass()))); |
+ new TextureMailboxHolder(mailbox, release_callback.Pass()))); |
} |
-void TextureLayer::MailboxHolder::Return(unsigned sync_point, bool is_lost) { |
+void TextureLayer::TextureMailboxHolder::Return(uint32 sync_point, |
+ bool is_lost) { |
base::AutoLock lock(arguments_lock_); |
sync_point_ = sync_point; |
is_lost_ = is_lost; |
} |
scoped_ptr<SingleReleaseCallback> |
-TextureLayer::MailboxHolder::GetCallbackForImplThread() { |
+TextureLayer::TextureMailboxHolder::GetCallbackForImplThread() { |
// We can't call GetCallbackForImplThread if we released the main thread |
// reference. |
DCHECK_GT(internal_references_, 0u); |
InternalAddRef(); |
return SingleReleaseCallback::Create( |
- base::Bind(&MailboxHolder::ReturnAndReleaseOnImplThread, this)); |
+ base::Bind(&TextureMailboxHolder::ReturnAndReleaseOnImplThread, this)); |
} |
-void TextureLayer::MailboxHolder::InternalAddRef() { |
+void TextureLayer::TextureMailboxHolder::InternalAddRef() { |
++internal_references_; |
} |
-void TextureLayer::MailboxHolder::InternalRelease() { |
+void TextureLayer::TextureMailboxHolder::InternalRelease() { |
DCHECK(message_loop_->BelongsToCurrentThread()); |
if (!--internal_references_) { |
release_callback_->Run(sync_point_, is_lost_); |
@@ -346,11 +349,12 @@ void TextureLayer::MailboxHolder::InternalRelease() { |
} |
} |
-void TextureLayer::MailboxHolder::ReturnAndReleaseOnImplThread( |
- unsigned sync_point, bool is_lost) { |
+void TextureLayer::TextureMailboxHolder::ReturnAndReleaseOnImplThread( |
+ uint32 sync_point, |
+ bool is_lost) { |
Return(sync_point, is_lost); |
- message_loop_->PostTask(FROM_HERE, |
- base::Bind(&MailboxHolder::InternalRelease, this)); |
+ message_loop_->PostTask( |
+ FROM_HERE, base::Bind(&TextureMailboxHolder::InternalRelease, this)); |
} |
} // namespace cc |