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

Unified Diff: cc/layers/texture_layer_impl.cc

Issue 485043003: cc: Use correct message loop proxy in BlockingTaskRunner (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comments. 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 side-by-side diff with in-line comments
Download patch
Index: cc/layers/texture_layer_impl.cc
diff --git a/cc/layers/texture_layer_impl.cc b/cc/layers/texture_layer_impl.cc
index 80938babe322327bcf51352f09e0c4def157daec..0a799b65ff658214d26d79c206887550bc0ed033 100644
--- a/cc/layers/texture_layer_impl.cc
+++ b/cc/layers/texture_layer_impl.cc
@@ -11,7 +11,7 @@
#include "cc/quads/texture_draw_quad.h"
#include "cc/resources/platform_color.h"
#include "cc/resources/scoped_resource.h"
-#include "cc/resources/single_release_callback.h"
+#include "cc/resources/single_release_callback_impl.h"
#include "cc/trees/layer_tree_impl.h"
#include "cc/trees/occlusion_tracker.h"
@@ -37,7 +37,7 @@ TextureLayerImpl::~TextureLayerImpl() { FreeTextureMailbox(); }
void TextureLayerImpl::SetTextureMailbox(
const TextureMailbox& mailbox,
- scoped_ptr<SingleReleaseCallback> release_callback) {
+ scoped_ptr<SingleReleaseCallbackImpl> release_callback) {
DCHECK_EQ(mailbox.IsValid(), !!release_callback);
FreeTextureMailbox();
texture_mailbox_ = mailbox;
@@ -238,16 +238,19 @@ const char* TextureLayerImpl::LayerTypeAsString() const {
}
void TextureLayerImpl::FreeTextureMailbox() {
+ ResourceProvider* resource_provider = layer_tree_impl()->resource_provider();
if (own_mailbox_) {
DCHECK(!external_texture_resource_);
- if (release_callback_)
- release_callback_->Run(texture_mailbox_.sync_point(), false);
+ if (release_callback_) {
+ release_callback_->Run(
+ texture_mailbox_.sync_point(),
+ false,
+ resource_provider->blocking_main_thread_task_runner());
danakj 2014/09/03 16:09:36 Can you add a getter for this on layer_tree_impl()
Sami 2014/09/03 17:59:12 Great idea, done.
+ }
texture_mailbox_ = TextureMailbox();
release_callback_.reset();
} else if (external_texture_resource_) {
DCHECK(!own_mailbox_);
- ResourceProvider* resource_provider =
- layer_tree_impl()->resource_provider();
resource_provider->DeleteResource(external_texture_resource_);
external_texture_resource_ = 0;
}

Powered by Google App Engine
This is Rietveld 408576698