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

Unified Diff: cc/layers/texture_layer.h

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.h
diff --git a/cc/layers/texture_layer.h b/cc/layers/texture_layer.h
index 2fa8ad92f4d68590ccd8576a682150fe094ea526..22dcb4d41a567d1584fb892a7bba61137f817312 100644
--- a/cc/layers/texture_layer.h
+++ b/cc/layers/texture_layer.h
@@ -9,6 +9,7 @@
#include "base/callback.h"
#include "base/synchronization/lock.h"
+#include "base/threading/thread_checker.h"
#include "cc/base/cc_export.h"
#include "cc/layers/layer.h"
#include "cc/resources/texture_mailbox.h"
@@ -16,6 +17,7 @@
namespace cc {
class BlockingTaskRunner;
class SingleReleaseCallback;
+class SingleReleaseCallbackImpl;
class TextureLayerClient;
// A Layer containing a the rendered output of a plugin instance.
@@ -40,7 +42,7 @@ class CC_EXPORT TextureLayer : public Layer {
// Gets a ReleaseCallback that can be called from another thread. Note: the
// caller must ensure the callback is called.
- scoped_ptr<SingleReleaseCallback> GetCallbackForImplThread();
+ scoped_ptr<SingleReleaseCallbackImpl> GetCallbackForImplThread();
protected:
friend class TextureLayer;
@@ -60,10 +62,10 @@ class CC_EXPORT TextureLayer : public Layer {
void InternalAddRef();
void InternalRelease();
- void ReturnAndReleaseOnImplThread(uint32 sync_point, bool is_lost);
-
- // This member is thread safe, and is accessed on main and impl threads.
- const scoped_refptr<BlockingTaskRunner> message_loop_;
+ void ReturnAndReleaseOnImplThread(
+ uint32 sync_point,
+ bool is_lost,
+ BlockingTaskRunner* main_thread_task_runner);
// These members are only accessed on the main thread, or on the impl thread
// during commit where the main thread is blocked.
@@ -78,6 +80,7 @@ class CC_EXPORT TextureLayer : public Layer {
base::Lock arguments_lock_;
uint32 sync_point_;
bool is_lost_;
+ base::ThreadChecker main_thread_checker_;
DISALLOW_COPY_AND_ASSIGN(TextureMailboxHolder);
};

Powered by Google App Engine
This is Rietveld 408576698