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

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

Issue 2039743003: Introduce ServiceWorker.ActivatedWorkerPreparationForMainFrame.Time UMA. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: move GetWorkerPreparationSuffix Created 4 years, 6 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
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 <stdint.h> 5 #include <stdint.h>
6 #include <tuple> 6 #include <tuple>
7 7
8 #include "base/files/scoped_temp_dir.h" 8 #include "base/files/scoped_temp_dir.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 639 matching lines...) Expand 10 before | Expand all | Expand 10 after
650 scoped_refptr<ServiceWorkerVersion> version = new ServiceWorkerVersion( 650 scoped_refptr<ServiceWorkerVersion> version = new ServiceWorkerVersion(
651 registration.get(), script_url, 1L, helper_->context()->AsWeakPtr()); 651 registration.get(), script_url, 1L, helper_->context()->AsWeakPtr());
652 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED; 652 ServiceWorkerStatusCode status = SERVICE_WORKER_ERROR_FAILED;
653 version->StartWorker(ServiceWorkerMetrics::EventType::UNKNOWN, 653 version->StartWorker(ServiceWorkerMetrics::EventType::UNKNOWN,
654 CreateReceiverOnCurrentThread(&status)); 654 CreateReceiverOnCurrentThread(&status));
655 base::RunLoop().RunUntilIdle(); 655 base::RunLoop().RunUntilIdle();
656 ASSERT_EQ(SERVICE_WORKER_OK, status); 656 ASSERT_EQ(SERVICE_WORKER_OK, status);
657 657
658 version->SetStatus(ServiceWorkerVersion::INSTALLED); 658 version->SetStatus(ServiceWorkerVersion::INSTALLED);
659 registration->SetWaitingVersion(version); 659 registration->SetWaitingVersion(version);
660 EXPECT_EQ(ServiceWorkerVersion::RUNNING, 660 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::RUNNING,
661 version->running_status()); 661 version->running_status());
662 EXPECT_EQ(ServiceWorkerVersion::INSTALLED, version->status()); 662 EXPECT_EQ(ServiceWorkerVersion::INSTALLED, version->status());
663 663
664 RunUnregisterJob(GURL("http://www.example.com/")); 664 RunUnregisterJob(GURL("http://www.example.com/"));
665 665
666 // The version should be stopped since there is no controllee after 666 // The version should be stopped since there is no controllee after
667 // unregistration. 667 // unregistration.
668 EXPECT_EQ(ServiceWorkerVersion::STOPPED, version->running_status()); 668 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::STOPPED,
669 version->running_status());
669 EXPECT_EQ(ServiceWorkerVersion::REDUNDANT, version->status()); 670 EXPECT_EQ(ServiceWorkerVersion::REDUNDANT, version->status());
670 } 671 }
671 672
672 // Tests that the active worker enters the 'redundant' state upon 673 // Tests that the active worker enters the 'redundant' state upon
673 // unregistration. 674 // unregistration.
674 TEST_F(ServiceWorkerJobTest, UnregisterActiveSetsRedundant) { 675 TEST_F(ServiceWorkerJobTest, UnregisterActiveSetsRedundant) {
675 scoped_refptr<ServiceWorkerRegistration> registration = 676 scoped_refptr<ServiceWorkerRegistration> registration =
676 RunRegisterJob(GURL("http://www.example.com/"), 677 RunRegisterJob(GURL("http://www.example.com/"),
677 GURL("http://www.example.com/service_worker.js")); 678 GURL("http://www.example.com/service_worker.js"));
678 ASSERT_TRUE(registration.get()); 679 ASSERT_TRUE(registration.get());
679 680
680 scoped_refptr<ServiceWorkerVersion> version = registration->active_version(); 681 scoped_refptr<ServiceWorkerVersion> version = registration->active_version();
681 EXPECT_EQ(ServiceWorkerVersion::RUNNING, version->running_status()); 682 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::RUNNING,
683 version->running_status());
682 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, version->status()); 684 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, version->status());
683 685
684 RunUnregisterJob(GURL("http://www.example.com/")); 686 RunUnregisterJob(GURL("http://www.example.com/"));
685 687
686 // The version should be stopped since there is no controllee after 688 // The version should be stopped since there is no controllee after
687 // unregistration. 689 // unregistration.
688 EXPECT_EQ(ServiceWorkerVersion::STOPPED, version->running_status()); 690 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::STOPPED,
691 version->running_status());
689 EXPECT_EQ(ServiceWorkerVersion::REDUNDANT, version->status()); 692 EXPECT_EQ(ServiceWorkerVersion::REDUNDANT, version->status());
690 } 693 }
691 694
692 // Tests that the active worker enters the 'redundant' state upon 695 // Tests that the active worker enters the 'redundant' state upon
693 // unregistration. 696 // unregistration.
694 TEST_F(ServiceWorkerJobTest, 697 TEST_F(ServiceWorkerJobTest,
695 UnregisterActiveSetsRedundant_WaitForNoControllee) { 698 UnregisterActiveSetsRedundant_WaitForNoControllee) {
696 scoped_refptr<ServiceWorkerRegistration> registration = 699 scoped_refptr<ServiceWorkerRegistration> registration =
697 RunRegisterJob(GURL("http://www.example.com/"), 700 RunRegisterJob(GURL("http://www.example.com/"),
698 GURL("http://www.example.com/service_worker.js")); 701 GURL("http://www.example.com/service_worker.js"));
699 ASSERT_TRUE(registration.get()); 702 ASSERT_TRUE(registration.get());
700 703
701 std::unique_ptr<ServiceWorkerProviderHost> host = CreateControllee(); 704 std::unique_ptr<ServiceWorkerProviderHost> host = CreateControllee();
702 registration->active_version()->AddControllee(host.get()); 705 registration->active_version()->AddControllee(host.get());
703 706
704 scoped_refptr<ServiceWorkerVersion> version = registration->active_version(); 707 scoped_refptr<ServiceWorkerVersion> version = registration->active_version();
705 EXPECT_EQ(ServiceWorkerVersion::RUNNING, version->running_status()); 708 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::RUNNING,
709 version->running_status());
706 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, version->status()); 710 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, version->status());
707 711
708 RunUnregisterJob(GURL("http://www.example.com/")); 712 RunUnregisterJob(GURL("http://www.example.com/"));
709 713
710 // The version should be running since there is still a controllee. 714 // The version should be running since there is still a controllee.
711 EXPECT_EQ(ServiceWorkerVersion::RUNNING, version->running_status()); 715 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::RUNNING,
716 version->running_status());
712 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, version->status()); 717 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, version->status());
713 718
714 registration->active_version()->RemoveControllee(host.get()); 719 registration->active_version()->RemoveControllee(host.get());
715 base::RunLoop().RunUntilIdle(); 720 base::RunLoop().RunUntilIdle();
716 721
717 // The version should be stopped since there is no controllee. 722 // The version should be stopped since there is no controllee.
718 EXPECT_EQ(ServiceWorkerVersion::STOPPED, version->running_status()); 723 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::STOPPED,
724 version->running_status());
719 EXPECT_EQ(ServiceWorkerVersion::REDUNDANT, version->status()); 725 EXPECT_EQ(ServiceWorkerVersion::REDUNDANT, version->status());
720 } 726 }
721 727
722 namespace { // Helpers for the update job tests. 728 namespace { // Helpers for the update job tests.
723 729
724 const GURL kNoChangeOrigin("http://nochange/"); 730 const GURL kNoChangeOrigin("http://nochange/");
725 const GURL kNewVersionOrigin("http://newversion/"); 731 const GURL kNewVersionOrigin("http://newversion/");
726 const std::string kScope("scope/"); 732 const std::string kScope("scope/");
727 const std::string kScript("script.js"); 733 const std::string kScript("script.js");
728 734
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after
1245 1251
1246 EXPECT_FALSE(registration->is_uninstalling()); 1252 EXPECT_FALSE(registration->is_uninstalling());
1247 EXPECT_EQ(old_version, registration->active_version()); 1253 EXPECT_EQ(old_version, registration->active_version());
1248 1254
1249 scoped_refptr<ServiceWorkerVersion> new_version = 1255 scoped_refptr<ServiceWorkerVersion> new_version =
1250 registration->waiting_version(); 1256 registration->waiting_version();
1251 1257
1252 // Verify the new version is installed but not activated yet. 1258 // Verify the new version is installed but not activated yet.
1253 EXPECT_EQ(NULL, registration->installing_version()); 1259 EXPECT_EQ(NULL, registration->installing_version());
1254 EXPECT_TRUE(new_version); 1260 EXPECT_TRUE(new_version);
1255 EXPECT_EQ(ServiceWorkerVersion::RUNNING, new_version->running_status()); 1261 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::RUNNING,
1262 new_version->running_status());
1256 EXPECT_EQ(ServiceWorkerVersion::INSTALLED, new_version->status()); 1263 EXPECT_EQ(ServiceWorkerVersion::INSTALLED, new_version->status());
1257 1264
1258 old_version->RemoveControllee(host.get()); 1265 old_version->RemoveControllee(host.get());
1259 base::RunLoop().RunUntilIdle(); 1266 base::RunLoop().RunUntilIdle();
1260 1267
1261 EXPECT_FALSE(registration->is_uninstalling()); 1268 EXPECT_FALSE(registration->is_uninstalling());
1262 EXPECT_FALSE(registration->is_uninstalled()); 1269 EXPECT_FALSE(registration->is_uninstalled());
1263 1270
1264 // Verify the new version is activated. 1271 // Verify the new version is activated.
1265 EXPECT_EQ(NULL, registration->installing_version()); 1272 EXPECT_EQ(NULL, registration->installing_version());
1266 EXPECT_EQ(NULL, registration->waiting_version()); 1273 EXPECT_EQ(NULL, registration->waiting_version());
1267 EXPECT_EQ(new_version, registration->active_version()); 1274 EXPECT_EQ(new_version, registration->active_version());
1268 EXPECT_EQ(ServiceWorkerVersion::ACTIVATING, new_version->status()); 1275 EXPECT_EQ(ServiceWorkerVersion::ACTIVATING, new_version->status());
1269 1276
1270 runner->RunUntilIdle(); 1277 runner->RunUntilIdle();
1271 base::RunLoop().RunUntilIdle(); 1278 base::RunLoop().RunUntilIdle();
1272 EXPECT_EQ(ServiceWorkerVersion::RUNNING, new_version->running_status()); 1279 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::RUNNING,
1280 new_version->running_status());
1273 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, new_version->status()); 1281 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, new_version->status());
1274 } 1282 }
1275 1283
1276 TEST_F(ServiceWorkerJobTest, RegisterAndUnregisterWhileUninstalling) { 1284 TEST_F(ServiceWorkerJobTest, RegisterAndUnregisterWhileUninstalling) {
1277 GURL pattern("http://www.example.com/one/"); 1285 GURL pattern("http://www.example.com/one/");
1278 GURL script1("http://www.example.com/service_worker.js"); 1286 GURL script1("http://www.example.com/service_worker.js");
1279 GURL script2("http://www.example.com/service_worker.js?new"); 1287 GURL script2("http://www.example.com/service_worker.js?new");
1280 1288
1281 scoped_refptr<ServiceWorkerRegistration> registration = 1289 scoped_refptr<ServiceWorkerRegistration> registration =
1282 RunRegisterJob(pattern, script1); 1290 RunRegisterJob(pattern, script1);
(...skipping 14 matching lines...) Expand all
1297 1305
1298 // Unregister the registration (but it's still live). 1306 // Unregister the registration (but it's still live).
1299 RunUnregisterJob(pattern); 1307 RunUnregisterJob(pattern);
1300 // Now it's not found in the storage. 1308 // Now it's not found in the storage.
1301 RunUnregisterJob(pattern, SERVICE_WORKER_ERROR_NOT_FOUND); 1309 RunUnregisterJob(pattern, SERVICE_WORKER_ERROR_NOT_FOUND);
1302 1310
1303 FindRegistrationForPattern(pattern, SERVICE_WORKER_ERROR_NOT_FOUND); 1311 FindRegistrationForPattern(pattern, SERVICE_WORKER_ERROR_NOT_FOUND);
1304 EXPECT_TRUE(registration->is_uninstalling()); 1312 EXPECT_TRUE(registration->is_uninstalling());
1305 EXPECT_EQ(old_version, registration->active_version()); 1313 EXPECT_EQ(old_version, registration->active_version());
1306 1314
1307 EXPECT_EQ(ServiceWorkerVersion::RUNNING, old_version->running_status()); 1315 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::RUNNING,
1316 old_version->running_status());
1308 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, old_version->status()); 1317 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, old_version->status());
1309 EXPECT_EQ(ServiceWorkerVersion::RUNNING, new_version->running_status()); 1318 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::RUNNING,
1319 new_version->running_status());
1310 EXPECT_EQ(ServiceWorkerVersion::INSTALLED, new_version->status()); 1320 EXPECT_EQ(ServiceWorkerVersion::INSTALLED, new_version->status());
1311 1321
1312 old_version->RemoveControllee(host.get()); 1322 old_version->RemoveControllee(host.get());
1313 base::RunLoop().RunUntilIdle(); 1323 base::RunLoop().RunUntilIdle();
1314 1324
1315 EXPECT_FALSE(registration->is_uninstalling()); 1325 EXPECT_FALSE(registration->is_uninstalling());
1316 EXPECT_TRUE(registration->is_uninstalled()); 1326 EXPECT_TRUE(registration->is_uninstalled());
1317 1327
1318 EXPECT_EQ(ServiceWorkerVersion::STOPPED, old_version->running_status()); 1328 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::STOPPED,
1329 old_version->running_status());
1319 EXPECT_EQ(ServiceWorkerVersion::REDUNDANT, old_version->status()); 1330 EXPECT_EQ(ServiceWorkerVersion::REDUNDANT, old_version->status());
1320 EXPECT_EQ(ServiceWorkerVersion::STOPPED, new_version->running_status()); 1331 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::STOPPED,
1332 new_version->running_status());
1321 EXPECT_EQ(ServiceWorkerVersion::REDUNDANT, new_version->status()); 1333 EXPECT_EQ(ServiceWorkerVersion::REDUNDANT, new_version->status());
1322 } 1334 }
1323 1335
1324 TEST_F(ServiceWorkerJobTest, RegisterSameScriptMultipleTimesWhileUninstalling) { 1336 TEST_F(ServiceWorkerJobTest, RegisterSameScriptMultipleTimesWhileUninstalling) {
1325 GURL pattern("http://www.example.com/one/"); 1337 GURL pattern("http://www.example.com/one/");
1326 GURL script1("http://www.example.com/service_worker.js"); 1338 GURL script1("http://www.example.com/service_worker.js");
1327 GURL script2("http://www.example.com/service_worker.js?new"); 1339 GURL script2("http://www.example.com/service_worker.js?new");
1328 1340
1329 scoped_refptr<ServiceWorkerRegistration> registration = 1341 scoped_refptr<ServiceWorkerRegistration> registration =
1330 RunRegisterJob(pattern, script1); 1342 RunRegisterJob(pattern, script1);
(...skipping 30 matching lines...) Expand all
1361 EXPECT_FALSE(registration->is_uninstalled()); 1373 EXPECT_FALSE(registration->is_uninstalled());
1362 1374
1363 // Verify the new version is activated. 1375 // Verify the new version is activated.
1364 EXPECT_EQ(NULL, registration->installing_version()); 1376 EXPECT_EQ(NULL, registration->installing_version());
1365 EXPECT_EQ(NULL, registration->waiting_version()); 1377 EXPECT_EQ(NULL, registration->waiting_version());
1366 EXPECT_EQ(new_version, registration->active_version()); 1378 EXPECT_EQ(new_version, registration->active_version());
1367 EXPECT_EQ(ServiceWorkerVersion::ACTIVATING, new_version->status()); 1379 EXPECT_EQ(ServiceWorkerVersion::ACTIVATING, new_version->status());
1368 1380
1369 runner->RunUntilIdle(); 1381 runner->RunUntilIdle();
1370 base::RunLoop().RunUntilIdle(); 1382 base::RunLoop().RunUntilIdle();
1371 EXPECT_EQ(ServiceWorkerVersion::RUNNING, new_version->running_status()); 1383 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::RUNNING,
1384 new_version->running_status());
1372 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, new_version->status()); 1385 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, new_version->status());
1373 } 1386 }
1374 1387
1375 TEST_F(ServiceWorkerJobTest, RegisterMultipleTimesWhileUninstalling) { 1388 TEST_F(ServiceWorkerJobTest, RegisterMultipleTimesWhileUninstalling) {
1376 GURL pattern("http://www.example.com/one/"); 1389 GURL pattern("http://www.example.com/one/");
1377 GURL script1("http://www.example.com/service_worker.js?first"); 1390 GURL script1("http://www.example.com/service_worker.js?first");
1378 GURL script2("http://www.example.com/service_worker.js?second"); 1391 GURL script2("http://www.example.com/service_worker.js?second");
1379 GURL script3("http://www.example.com/service_worker.js?third"); 1392 GURL script3("http://www.example.com/service_worker.js?third");
1380 1393
1381 scoped_refptr<ServiceWorkerRegistration> registration = 1394 scoped_refptr<ServiceWorkerRegistration> registration =
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1417 EXPECT_FALSE(registration->is_uninstalled()); 1430 EXPECT_FALSE(registration->is_uninstalled());
1418 1431
1419 // Verify the new version is activated. 1432 // Verify the new version is activated.
1420 EXPECT_EQ(NULL, registration->installing_version()); 1433 EXPECT_EQ(NULL, registration->installing_version());
1421 EXPECT_EQ(NULL, registration->waiting_version()); 1434 EXPECT_EQ(NULL, registration->waiting_version());
1422 EXPECT_EQ(third_version, registration->active_version()); 1435 EXPECT_EQ(third_version, registration->active_version());
1423 EXPECT_EQ(ServiceWorkerVersion::ACTIVATING, third_version->status()); 1436 EXPECT_EQ(ServiceWorkerVersion::ACTIVATING, third_version->status());
1424 1437
1425 runner->RunUntilIdle(); 1438 runner->RunUntilIdle();
1426 base::RunLoop().RunUntilIdle(); 1439 base::RunLoop().RunUntilIdle();
1427 EXPECT_EQ(ServiceWorkerVersion::RUNNING, third_version->running_status()); 1440 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::RUNNING,
1441 third_version->running_status());
1428 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, third_version->status()); 1442 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, third_version->status());
1429 } 1443 }
1430 1444
1431 class EventCallbackHelper : public EmbeddedWorkerTestHelper { 1445 class EventCallbackHelper : public EmbeddedWorkerTestHelper {
1432 public: 1446 public:
1433 EventCallbackHelper() 1447 EventCallbackHelper()
1434 : EmbeddedWorkerTestHelper(base::FilePath()), 1448 : EmbeddedWorkerTestHelper(base::FilePath()),
1435 install_event_result_(blink::WebServiceWorkerEventResultCompleted), 1449 install_event_result_(blink::WebServiceWorkerEventResultCompleted),
1436 activate_event_result_(blink::WebServiceWorkerEventResultCompleted) {} 1450 activate_event_result_(blink::WebServiceWorkerEventResultCompleted) {}
1437 1451
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
1496 EXPECT_FALSE(registration->is_uninstalling()); 1510 EXPECT_FALSE(registration->is_uninstalling());
1497 EXPECT_FALSE(registration->is_uninstalled()); 1511 EXPECT_FALSE(registration->is_uninstalled());
1498 1512
1499 // Verify the new version is activated. 1513 // Verify the new version is activated.
1500 scoped_refptr<ServiceWorkerVersion> new_version = 1514 scoped_refptr<ServiceWorkerVersion> new_version =
1501 registration->active_version(); 1515 registration->active_version();
1502 EXPECT_NE(old_version, new_version); 1516 EXPECT_NE(old_version, new_version);
1503 EXPECT_EQ(NULL, registration->installing_version()); 1517 EXPECT_EQ(NULL, registration->installing_version());
1504 EXPECT_EQ(NULL, registration->waiting_version()); 1518 EXPECT_EQ(NULL, registration->waiting_version());
1505 EXPECT_EQ(new_version, registration->active_version()); 1519 EXPECT_EQ(new_version, registration->active_version());
1506 EXPECT_EQ(ServiceWorkerVersion::RUNNING, new_version->running_status()); 1520 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::RUNNING,
1521 new_version->running_status());
1507 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, new_version->status()); 1522 EXPECT_EQ(ServiceWorkerVersion::ACTIVATED, new_version->status());
1508 1523
1509 EXPECT_EQ(registration, FindRegistrationForPattern(pattern)); 1524 EXPECT_EQ(registration, FindRegistrationForPattern(pattern));
1510 } 1525 }
1511 1526
1512 TEST_F(ServiceWorkerJobTest, RemoveControlleeDuringRejectedInstall) { 1527 TEST_F(ServiceWorkerJobTest, RemoveControlleeDuringRejectedInstall) {
1513 EventCallbackHelper* helper = new EventCallbackHelper; 1528 EventCallbackHelper* helper = new EventCallbackHelper;
1514 helper_.reset(helper); 1529 helper_.reset(helper);
1515 1530
1516 GURL pattern("http://www.example.com/one/"); 1531 GURL pattern("http://www.example.com/one/");
(...skipping 15 matching lines...) Expand all
1532 helper->set_install_callback( 1547 helper->set_install_callback(
1533 base::Bind(&ServiceWorkerVersion::RemoveControllee, 1548 base::Bind(&ServiceWorkerVersion::RemoveControllee,
1534 old_version, host.get())); 1549 old_version, host.get()));
1535 helper->set_install_event_result(blink::WebServiceWorkerEventResultRejected); 1550 helper->set_install_event_result(blink::WebServiceWorkerEventResultRejected);
1536 EXPECT_EQ(registration, RunRegisterJob(pattern, script2)); 1551 EXPECT_EQ(registration, RunRegisterJob(pattern, script2));
1537 1552
1538 // Verify the registration was uninstalled. 1553 // Verify the registration was uninstalled.
1539 EXPECT_FALSE(registration->is_uninstalling()); 1554 EXPECT_FALSE(registration->is_uninstalling());
1540 EXPECT_TRUE(registration->is_uninstalled()); 1555 EXPECT_TRUE(registration->is_uninstalled());
1541 1556
1542 EXPECT_EQ(ServiceWorkerVersion::STOPPED, old_version->running_status()); 1557 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::STOPPED,
1558 old_version->running_status());
1543 EXPECT_EQ(ServiceWorkerVersion::REDUNDANT, old_version->status()); 1559 EXPECT_EQ(ServiceWorkerVersion::REDUNDANT, old_version->status());
1544 1560
1545 FindRegistrationForPattern(pattern, SERVICE_WORKER_ERROR_NOT_FOUND); 1561 FindRegistrationForPattern(pattern, SERVICE_WORKER_ERROR_NOT_FOUND);
1546 } 1562 }
1547 1563
1548 TEST_F(ServiceWorkerJobTest, RemoveControlleeDuringInstall_RejectActivate) { 1564 TEST_F(ServiceWorkerJobTest, RemoveControlleeDuringInstall_RejectActivate) {
1549 EventCallbackHelper* helper = new EventCallbackHelper; 1565 EventCallbackHelper* helper = new EventCallbackHelper;
1550 helper_.reset(helper); 1566 helper_.reset(helper);
1551 1567
1552 GURL pattern("http://www.example.com/one/"); 1568 GURL pattern("http://www.example.com/one/");
(...skipping 15 matching lines...) Expand all
1568 helper->set_install_callback( 1584 helper->set_install_callback(
1569 base::Bind(&ServiceWorkerVersion::RemoveControllee, 1585 base::Bind(&ServiceWorkerVersion::RemoveControllee,
1570 old_version, host.get())); 1586 old_version, host.get()));
1571 helper->set_activate_event_result(blink::WebServiceWorkerEventResultRejected); 1587 helper->set_activate_event_result(blink::WebServiceWorkerEventResultRejected);
1572 EXPECT_EQ(registration, RunRegisterJob(pattern, script2)); 1588 EXPECT_EQ(registration, RunRegisterJob(pattern, script2));
1573 1589
1574 // Verify the registration remains. 1590 // Verify the registration remains.
1575 EXPECT_FALSE(registration->is_uninstalling()); 1591 EXPECT_FALSE(registration->is_uninstalling());
1576 EXPECT_FALSE(registration->is_uninstalled()); 1592 EXPECT_FALSE(registration->is_uninstalled());
1577 1593
1578 EXPECT_EQ(ServiceWorkerVersion::STOPPED, old_version->running_status()); 1594 EXPECT_EQ(ServiceWorkerVersion::RunningStatus::STOPPED,
1595 old_version->running_status());
1579 EXPECT_EQ(ServiceWorkerVersion::REDUNDANT, old_version->status()); 1596 EXPECT_EQ(ServiceWorkerVersion::REDUNDANT, old_version->status());
1580 1597
1581 FindRegistrationForPattern(pattern, SERVICE_WORKER_OK); 1598 FindRegistrationForPattern(pattern, SERVICE_WORKER_OK);
1582 } 1599 }
1583 1600
1584 TEST_F(ServiceWorkerJobTest, HasFetchHandler) { 1601 TEST_F(ServiceWorkerJobTest, HasFetchHandler) {
1585 EventCallbackHelper* helper = new EventCallbackHelper; 1602 EventCallbackHelper* helper = new EventCallbackHelper;
1586 helper_.reset(helper); 1603 helper_.reset(helper);
1587 1604
1588 GURL pattern("http://www.example.com/"); 1605 GURL pattern("http://www.example.com/");
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
1688 // should not be promoted to ACTIVATED because failure occur 1705 // should not be promoted to ACTIVATED because failure occur
1689 // during shutdown. 1706 // during shutdown.
1690 runner->RunUntilIdle(); 1707 runner->RunUntilIdle();
1691 base::RunLoop().RunUntilIdle(); 1708 base::RunLoop().RunUntilIdle();
1692 EXPECT_EQ(new_version.get(), registration->active_version()); 1709 EXPECT_EQ(new_version.get(), registration->active_version());
1693 EXPECT_EQ(ServiceWorkerVersion::ACTIVATING, new_version->status()); 1710 EXPECT_EQ(ServiceWorkerVersion::ACTIVATING, new_version->status());
1694 registration->RemoveListener(update_helper); 1711 registration->RemoveListener(update_helper);
1695 } 1712 }
1696 1713
1697 } // namespace content 1714 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698