diff options
author | dcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-30 06:46:30 +0000 |
---|---|---|
committer | dcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-30 06:46:30 +0000 |
commit | c29985edade9519981211f183a3278ec62aa0469 (patch) | |
tree | f6cf6c8b58740fda179c70dc42569d0bac538a27 /base/message_loop_proxy.h | |
parent | be9764157d577464924341079b558ce5eb98dd42 (diff) | |
download | chromium_src-c29985edade9519981211f183a3278ec62aa0469.zip chromium_src-c29985edade9519981211f183a3278ec62aa0469.tar.gz chromium_src-c29985edade9519981211f183a3278ec62aa0469.tar.bz2 |
Convert various ReleaseSoon methods to use base::Bind()
BUG=none
TEST=none
TBR=brettw,atwilson
Review URL: http://codereview.chromium.org/9022034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116030 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/message_loop_proxy.h')
-rw-r--r-- | base/message_loop_proxy.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/base/message_loop_proxy.h b/base/message_loop_proxy.h index 738f39f..b6da5e4 100644 --- a/base/message_loop_proxy.h +++ b/base/message_loop_proxy.h @@ -123,13 +123,14 @@ class BASE_EXPORT MessageLoopProxy template <class T> bool DeleteSoon(const tracked_objects::Location& from_here, const T* object) { - return base::subtle::DeleteHelperInternal<T, bool>::DeleteOnMessageLoop( + return subtle::DeleteHelperInternal<T, bool>::DeleteOnMessageLoop( this, from_here, object); } template <class T> bool ReleaseSoon(const tracked_objects::Location& from_here, T* object) { - return PostNonNestableTask(from_here, new ReleaseTask<T>(object)); + return subtle::ReleaseHelperInternal<T, bool>::ReleaseOnMessageLoop( + this, from_here, object); } // Gets the MessageLoopProxy for the current message loop, creating one if @@ -137,7 +138,6 @@ class BASE_EXPORT MessageLoopProxy static scoped_refptr<MessageLoopProxy> current(); protected: - template <class T, class R> friend class subtle::DeleteHelperInternal; friend class RefCountedThreadSafe<MessageLoopProxy, MessageLoopProxyTraits>; friend struct MessageLoopProxyTraits; @@ -148,9 +148,15 @@ class BASE_EXPORT MessageLoopProxy // to provide deletion on specific threads. virtual void OnDestruct() const; + private: + template <class T, class R> friend class subtle::DeleteHelperInternal; + template <class T, class R> friend class subtle::ReleaseHelperInternal; bool DeleteSoonInternal(const tracked_objects::Location& from_here, void(*deleter)(const void*), const void* object); + bool ReleaseSoonInternal(const tracked_objects::Location& from_here, + void(*releaser)(const void*), + const void* object); }; struct MessageLoopProxyTraits { |