Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Side by Side Diff: content/browser/service_worker/service_worker_browsertest.cc

Issue 164753006: Start of Chrome-side plumbing for ServiceWorker fetch (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/bind.h" 5 #include "base/bind.h"
6 #include "base/callback.h" 6 #include "base/callback.h"
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "content/browser/service_worker/embedded_worker_instance.h" 9 #include "content/browser/service_worker/embedded_worker_instance.h"
10 #include "content/browser/service_worker/embedded_worker_registry.h" 10 #include "content/browser/service_worker/embedded_worker_registry.h"
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 AssociateRendererProcessToWorker(version_->embedded_worker()); 224 AssociateRendererProcessToWorker(version_->embedded_worker());
225 } 225 }
226 226
227 void StartOnIOThread(const base::Closure& done, 227 void StartOnIOThread(const base::Closure& done,
228 ServiceWorkerStatusCode* result) { 228 ServiceWorkerStatusCode* result) {
229 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 229 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
230 version_->StartWorker(CreateReceiver(BrowserThread::UI, done, result)); 230 version_->StartWorker(CreateReceiver(BrowserThread::UI, done, result));
231 } 231 }
232 232
233 void InstallOnIOThread(const base::Closure& done, 233 void InstallOnIOThread(const base::Closure& done,
234 ServiceWorkerStatusCode* result) { 234 ServiceWorkerStatusCode* result) {
nhiroki 2014/02/14 09:03:21 indent-nit.
falken 2014/02/19 05:32:19 Done.
235 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 235 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
236 version_->DispatchInstallEvent( 236 version_->DispatchInstallEvent(
237 -1, CreateReceiver(BrowserThread::UI, done, result)); 237 -1, CreateReceiver(BrowserThread::UI, done, result));
238 } 238 }
239 239
240 void FetchOnIOThread(const base::Closure& done,
241 ServiceWorkerStatusCode* result) {
nhiroki 2014/02/14 09:03:21 ditto.
falken 2014/02/19 05:32:19 Done.
242 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
243 ServiceWorkerFetchRequest request(
244 embedded_test_server()->GetURL("/service_worker/empty.html"),
245 "GET",
246 std::map<std::string, std::string>());
247 // TODO(falken): Actually receive and test the ServiceWorkerFetchResponse.
248 version_->DispatchFetchEvent(
249 request, CreateReceiver(BrowserThread::UI, done, result));
250 }
251
252
240 void StopOnIOThread(const base::Closure& done, 253 void StopOnIOThread(const base::Closure& done,
241 ServiceWorkerStatusCode* result) { 254 ServiceWorkerStatusCode* result) {
242 ASSERT_TRUE(version_); 255 ASSERT_TRUE(version_);
243 version_->StopWorker(CreateReceiver(BrowserThread::UI, done, result)); 256 version_->StopWorker(CreateReceiver(BrowserThread::UI, done, result));
244 } 257 }
245 258
246 protected: 259 protected:
247 int64 next_registration_id_; 260 int64 next_registration_id_;
248 scoped_refptr<ServiceWorkerRegistration> registration_; 261 scoped_refptr<ServiceWorkerRegistration> registration_;
249 scoped_refptr<ServiceWorkerVersion> version_; 262 scoped_refptr<ServiceWorkerVersion> version_;
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 InstallTestHelper("/service_worker/worker_install_fulfilled.js"); 331 InstallTestHelper("/service_worker/worker_install_fulfilled.js");
319 } 332 }
320 333
321 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, 334 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
322 InstallWithWaitUntil_Rejected) { 335 InstallWithWaitUntil_Rejected) {
323 // TODO(kinuko): This should also report back an error, but we 336 // TODO(kinuko): This should also report back an error, but we
324 // don't have plumbing for it yet. 337 // don't have plumbing for it yet.
325 InstallTestHelper("/service_worker/worker_install_rejected.js"); 338 InstallTestHelper("/service_worker/worker_install_rejected.js");
326 } 339 }
327 340
341 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, Fetch) {
342 RunOnIOThread(base::Bind(&self::SetUpRegistrationOnIOThread, this,
343 "/service_worker/worker.js"));
344
345 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED;
346 base::RunLoop fetch_run_loop;
347 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
348 base::Bind(&self::FetchOnIOThread, this,
349 fetch_run_loop.QuitClosure(),
350 &status));
351 fetch_run_loop.Run();
352 ASSERT_EQ(SERVICE_WORKER_OK, status);
353 }
354
328 } // namespace content 355 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698