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

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

Issue 2228403003: content: Use stl utilities from the base namespace (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 years, 4 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 "content/browser/service_worker/service_worker_database.h" 5 #include "content/browser/service_worker/service_worker_database.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <string> 10 #include <string>
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 std::vector<Resource> resources4; 386 std::vector<Resource> resources4;
387 resources4.push_back(CreateResource(4, data4.script, 400)); 387 resources4.push_back(CreateResource(4, data4.script, 400));
388 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, 388 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
389 database->WriteRegistration(data4, resources4, &deleted_version, 389 database->WriteRegistration(data4, resources4, &deleted_version,
390 &newly_purgeable_resources)); 390 &newly_purgeable_resources));
391 391
392 origins.clear(); 392 origins.clear();
393 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 393 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
394 database->GetOriginsWithRegistrations(&origins)); 394 database->GetOriginsWithRegistrations(&origins));
395 EXPECT_EQ(3U, origins.size()); 395 EXPECT_EQ(3U, origins.size());
396 EXPECT_TRUE(ContainsKey(origins, origin1)); 396 EXPECT_TRUE(base::ContainsKey(origins, origin1));
397 EXPECT_TRUE(ContainsKey(origins, origin2)); 397 EXPECT_TRUE(base::ContainsKey(origins, origin2));
398 EXPECT_TRUE(ContainsKey(origins, origin3)); 398 EXPECT_TRUE(base::ContainsKey(origins, origin3));
399 399
400 // |origin3| has another registration, so should not remove it from the 400 // |origin3| has another registration, so should not remove it from the
401 // unique origin list. 401 // unique origin list.
402 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, 402 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
403 database->DeleteRegistration(data4.registration_id, 403 database->DeleteRegistration(data4.registration_id,
404 origin3, 404 origin3,
405 &deleted_version, 405 &deleted_version,
406 &newly_purgeable_resources)); 406 &newly_purgeable_resources));
407 EXPECT_EQ(data4.registration_id, deleted_version.registration_id); 407 EXPECT_EQ(data4.registration_id, deleted_version.registration_id);
408 408
409 origins.clear(); 409 origins.clear();
410 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 410 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
411 database->GetOriginsWithRegistrations(&origins)); 411 database->GetOriginsWithRegistrations(&origins));
412 EXPECT_EQ(3U, origins.size()); 412 EXPECT_EQ(3U, origins.size());
413 EXPECT_TRUE(ContainsKey(origins, origin1)); 413 EXPECT_TRUE(base::ContainsKey(origins, origin1));
414 EXPECT_TRUE(ContainsKey(origins, origin2)); 414 EXPECT_TRUE(base::ContainsKey(origins, origin2));
415 EXPECT_TRUE(ContainsKey(origins, origin3)); 415 EXPECT_TRUE(base::ContainsKey(origins, origin3));
416 416
417 // |origin3| should be removed from the unique origin list. 417 // |origin3| should be removed from the unique origin list.
418 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, 418 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
419 database->DeleteRegistration(data3.registration_id, 419 database->DeleteRegistration(data3.registration_id,
420 origin3, 420 origin3,
421 &deleted_version, 421 &deleted_version,
422 &newly_purgeable_resources)); 422 &newly_purgeable_resources));
423 EXPECT_EQ(data3.registration_id, deleted_version.registration_id); 423 EXPECT_EQ(data3.registration_id, deleted_version.registration_id);
424 424
425 origins.clear(); 425 origins.clear();
426 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 426 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
427 database->GetOriginsWithRegistrations(&origins)); 427 database->GetOriginsWithRegistrations(&origins));
428 EXPECT_EQ(2U, origins.size()); 428 EXPECT_EQ(2U, origins.size());
429 EXPECT_TRUE(ContainsKey(origins, origin1)); 429 EXPECT_TRUE(base::ContainsKey(origins, origin1));
430 EXPECT_TRUE(ContainsKey(origins, origin2)); 430 EXPECT_TRUE(base::ContainsKey(origins, origin2));
431 } 431 }
432 432
433 TEST(ServiceWorkerDatabaseTest, GetRegistrationsForOrigin) { 433 TEST(ServiceWorkerDatabaseTest, GetRegistrationsForOrigin) {
434 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); 434 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
435 435
436 GURL origin1("http://example.com"); 436 GURL origin1("http://example.com");
437 GURL origin2("https://www.example.com"); 437 GURL origin2("https://www.example.com");
438 GURL origin3("https://example.org"); 438 GURL origin3("https://example.org");
439 439
440 std::vector<RegistrationData> registrations; 440 std::vector<RegistrationData> registrations;
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 EXPECT_TRUE(resources_out.empty()); 688 EXPECT_TRUE(resources_out.empty());
689 EXPECT_EQ( 689 EXPECT_EQ(
690 ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND, 690 ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND,
691 database->ReadRegistrationOrigin(data.registration_id, &origin_out)); 691 database->ReadRegistrationOrigin(data.registration_id, &origin_out));
692 692
693 // Resources should be purgeable because these are no longer referred. 693 // Resources should be purgeable because these are no longer referred.
694 std::set<int64_t> purgeable_ids_out; 694 std::set<int64_t> purgeable_ids_out;
695 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 695 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
696 database->GetPurgeableResourceIds(&purgeable_ids_out)); 696 database->GetPurgeableResourceIds(&purgeable_ids_out));
697 EXPECT_EQ(2u, purgeable_ids_out.size()); 697 EXPECT_EQ(2u, purgeable_ids_out.size());
698 EXPECT_TRUE(ContainsKey(purgeable_ids_out, resources[0].resource_id)); 698 EXPECT_TRUE(base::ContainsKey(purgeable_ids_out, resources[0].resource_id));
699 EXPECT_TRUE(ContainsKey(purgeable_ids_out, resources[1].resource_id)); 699 EXPECT_TRUE(base::ContainsKey(purgeable_ids_out, resources[1].resource_id));
700 } 700 }
701 701
702 TEST(ServiceWorkerDatabaseTest, DeleteNonExistentRegistration) { 702 TEST(ServiceWorkerDatabaseTest, DeleteNonExistentRegistration) {
703 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); 703 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
704 704
705 GURL origin("http://example.com"); 705 GURL origin("http://example.com");
706 RegistrationData data; 706 RegistrationData data;
707 data.registration_id = 100; 707 data.registration_id = 100;
708 data.scope = URL(origin, "/foo"); 708 data.scope = URL(origin, "/foo");
709 data.script = URL(origin, "/script.js"); 709 data.script = URL(origin, "/script.js");
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
812 resources_out.clear(); 812 resources_out.clear();
813 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->ReadRegistration( 813 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->ReadRegistration(
814 updated_data.registration_id, origin, &data_out, &resources_out)); 814 updated_data.registration_id, origin, &data_out, &resources_out));
815 VerifyRegistrationData(updated_data, data_out); 815 VerifyRegistrationData(updated_data, data_out);
816 VerifyResourceRecords(resources2, resources_out); 816 VerifyResourceRecords(resources2, resources_out);
817 817
818 std::set<int64_t> purgeable_ids_out; 818 std::set<int64_t> purgeable_ids_out;
819 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 819 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
820 database->GetPurgeableResourceIds(&purgeable_ids_out)); 820 database->GetPurgeableResourceIds(&purgeable_ids_out));
821 EXPECT_EQ(2u, purgeable_ids_out.size()); 821 EXPECT_EQ(2u, purgeable_ids_out.size());
822 EXPECT_TRUE(ContainsKey(purgeable_ids_out, resources1[0].resource_id)); 822 EXPECT_TRUE(base::ContainsKey(purgeable_ids_out, resources1[0].resource_id));
823 EXPECT_TRUE(ContainsKey(purgeable_ids_out, resources1[1].resource_id)); 823 EXPECT_TRUE(base::ContainsKey(purgeable_ids_out, resources1[1].resource_id));
824 } 824 }
825 825
826 TEST(ServiceWorkerDatabaseTest, Registration_Multiple) { 826 TEST(ServiceWorkerDatabaseTest, Registration_Multiple) {
827 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); 827 std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory());
828 GURL origin("http://example.com"); 828 GURL origin("http://example.com");
829 829
830 ServiceWorkerDatabase::RegistrationData deleted_version; 830 ServiceWorkerDatabase::RegistrationData deleted_version;
831 std::vector<int64_t> newly_purgeable_resources; 831 std::vector<int64_t> newly_purgeable_resources;
832 832
833 // Add registration1. 833 // Add registration1.
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
906 data1.registration_id, origin, &data_out, &resources_out)); 906 data1.registration_id, origin, &data_out, &resources_out));
907 EXPECT_TRUE(resources_out.empty()); 907 EXPECT_TRUE(resources_out.empty());
908 EXPECT_EQ( 908 EXPECT_EQ(
909 ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND, 909 ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND,
910 database->ReadRegistrationOrigin(data1.registration_id, &origin_out)); 910 database->ReadRegistrationOrigin(data1.registration_id, &origin_out));
911 911
912 purgeable_ids_out.clear(); 912 purgeable_ids_out.clear();
913 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 913 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
914 database->GetPurgeableResourceIds(&purgeable_ids_out)); 914 database->GetPurgeableResourceIds(&purgeable_ids_out));
915 EXPECT_EQ(2u, purgeable_ids_out.size()); 915 EXPECT_EQ(2u, purgeable_ids_out.size());
916 EXPECT_TRUE(ContainsKey(purgeable_ids_out, resources1[0].resource_id)); 916 EXPECT_TRUE(base::ContainsKey(purgeable_ids_out, resources1[0].resource_id));
917 EXPECT_TRUE(ContainsKey(purgeable_ids_out, resources1[1].resource_id)); 917 EXPECT_TRUE(base::ContainsKey(purgeable_ids_out, resources1[1].resource_id));
918 918
919 // Make sure that registration2 is still alive. 919 // Make sure that registration2 is still alive.
920 resources_out.clear(); 920 resources_out.clear();
921 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->ReadRegistration( 921 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->ReadRegistration(
922 data2.registration_id, origin, &data_out, &resources_out)); 922 data2.registration_id, origin, &data_out, &resources_out));
923 VerifyRegistrationData(data2, data_out); 923 VerifyRegistrationData(data2, data_out);
924 VerifyResourceRecords(resources2, resources_out); 924 VerifyResourceRecords(resources2, resources_out);
925 EXPECT_EQ( 925 EXPECT_EQ(
926 ServiceWorkerDatabase::STATUS_OK, 926 ServiceWorkerDatabase::STATUS_OK,
927 database->ReadRegistrationOrigin(data2.registration_id, &origin_out)); 927 database->ReadRegistrationOrigin(data2.registration_id, &origin_out));
(...skipping 626 matching lines...) Expand 10 before | Expand all | Expand 10 after
1554 origins_to_delete.insert(origin1); 1554 origins_to_delete.insert(origin1);
1555 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 1555 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
1556 database->DeleteAllDataForOrigins(origins_to_delete, 1556 database->DeleteAllDataForOrigins(origins_to_delete,
1557 &newly_purgeable_resources)); 1557 &newly_purgeable_resources));
1558 1558
1559 // |origin1| should be removed from the unique origin list. 1559 // |origin1| should be removed from the unique origin list.
1560 std::set<GURL> unique_origins; 1560 std::set<GURL> unique_origins;
1561 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 1561 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
1562 database->GetOriginsWithRegistrations(&unique_origins)); 1562 database->GetOriginsWithRegistrations(&unique_origins));
1563 EXPECT_EQ(1u, unique_origins.size()); 1563 EXPECT_EQ(1u, unique_origins.size());
1564 EXPECT_TRUE(ContainsKey(unique_origins, origin2)); 1564 EXPECT_TRUE(base::ContainsKey(unique_origins, origin2));
1565 1565
1566 // |origin1| should be removed from the foreign fetch origin list. 1566 // |origin1| should be removed from the foreign fetch origin list.
1567 unique_origins.clear(); 1567 unique_origins.clear();
1568 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 1568 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
1569 database->GetOriginsWithForeignFetchRegistrations(&unique_origins)); 1569 database->GetOriginsWithForeignFetchRegistrations(&unique_origins));
1570 EXPECT_EQ(1u, unique_origins.size()); 1570 EXPECT_EQ(1u, unique_origins.size());
1571 EXPECT_TRUE(ContainsKey(unique_origins, origin2)); 1571 EXPECT_TRUE(base::ContainsKey(unique_origins, origin2));
1572 1572
1573 // The registrations for |origin1| should be removed. 1573 // The registrations for |origin1| should be removed.
1574 std::vector<RegistrationData> registrations; 1574 std::vector<RegistrationData> registrations;
1575 EXPECT_EQ( 1575 EXPECT_EQ(
1576 ServiceWorkerDatabase::STATUS_OK, 1576 ServiceWorkerDatabase::STATUS_OK,
1577 database->GetRegistrationsForOrigin(origin1, &registrations, nullptr)); 1577 database->GetRegistrationsForOrigin(origin1, &registrations, nullptr));
1578 EXPECT_TRUE(registrations.empty()); 1578 EXPECT_TRUE(registrations.empty());
1579 GURL origin_out; 1579 GURL origin_out;
1580 EXPECT_EQ( 1580 EXPECT_EQ(
1581 ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND, 1581 ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND,
1582 database->ReadRegistrationOrigin(data1.registration_id, &origin_out)); 1582 database->ReadRegistrationOrigin(data1.registration_id, &origin_out));
1583 1583
1584 // The registration for |origin2| should not be removed. 1584 // The registration for |origin2| should not be removed.
1585 RegistrationData data_out; 1585 RegistrationData data_out;
1586 std::vector<Resource> resources_out; 1586 std::vector<Resource> resources_out;
1587 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->ReadRegistration( 1587 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->ReadRegistration(
1588 data3.registration_id, origin2, &data_out, &resources_out)); 1588 data3.registration_id, origin2, &data_out, &resources_out));
1589 VerifyRegistrationData(data3, data_out); 1589 VerifyRegistrationData(data3, data_out);
1590 VerifyResourceRecords(resources3, resources_out); 1590 VerifyResourceRecords(resources3, resources_out);
1591 EXPECT_EQ( 1591 EXPECT_EQ(
1592 ServiceWorkerDatabase::STATUS_OK, 1592 ServiceWorkerDatabase::STATUS_OK,
1593 database->ReadRegistrationOrigin(data3.registration_id, &origin_out)); 1593 database->ReadRegistrationOrigin(data3.registration_id, &origin_out));
1594 EXPECT_EQ(origin2, origin_out); 1594 EXPECT_EQ(origin2, origin_out);
1595 1595
1596 // The resources associated with |origin1| should be purgeable. 1596 // The resources associated with |origin1| should be purgeable.
1597 std::set<int64_t> purgeable_ids_out; 1597 std::set<int64_t> purgeable_ids_out;
1598 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 1598 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
1599 database->GetPurgeableResourceIds(&purgeable_ids_out)); 1599 database->GetPurgeableResourceIds(&purgeable_ids_out));
1600 EXPECT_EQ(4u, purgeable_ids_out.size()); 1600 EXPECT_EQ(4u, purgeable_ids_out.size());
1601 EXPECT_TRUE(ContainsKey(purgeable_ids_out, 1)); 1601 EXPECT_TRUE(base::ContainsKey(purgeable_ids_out, 1));
1602 EXPECT_TRUE(ContainsKey(purgeable_ids_out, 2)); 1602 EXPECT_TRUE(base::ContainsKey(purgeable_ids_out, 2));
1603 EXPECT_TRUE(ContainsKey(purgeable_ids_out, 3)); 1603 EXPECT_TRUE(base::ContainsKey(purgeable_ids_out, 3));
1604 EXPECT_TRUE(ContainsKey(purgeable_ids_out, 4)); 1604 EXPECT_TRUE(base::ContainsKey(purgeable_ids_out, 4));
1605 1605
1606 // The user data associated with |origin1| should be removed. 1606 // The user data associated with |origin1| should be removed.
1607 std::vector<std::string> user_data_out; 1607 std::vector<std::string> user_data_out;
1608 EXPECT_EQ( 1608 EXPECT_EQ(
1609 ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND, 1609 ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND,
1610 database->ReadUserData(data1.registration_id, {"key1"}, &user_data_out)); 1610 database->ReadUserData(data1.registration_id, {"key1"}, &user_data_out));
1611 EXPECT_EQ( 1611 EXPECT_EQ(
1612 ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND, 1612 ServiceWorkerDatabase::STATUS_ERROR_NOT_FOUND,
1613 database->ReadUserData(data1.registration_id, {"key2"}, &user_data_out)); 1613 database->ReadUserData(data1.registration_id, {"key2"}, &user_data_out));
1614 EXPECT_EQ( 1614 EXPECT_EQ(
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
1719 std::vector<Resource> resources5; 1719 std::vector<Resource> resources5;
1720 resources5.push_back(CreateResource(5, data5.script, 500)); 1720 resources5.push_back(CreateResource(5, data5.script, 500));
1721 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, 1721 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
1722 database->WriteRegistration(data5, resources5, &deleted_version, 1722 database->WriteRegistration(data5, resources5, &deleted_version,
1723 &newly_purgeable_resources)); 1723 &newly_purgeable_resources));
1724 1724
1725 origins.clear(); 1725 origins.clear();
1726 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 1726 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
1727 database->GetOriginsWithForeignFetchRegistrations(&origins)); 1727 database->GetOriginsWithForeignFetchRegistrations(&origins));
1728 EXPECT_EQ(2U, origins.size()); 1728 EXPECT_EQ(2U, origins.size());
1729 EXPECT_TRUE(ContainsKey(origins, origin1)); 1729 EXPECT_TRUE(base::ContainsKey(origins, origin1));
1730 EXPECT_TRUE(ContainsKey(origins, origin3)); 1730 EXPECT_TRUE(base::ContainsKey(origins, origin3));
1731 1731
1732 // |origin3| has another registration, so should not remove it from the 1732 // |origin3| has another registration, so should not remove it from the
1733 // foreign fetch origin list. 1733 // foreign fetch origin list.
1734 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, 1734 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
1735 database->DeleteRegistration(data4.registration_id, origin3, 1735 database->DeleteRegistration(data4.registration_id, origin3,
1736 &deleted_version, 1736 &deleted_version,
1737 &newly_purgeable_resources)); 1737 &newly_purgeable_resources));
1738 EXPECT_EQ(data4.registration_id, deleted_version.registration_id); 1738 EXPECT_EQ(data4.registration_id, deleted_version.registration_id);
1739 1739
1740 origins.clear(); 1740 origins.clear();
1741 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 1741 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
1742 database->GetOriginsWithForeignFetchRegistrations(&origins)); 1742 database->GetOriginsWithForeignFetchRegistrations(&origins));
1743 EXPECT_EQ(2U, origins.size()); 1743 EXPECT_EQ(2U, origins.size());
1744 EXPECT_TRUE(ContainsKey(origins, origin1)); 1744 EXPECT_TRUE(base::ContainsKey(origins, origin1));
1745 EXPECT_TRUE(ContainsKey(origins, origin3)); 1745 EXPECT_TRUE(base::ContainsKey(origins, origin3));
1746 1746
1747 // |origin3| should be removed from the foreign fetch origin list, since its 1747 // |origin3| should be removed from the foreign fetch origin list, since its
1748 // only remaining registration doesn't have foreign fetch scopes. 1748 // only remaining registration doesn't have foreign fetch scopes.
1749 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, 1749 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK,
1750 database->DeleteRegistration(data3.registration_id, origin3, 1750 database->DeleteRegistration(data3.registration_id, origin3,
1751 &deleted_version, 1751 &deleted_version,
1752 &newly_purgeable_resources)); 1752 &newly_purgeable_resources));
1753 EXPECT_EQ(data3.registration_id, deleted_version.registration_id); 1753 EXPECT_EQ(data3.registration_id, deleted_version.registration_id);
1754 1754
1755 origins.clear(); 1755 origins.clear();
1756 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 1756 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
1757 database->GetOriginsWithForeignFetchRegistrations(&origins)); 1757 database->GetOriginsWithForeignFetchRegistrations(&origins));
1758 EXPECT_EQ(1U, origins.size()); 1758 EXPECT_EQ(1U, origins.size());
1759 EXPECT_TRUE(ContainsKey(origins, origin1)); 1759 EXPECT_TRUE(base::ContainsKey(origins, origin1));
1760 1760
1761 // |origin1| should be removed from the foreign fetch origin list, since we 1761 // |origin1| should be removed from the foreign fetch origin list, since we
1762 // replace its registration with one without scopes. 1762 // replace its registration with one without scopes.
1763 RegistrationData updated_data1 = data1; 1763 RegistrationData updated_data1 = data1;
1764 updated_data1.version_id++; 1764 updated_data1.version_id++;
1765 updated_data1.resources_total_size_bytes = 12 + 13; 1765 updated_data1.resources_total_size_bytes = 12 + 13;
1766 updated_data1.foreign_fetch_scopes.clear(); 1766 updated_data1.foreign_fetch_scopes.clear();
1767 std::vector<Resource> updated_resources1; 1767 std::vector<Resource> updated_resources1;
1768 updated_resources1.push_back( 1768 updated_resources1.push_back(
1769 CreateResource(13, URL(origin1, "/resource3"), 12)); 1769 CreateResource(13, URL(origin1, "/resource3"), 12));
1770 updated_resources1.push_back( 1770 updated_resources1.push_back(
1771 CreateResource(14, URL(origin1, "/resource4"), 13)); 1771 CreateResource(14, URL(origin1, "/resource4"), 13));
1772 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 1772 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
1773 database->WriteRegistration(updated_data1, updated_resources1, 1773 database->WriteRegistration(updated_data1, updated_resources1,
1774 &deleted_version, 1774 &deleted_version,
1775 &newly_purgeable_resources)); 1775 &newly_purgeable_resources));
1776 1776
1777 origins.clear(); 1777 origins.clear();
1778 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, 1778 EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK,
1779 database->GetOriginsWithForeignFetchRegistrations(&origins)); 1779 database->GetOriginsWithForeignFetchRegistrations(&origins));
1780 EXPECT_EQ(0U, origins.size()); 1780 EXPECT_EQ(0U, origins.size());
1781 } 1781 }
1782 1782
1783 } // namespace content 1783 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698