| 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::ACTIVE, 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 |