summaryrefslogtreecommitdiffstats
path: root/net/base/test_completion_callback.h
diff options
context:
space:
mode:
authorrvargas@chromium.org <rvargas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-14 00:32:09 +0000
committerrvargas@chromium.org <rvargas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-14 00:32:09 +0000
commit085f230615d0b781635bc4f68218c42c5928c690 (patch)
tree10b6be29c48f566859ba4b4257aaca7a136c38cb /net/base/test_completion_callback.h
parent4ad6c3a7125f38123ad525861215f098599e12e5 (diff)
downloadchromium_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.h15
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_; }