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

Unified Diff: cc/CCScopedThreadProxy.h

Issue 11122003: [cc] Rename all cc/ filenames to Chromium style (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 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
« no previous file with comments | « cc/CCScopedTexture.cpp ('k') | cc/CCScopedThreadProxy.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/CCScopedThreadProxy.h
diff --git a/cc/CCScopedThreadProxy.h b/cc/CCScopedThreadProxy.h
index 802046dcfa858a6dbe09b4d0896adac1b99f10f3..20a6b07dc9f1e57ec55eb73c52cf2a7af293b9c0 100644
--- a/cc/CCScopedThreadProxy.h
+++ b/cc/CCScopedThreadProxy.h
@@ -1,74 +1,6 @@
-// Copyright 2011 The Chromium Authors. All rights reserved.
+// Copyright 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CCScopedThreadProxy_h
-#define CCScopedThreadProxy_h
-
-#include "CCThreadTask.h"
-#include "base/threading/platform_thread.h"
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
-#include <wtf/ThreadSafeRefCounted.h>
-
-namespace cc {
-
-// This class is a proxy used to post tasks to an target thread from any other thread. The proxy may be shut down at
-// any point from the target thread after which no more tasks posted to the proxy will run. In other words, all
-// tasks posted via a proxy are scoped to the lifecycle of the proxy. Use this when posting tasks to an object that
-// might die with tasks in flight.
-//
-// The proxy must be created and shut down from the target thread, tasks may be posted from any thread.
-//
-// Implementation note: Unlike ScopedRunnableMethodFactory in Chromium, pending tasks are not cancelled by actually
-// destroying the proxy. Instead each pending task holds a reference to the proxy to avoid maintaining an explicit
-// list of outstanding tasks.
-class CCScopedThreadProxy : public ThreadSafeRefCounted<CCScopedThreadProxy> {
-public:
- static PassRefPtr<CCScopedThreadProxy> create(CCThread* targetThread)
- {
- ASSERT(base::PlatformThread::CurrentId() == targetThread->threadID());
- return adoptRef(new CCScopedThreadProxy(targetThread));
- }
-
- ~CCScopedThreadProxy();
-
- // Can be called from any thread. Posts a task to the target thread that runs unless
- // shutdown() is called before it runs.
- void postTask(PassOwnPtr<CCThread::Task> task)
- {
- ref();
- m_targetThread->postTask(createCCThreadTask(this, &CCScopedThreadProxy::runTaskIfNotShutdown, task));
- }
-
- void shutdown()
- {
- ASSERT(base::PlatformThread::CurrentId() == m_targetThread->threadID());
- ASSERT(!m_shutdown);
- m_shutdown = true;
- }
-
-private:
- explicit CCScopedThreadProxy(CCThread* targetThread);
-
- void runTaskIfNotShutdown(PassOwnPtr<CCThread::Task> popTask)
- {
- OwnPtr<CCThread::Task> task = popTask;
- // If our shutdown flag is set, it's possible that m_targetThread has already been destroyed so don't
- // touch it.
- if (m_shutdown) {
- deref();
- return;
- }
- ASSERT(base::PlatformThread::CurrentId() == m_targetThread->threadID());
- task->performTask();
- deref();
- }
-
- CCThread* m_targetThread;
- bool m_shutdown; // Only accessed on the target thread
-};
-
-}
-
-#endif
+// Temporary forwarding header
+#include "cc/scoped_thread_proxy.h"
« no previous file with comments | « cc/CCScopedTexture.cpp ('k') | cc/CCScopedThreadProxy.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698