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/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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |