Index: webkit/fileapi/file_system_url_request_job_unittest.cc |
diff --git a/webkit/fileapi/file_system_url_request_job_unittest.cc b/webkit/fileapi/file_system_url_request_job_unittest.cc |
index 015839fd8c623380e55edf4f103d283504ea029c..3fc8ad71d8afd22de2e0dbeef3e75b4675779aa2 100644 |
--- a/webkit/fileapi/file_system_url_request_job_unittest.cc |
+++ b/webkit/fileapi/file_system_url_request_job_unittest.cc |
@@ -70,7 +70,7 @@ class FileSystemURLRequestJobTest : public testing::Test { |
ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) { |
} |
- virtual void SetUp() { |
+ virtual void SetUp() OVERRIDE { |
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
special_storage_policy_ = new quota::MockSpecialStoragePolicy; |
@@ -94,9 +94,15 @@ class FileSystemURLRequestJobTest : public testing::Test { |
"filesystem", &FileSystemURLRequestJobFactory); |
} |
- virtual void TearDown() { |
+ virtual void TearDown() OVERRIDE { |
net::URLRequest::Deprecated::RegisterProtocolFactory("filesystem", NULL); |
ClearUnusedJob(); |
+ if (pending_job_) { |
+ pending_job_->Kill(); |
+ pending_job_ = NULL; |
+ } |
+ // FileReader posts a task to close the file in destructor. |
+ MessageLoop::current()->RunAllPending(); |
michaeln
2012/04/13 19:08:36
Would it be sufficient to just add the call to Run
kinuko
2012/04/16 02:29:40
I expected so, but it seems we need to explicitly
|
} |
void OnValidateFileSystem(base::PlatformFileError result) { |
@@ -113,10 +119,12 @@ class FileSystemURLRequestJobTest : public testing::Test { |
request_.reset(new net::URLRequest(url, delegate_.get())); |
if (headers) |
request_->SetExtraRequestHeaders(*headers); |
+ ASSERT_TRUE(!job_); |
job_ = new FileSystemURLRequestJob( |
request_.get(), |
file_system_context_.get(), |
base::MessageLoopProxy::current()); |
+ pending_job_ = job_; |
request_->Start(); |
ASSERT_TRUE(request_->is_pending()); // verify that we're starting async |
@@ -212,6 +220,7 @@ class FileSystemURLRequestJobTest : public testing::Test { |
scoped_ptr<TestDelegate> delegate_; |
scoped_ptr<net::URLRequest> request_; |
+ scoped_refptr<net::URLRequestJob> pending_job_; |
static net::URLRequestJob* job_; |
}; |