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

Unified Diff: cc/proxy.h

Issue 11369071: A speculative Revert for r165872 - Remove static thread pointers from CC, attempt 2 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 1 month 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
« no previous file with comments | « cc/prioritized_texture_unittest.cc ('k') | cc/proxy.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/proxy.h
===================================================================
--- cc/proxy.h (revision 165906)
+++ cc/proxy.h (working copy)
@@ -8,7 +8,6 @@
#include "base/basictypes.h"
#include "base/logging.h"
#include "base/time.h"
-#include "base/memory/scoped_ptr.h"
#include <public/WebCompositorOutputSurface.h>
#include "cc/cc_export.h"
@@ -27,22 +26,16 @@
// the compositor over to the compositor implementation.
class CC_EXPORT Proxy {
public:
- Thread* mainThread() const;
- bool hasImplThread() const;
- Thread* implThread() const;
+ static void setMainThread(Thread*);
+ static Thread* mainThread();
+ static bool hasImplThread();
+ static void setImplThread(Thread*);
+ static Thread* implThread();
+
// Returns 0 if the current thread is neither the main thread nor the impl thread.
- Thread* currentThread() const;
+ static Thread* currentThread();
- // Debug hooks
- bool isMainThread() const;
- bool isImplThread() const;
- bool isMainThreadBlocked() const;
-#ifndef NDEBUG
- void setMainThreadBlocked(bool);
- void setCurrentThreadIsImplThread(bool);
-#endif
-
virtual ~Proxy();
virtual bool compositeAndReadback(void *pixels, const gfx::Rect&) = 0;
@@ -97,45 +90,46 @@
virtual void acquireLayerTextures() = 0;
+ // Debug hooks
+ static bool isMainThread();
+ static bool isImplThread();
+ static bool isMainThreadBlocked();
+#ifndef NDEBUG
+ static void setMainThreadBlocked(bool);
+#endif
+
// Testing hooks
virtual void loseContext() = 0;
+#ifndef NDEBUG
+ static void setCurrentThreadIsImplThread(bool);
+#endif
+
protected:
- explicit Proxy(scoped_ptr<Thread> implThread);
+ Proxy();
friend class DebugScopedSetImplThread;
- friend class DebugScopedSetMainThread;
friend class DebugScopedSetMainThreadBlocked;
private:
DISALLOW_COPY_AND_ASSIGN(Proxy);
-
- scoped_ptr<Thread> m_mainThread;
- scoped_ptr<Thread> m_implThread;
-#ifndef NDEBUG
- bool m_implThreadIsOverridden;
- bool m_isMainThreadBlocked;
-#endif
};
class DebugScopedSetMainThreadBlocked {
public:
- explicit DebugScopedSetMainThreadBlocked(Proxy* proxy)
- : m_proxy(proxy)
+ DebugScopedSetMainThreadBlocked()
{
#ifndef NDEBUG
- DCHECK(!m_proxy->isMainThreadBlocked());
- m_proxy->setMainThreadBlocked(true);
+ DCHECK(!Proxy::isMainThreadBlocked());
+ Proxy::setMainThreadBlocked(true);
#endif
}
~DebugScopedSetMainThreadBlocked()
{
#ifndef NDEBUG
- DCHECK(m_proxy->isMainThreadBlocked());
- m_proxy->setMainThreadBlocked(false);
+ DCHECK(Proxy::isMainThreadBlocked());
+ Proxy::setMainThreadBlocked(false);
#endif
}
-private:
- Proxy* m_proxy;
};
}
« no previous file with comments | « cc/prioritized_texture_unittest.cc ('k') | cc/proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698