diff options
author | rvargas@chromium.org <rvargas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-14 00:32:09 +0000 |
---|---|---|
committer | rvargas@chromium.org <rvargas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-14 00:32:09 +0000 |
commit | 085f230615d0b781635bc4f68218c42c5928c690 (patch) | |
tree | 10b6be29c48f566859ba4b4257aaca7a136c38cb /net/base/test_completion_callback.h | |
parent | 4ad6c3a7125f38123ad525861215f098599e12e5 (diff) | |
download | chromium_src-085f230615d0b781635bc4f68218c42c5928c690.zip chromium_src-085f230615d0b781635bc4f68218c42c5928c690.tar.gz chromium_src-085f230615d0b781635bc4f68218c42c5928c690.tar.bz2 |
Disk cache: Make sure that references to IO buffers are
released before invoking the callbacks.
BUG=131272
TEST=net_unittests
Review URL: https://chromiumcodereview.appspot.com/10542068
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142039 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/test_completion_callback.h')
-rw-r--r-- | net/base/test_completion_callback.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/net/base/test_completion_callback.h b/net/base/test_completion_callback.h index 25c9676..6d44abe 100644 --- a/net/base/test_completion_callback.h +++ b/net/base/test_completion_callback.h @@ -47,10 +47,7 @@ template <typename R> class TestCompletionCallbackTemplate : public TestCompletionCallbackBaseInternal { public: - void SetResult(R result) { - result_ = result; - DidSetResult(); - } + virtual ~TestCompletionCallbackTemplate() {} R WaitForResult() { TestCompletionCallbackBaseInternal::WaitForResult(); @@ -64,6 +61,12 @@ class TestCompletionCallbackTemplate } protected: + // Override this method to gain control as the callback is running. + virtual void SetResult(R result) { + result_ = result; + DidSetResult(); + } + TestCompletionCallbackTemplate() : result_(R()) {} R result_; @@ -83,7 +86,7 @@ typedef internal::TestCompletionCallbackTemplate<int64> class TestCompletionCallback : public TestCompletionCallbackBase { public: TestCompletionCallback(); - ~TestCompletionCallback(); + virtual ~TestCompletionCallback(); const CompletionCallback& callback() const { return callback_; } @@ -96,7 +99,7 @@ class TestCompletionCallback : public TestCompletionCallbackBase { class TestInt64CompletionCallback : public TestInt64CompletionCallbackBase { public: TestInt64CompletionCallback(); - ~TestInt64CompletionCallback(); + virtual ~TestInt64CompletionCallback(); const Int64CompletionCallback& callback() const { return callback_; } |