diff options
author | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-17 10:35:50 +0000 |
---|---|---|
committer | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-17 10:35:50 +0000 |
commit | d58c34176fe36c4d52c11ba5557d351bdcdc8a0a (patch) | |
tree | 45e3ed88666d3e05c0b08d297d4af932a56545cd /webkit/fileapi/file_system_url_request_job_unittest.cc | |
parent | 9485ad7b2a08306e23e9980d73a0eaa73da98610 (diff) | |
download | chromium_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.cc | 13 |
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_; }; |