OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/callback.h" | 6 #include "base/callback.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
10 #include "content/browser/fileapi/chrome_blob_storage_context.h" | 10 #include "content/browser/fileapi/chrome_blob_storage_context.h" |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 | 98 |
99 void SetUpWithHelper(EmbeddedWorkerTestHelper* helper) { | 99 void SetUpWithHelper(EmbeddedWorkerTestHelper* helper) { |
100 helper_.reset(helper); | 100 helper_.reset(helper); |
101 | 101 |
102 registration_ = new ServiceWorkerRegistration( | 102 registration_ = new ServiceWorkerRegistration( |
103 GURL("http://example.com/"), | 103 GURL("http://example.com/"), |
104 GURL("http://example.com/service_worker.js"), | 104 GURL("http://example.com/service_worker.js"), |
105 1L, | 105 1L, |
106 helper_->context()->AsWeakPtr()); | 106 helper_->context()->AsWeakPtr()); |
107 version_ = new ServiceWorkerVersion( | 107 version_ = new ServiceWorkerVersion( |
108 registration_, 1L, helper_->context()->AsWeakPtr()); | 108 registration_.get(), 1L, helper_->context()->AsWeakPtr()); |
109 | 109 |
110 scoped_ptr<ServiceWorkerProviderHost> provider_host( | 110 scoped_ptr<ServiceWorkerProviderHost> provider_host( |
111 new ServiceWorkerProviderHost( | 111 new ServiceWorkerProviderHost( |
112 kProcessID, kProviderID, helper_->context()->AsWeakPtr(), NULL)); | 112 kProcessID, kProviderID, helper_->context()->AsWeakPtr(), NULL)); |
113 provider_host->AssociateRegistration(registration_); | 113 provider_host->AssociateRegistration(registration_.get()); |
114 registration_->SetActiveVersion(version_.get()); | 114 registration_->SetActiveVersion(version_.get()); |
115 | 115 |
116 ChromeBlobStorageContext* chrome_blob_storage_context = | 116 ChromeBlobStorageContext* chrome_blob_storage_context = |
117 ChromeBlobStorageContext::GetFor(browser_context_.get()); | 117 ChromeBlobStorageContext::GetFor(browser_context_.get()); |
118 // Wait for chrome_blob_storage_context to finish initializing. | 118 // Wait for chrome_blob_storage_context to finish initializing. |
119 base::RunLoop().RunUntilIdle(); | 119 base::RunLoop().RunUntilIdle(); |
120 storage::BlobStorageContext* blob_storage_context = | 120 storage::BlobStorageContext* blob_storage_context = |
121 chrome_blob_storage_context->context(); | 121 chrome_blob_storage_context->context(); |
122 | 122 |
123 url_request_job_factory_.reset(new net::URLRequestJobFactoryImpl); | 123 url_request_job_factory_.reset(new net::URLRequestJobFactoryImpl); |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 | 212 |
213 TEST_F(ServiceWorkerURLRequestJobTest, BlobResponse) { | 213 TEST_F(ServiceWorkerURLRequestJobTest, BlobResponse) { |
214 ChromeBlobStorageContext* blob_storage_context = | 214 ChromeBlobStorageContext* blob_storage_context = |
215 ChromeBlobStorageContext::GetFor(browser_context_.get()); | 215 ChromeBlobStorageContext::GetFor(browser_context_.get()); |
216 std::string expected_response; | 216 std::string expected_response; |
217 for (int i = 0; i < 1024; ++i) { | 217 for (int i = 0; i < 1024; ++i) { |
218 blob_data_->AppendData(kTestData); | 218 blob_data_->AppendData(kTestData); |
219 expected_response += kTestData; | 219 expected_response += kTestData; |
220 } | 220 } |
221 scoped_ptr<storage::BlobDataHandle> blob_handle = | 221 scoped_ptr<storage::BlobDataHandle> blob_handle = |
222 blob_storage_context->context()->AddFinishedBlob(blob_data_); | 222 blob_storage_context->context()->AddFinishedBlob(blob_data_.get()); |
223 SetUpWithHelper(new BlobResponder(kProcessID, blob_handle->uuid())); | 223 SetUpWithHelper(new BlobResponder(kProcessID, blob_handle->uuid())); |
224 | 224 |
225 version_->SetStatus(ServiceWorkerVersion::ACTIVATED); | 225 version_->SetStatus(ServiceWorkerVersion::ACTIVATED); |
226 TestRequest(200, "OK", expected_response); | 226 TestRequest(200, "OK", expected_response); |
227 } | 227 } |
228 | 228 |
229 TEST_F(ServiceWorkerURLRequestJobTest, NonExistentBlobUUIDResponse) { | 229 TEST_F(ServiceWorkerURLRequestJobTest, NonExistentBlobUUIDResponse) { |
230 SetUpWithHelper(new BlobResponder(kProcessID, "blob-id:nothing-is-here")); | 230 SetUpWithHelper(new BlobResponder(kProcessID, "blob-id:nothing-is-here")); |
231 version_->SetStatus(ServiceWorkerVersion::ACTIVATED); | 231 version_->SetStatus(ServiceWorkerVersion::ACTIVATED); |
232 TestRequest(500, "Service Worker Response Error", std::string()); | 232 TestRequest(500, "Service Worker Response Error", std::string()); |
233 } | 233 } |
234 | 234 |
235 // TODO(kinuko): Add more tests with different response data and also for | 235 // TODO(kinuko): Add more tests with different response data and also for |
236 // FallbackToNetwork case. | 236 // FallbackToNetwork case. |
237 | 237 |
238 } // namespace content | 238 } // namespace content |
OLD | NEW |