summaryrefslogtreecommitdiffstats
path: root/webkit/fileapi/file_system_url_request_job_unittest.cc
diff options
context:
space:
mode:
authorkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-17 10:35:50 +0000
committerkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-17 10:35:50 +0000
commitd58c34176fe36c4d52c11ba5557d351bdcdc8a0a (patch)
tree45e3ed88666d3e05c0b08d297d4af932a56545cd /webkit/fileapi/file_system_url_request_job_unittest.cc
parent9485ad7b2a08306e23e9980d73a0eaa73da98610 (diff)
downloadchromium_src-d58c34176fe36c4d52c11ba5557d351bdcdc8a0a.zip
chromium_src-d58c34176fe36c4d52c11ba5557d351bdcdc8a0a.tar.gz
chromium_src-d58c34176fe36c4d52c11ba5557d351bdcdc8a0a.tar.bz2
Reland 132134 with memory fix - Use LocalFileReader in FileSystemURLRequestJob
LocalFileReader change https://chromiumcodereview.appspot.com/10065011 with memory fix http://codereview.chromium.org/10067031/ BUG=113300, 114999, 123302 TEST=FileSystemURLRequestJobTest.* Review URL: https://chromiumcodereview.appspot.com/10080001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132559 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/fileapi/file_system_url_request_job_unittest.cc')
-rw-r--r--webkit/fileapi/file_system_url_request_job_unittest.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/webkit/fileapi/file_system_url_request_job_unittest.cc b/webkit/fileapi/file_system_url_request_job_unittest.cc
index 015839f..3fc8ad7 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();
}
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_;
};