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

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

Issue 369063004: ServiceWorker: SWRegisterJob should manage status of SWVersion (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 5 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
« no previous file with comments | « no previous file | content/browser/service_worker/service_worker_context_request_handler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "content/browser/fileapi/chrome_blob_storage_context.h" 10 #include "content/browser/fileapi/chrome_blob_storage_context.h"
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 &status)); 365 &status));
366 stop_run_loop.Run(); 366 stop_run_loop.Run();
367 ASSERT_EQ(SERVICE_WORKER_OK, status); 367 ASSERT_EQ(SERVICE_WORKER_OK, status);
368 } 368 }
369 369
370 void ActivateTestHelper( 370 void ActivateTestHelper(
371 const std::string& worker_url, 371 const std::string& worker_url,
372 ServiceWorkerStatusCode expected_status) { 372 ServiceWorkerStatusCode expected_status) {
373 RunOnIOThread( 373 RunOnIOThread(
374 base::Bind(&self::SetUpRegistrationOnIOThread, this, worker_url)); 374 base::Bind(&self::SetUpRegistrationOnIOThread, this, worker_url));
375 version_->SetStatus(ServiceWorkerVersion::INSTALLED);
376 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED; 375 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED;
377 base::RunLoop run_loop; 376 base::RunLoop run_loop;
378 BrowserThread::PostTask( 377 BrowserThread::PostTask(
379 BrowserThread::IO, 378 BrowserThread::IO,
380 FROM_HERE, 379 FROM_HERE,
381 base::Bind( 380 base::Bind(
382 &self::ActivateOnIOThread, this, run_loop.QuitClosure(), &status)); 381 &self::ActivateOnIOThread, this, run_loop.QuitClosure(), &status));
383 run_loop.Run(); 382 run_loop.Run();
384 ASSERT_EQ(expected_status, status); 383 ASSERT_EQ(expected_status, status);
385 } 384 }
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 430
432 void StartOnIOThread(const base::Closure& done, 431 void StartOnIOThread(const base::Closure& done,
433 ServiceWorkerStatusCode* result) { 432 ServiceWorkerStatusCode* result) {
434 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 433 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
435 version_->StartWorker(CreateReceiver(BrowserThread::UI, done, result)); 434 version_->StartWorker(CreateReceiver(BrowserThread::UI, done, result));
436 } 435 }
437 436
438 void InstallOnIOThread(const base::Closure& done, 437 void InstallOnIOThread(const base::Closure& done,
439 ServiceWorkerStatusCode* result) { 438 ServiceWorkerStatusCode* result) {
440 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 439 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
440 version_->SetStatus(ServiceWorkerVersion::INSTALLING);
441 version_->DispatchInstallEvent( 441 version_->DispatchInstallEvent(
442 -1, CreateReceiver(BrowserThread::UI, done, result)); 442 -1, CreateReceiver(BrowserThread::UI, done, result));
443 } 443 }
444 444
445 void ActivateOnIOThread(const base::Closure& done, 445 void ActivateOnIOThread(const base::Closure& done,
446 ServiceWorkerStatusCode* result) { 446 ServiceWorkerStatusCode* result) {
447 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 447 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
448 version_->SetStatus(ServiceWorkerVersion::INSTALLED); 448 version_->SetStatus(ServiceWorkerVersion::ACTIVATING);
449 version_->DispatchActivateEvent( 449 version_->DispatchActivateEvent(
450 CreateReceiver(BrowserThread::UI, done, result)); 450 CreateReceiver(BrowserThread::UI, done, result));
451 } 451 }
452 452
453 void FetchOnIOThread(const base::Closure& done, FetchResult* result) { 453 void FetchOnIOThread(const base::Closure& done, FetchResult* result) {
454 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); 454 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO));
455 ServiceWorkerFetchRequest request( 455 ServiceWorkerFetchRequest request(
456 embedded_test_server()->GetURL("/service_worker/empty.html"), 456 embedded_test_server()->GetURL("/service_worker/empty.html"),
457 "GET", 457 "GET",
458 std::map<std::string, std::string>(), 458 std::map<std::string, std::string>(),
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, 579 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
580 ServiceWorkerScriptHeader) { 580 ServiceWorkerScriptHeader) {
581 embedded_test_server()->RegisterRequestHandler( 581 embedded_test_server()->RegisterRequestHandler(
582 base::Bind(&VerifyServiceWorkerHeaderInRequest)); 582 base::Bind(&VerifyServiceWorkerHeaderInRequest));
583 InstallTestHelper("/service_worker/generated_sw.js", SERVICE_WORKER_OK); 583 InstallTestHelper("/service_worker/generated_sw.js", SERVICE_WORKER_OK);
584 } 584 }
585 585
586 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, 586 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
587 Activate_NoEventListener) { 587 Activate_NoEventListener) {
588 ActivateTestHelper("/service_worker/worker.js", SERVICE_WORKER_OK); 588 ActivateTestHelper("/service_worker/worker.js", SERVICE_WORKER_OK);
589 ASSERT_EQ(ServiceWorkerVersion::ACTIVATED, version_->status()); 589 ASSERT_EQ(ServiceWorkerVersion::ACTIVATING, version_->status());
590 } 590 }
591 591
592 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, Activate_Rejected) { 592 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, Activate_Rejected) {
593 ActivateTestHelper("/service_worker/worker_activate_rejected.js", 593 ActivateTestHelper("/service_worker/worker_activate_rejected.js",
594 SERVICE_WORKER_ERROR_ACTIVATE_WORKER_FAILED); 594 SERVICE_WORKER_ERROR_ACTIVATE_WORKER_FAILED);
595 } 595 }
596 596
597 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, 597 IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
598 InstallWithWaitUntil_Rejected) { 598 InstallWithWaitUntil_Rejected) {
599 InstallTestHelper("/service_worker/worker_install_rejected.js", 599 InstallTestHelper("/service_worker/worker_install_rejected.js",
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
820 base::Bind(&ServiceWorkerBlackBoxBrowserTest::FindRegistrationOnIO, 820 base::Bind(&ServiceWorkerBlackBoxBrowserTest::FindRegistrationOnIO,
821 this, 821 this,
822 embedded_test_server()->GetURL("/service_worker/empty.html"), 822 embedded_test_server()->GetURL("/service_worker/empty.html"),
823 &status, 823 &status,
824 &script_url)); 824 &script_url));
825 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, status); 825 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, status);
826 } 826 }
827 } 827 }
828 828
829 } // namespace content 829 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/browser/service_worker/service_worker_context_request_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698