OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // NOTE: These tests are run as part of "unit_tests" (in chrome/test/unit) | 5 // NOTE: These tests are run as part of "unit_tests" (in chrome/test/unit) |
6 // rather than as part of test_shell_tests because they rely on being able | 6 // rather than as part of test_shell_tests because they rely on being able |
7 // to instantiate a MessageLoop of type TYPE_IO. test_shell_tests uses | 7 // to instantiate a MessageLoop of type TYPE_IO. test_shell_tests uses |
8 // TYPE_UI, which URLRequest doesn't allow. | 8 // TYPE_UI, which URLRequest doesn't allow. |
9 // | 9 // |
10 | 10 |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 // We use the main thread so that we can get the root path synchronously. | 79 // We use the main thread so that we can get the root path synchronously. |
80 // TODO(adamk): Run this on the FILE thread we've created as well. | 80 // TODO(adamk): Run this on the FILE thread we've created as well. |
81 file_system_context_ = | 81 file_system_context_ = |
82 new FileSystemContext( | 82 new FileSystemContext( |
83 base::MessageLoopProxy::current(), | 83 base::MessageLoopProxy::current(), |
84 base::MessageLoopProxy::current(), | 84 base::MessageLoopProxy::current(), |
85 special_storage_policy_, NULL, | 85 special_storage_policy_, NULL, |
86 temp_dir_.path(), | 86 temp_dir_.path(), |
87 CreateDisallowFileAccessOptions()); | 87 CreateDisallowFileAccessOptions()); |
88 | 88 |
89 file_system_context_->sandbox_provider()->ValidateFileSystemRootAndGetURL( | 89 file_system_context_->sandbox_provider()->ValidateFileSystemRoot( |
90 GURL("http://remote/"), kFileSystemTypeTemporary, true, // create | 90 GURL("http://remote/"), kFileSystemTypeTemporary, true, // create |
91 base::Bind(&FileSystemURLRequestJobTest::OnGetRootPath, | 91 base::Bind(&FileSystemURLRequestJobTest::OnValidateFileSystem, |
92 weak_factory_.GetWeakPtr())); | 92 weak_factory_.GetWeakPtr())); |
93 MessageLoop::current()->RunAllPending(); | 93 MessageLoop::current()->RunAllPending(); |
94 | 94 |
95 net::URLRequest::Deprecated::RegisterProtocolFactory( | 95 net::URLRequest::Deprecated::RegisterProtocolFactory( |
96 "filesystem", &FileSystemURLRequestJobFactory); | 96 "filesystem", &FileSystemURLRequestJobFactory); |
97 } | 97 } |
98 | 98 |
99 virtual void TearDown() { | 99 virtual void TearDown() { |
100 net::URLRequest::Deprecated::RegisterProtocolFactory("filesystem", NULL); | 100 net::URLRequest::Deprecated::RegisterProtocolFactory("filesystem", NULL); |
101 } | 101 } |
102 | 102 |
103 void OnGetRootPath(bool success, const FilePath& root_path, | 103 void OnValidateFileSystem(base::PlatformFileError result) { |
104 const std::string& name) { | 104 ASSERT_EQ(base::PLATFORM_FILE_OK, result); |
105 ASSERT_TRUE(success); | |
106 origin_root_path_ = root_path; | |
107 } | 105 } |
108 | 106 |
109 void TestRequestHelper(const GURL& url, | 107 void TestRequestHelper(const GURL& url, |
110 const net::HttpRequestHeaders* headers, | 108 const net::HttpRequestHeaders* headers, |
111 bool run_to_completion) { | 109 bool run_to_completion) { |
112 delegate_.reset(new TestDelegate()); | 110 delegate_.reset(new TestDelegate()); |
113 // Make delegate_ exit the MessageLoop when the request is done. | 111 // Make delegate_ exit the MessageLoop when the request is done. |
114 delegate_->set_quit_on_complete(true); | 112 delegate_->set_quit_on_complete(true); |
115 delegate_->set_quit_on_redirect(true); | 113 delegate_->set_quit_on_redirect(true); |
116 request_.reset(new net::URLRequest(url, delegate_.get())); | 114 request_.reset(new net::URLRequest(url, delegate_.get())); |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
191 DCHECK(job_); | 189 DCHECK(job_); |
192 net::URLRequestJob* temp = job_; | 190 net::URLRequestJob* temp = job_; |
193 job_ = NULL; | 191 job_ = NULL; |
194 return temp; | 192 return temp; |
195 } | 193 } |
196 | 194 |
197 // Put the message loop at the top, so that it's the last thing deleted. | 195 // Put the message loop at the top, so that it's the last thing deleted. |
198 MessageLoop message_loop_; | 196 MessageLoop message_loop_; |
199 | 197 |
200 ScopedTempDir temp_dir_; | 198 ScopedTempDir temp_dir_; |
201 FilePath origin_root_path_; | |
202 scoped_refptr<quota::MockSpecialStoragePolicy> special_storage_policy_; | 199 scoped_refptr<quota::MockSpecialStoragePolicy> special_storage_policy_; |
203 scoped_refptr<FileSystemContext> file_system_context_; | 200 scoped_refptr<FileSystemContext> file_system_context_; |
204 base::WeakPtrFactory<FileSystemURLRequestJobTest> weak_factory_; | 201 base::WeakPtrFactory<FileSystemURLRequestJobTest> weak_factory_; |
205 | 202 |
206 // NOTE: order matters, request must die before delegate | 203 // NOTE: order matters, request must die before delegate |
207 scoped_ptr<TestDelegate> delegate_; | 204 scoped_ptr<TestDelegate> delegate_; |
208 scoped_ptr<net::URLRequest> request_; | 205 scoped_ptr<net::URLRequest> request_; |
209 | 206 |
210 static net::URLRequestJob* job_; | 207 static net::URLRequestJob* job_; |
211 }; | 208 }; |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
356 | 353 |
357 TestRequest(CreateFileSystemURL(kFilename)); | 354 TestRequest(CreateFileSystemURL(kFilename)); |
358 | 355 |
359 std::string mime_type_from_job; | 356 std::string mime_type_from_job; |
360 request_->GetMimeType(&mime_type_from_job); | 357 request_->GetMimeType(&mime_type_from_job); |
361 EXPECT_EQ(mime_type_direct, mime_type_from_job); | 358 EXPECT_EQ(mime_type_direct, mime_type_from_job); |
362 } | 359 } |
363 | 360 |
364 } // namespace (anonymous) | 361 } // namespace (anonymous) |
365 } // namespace fileapi | 362 } // namespace fileapi |
OLD | NEW |