| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_storage.h" | 5 #include "content/browser/service_worker/service_worker_storage.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 571 std::vector<scoped_refptr<ServiceWorkerRegistration>> found_registrations; | 571 std::vector<scoped_refptr<ServiceWorkerRegistration>> found_registrations; |
| 572 EXPECT_EQ( | 572 EXPECT_EQ( |
| 573 SERVICE_WORKER_ERROR_ABORT, | 573 SERVICE_WORKER_ERROR_ABORT, |
| 574 GetRegistrationsForOrigin(kScope.GetOrigin(), &found_registrations)); | 574 GetRegistrationsForOrigin(kScope.GetOrigin(), &found_registrations)); |
| 575 | 575 |
| 576 std::vector<ServiceWorkerRegistrationInfo> all_registrations; | 576 std::vector<ServiceWorkerRegistrationInfo> all_registrations; |
| 577 EXPECT_EQ(SERVICE_WORKER_ERROR_ABORT, | 577 EXPECT_EQ(SERVICE_WORKER_ERROR_ABORT, |
| 578 GetAllRegistrationsInfos(&all_registrations)); | 578 GetAllRegistrationsInfos(&all_registrations)); |
| 579 | 579 |
| 580 scoped_refptr<ServiceWorkerRegistration> live_registration = | 580 scoped_refptr<ServiceWorkerRegistration> live_registration = |
| 581 new ServiceWorkerRegistration(kScope, kRegistrationId, | 581 new ServiceWorkerRegistration(kScope, false /* use_cache */, |
| 582 context()->AsWeakPtr()); | 582 kRegistrationId, context()->AsWeakPtr()); |
| 583 scoped_refptr<ServiceWorkerVersion> live_version = new ServiceWorkerVersion( | 583 scoped_refptr<ServiceWorkerVersion> live_version = new ServiceWorkerVersion( |
| 584 live_registration.get(), kScript, kVersionId, context()->AsWeakPtr()); | 584 live_registration.get(), kScript, kVersionId, context()->AsWeakPtr()); |
| 585 EXPECT_EQ(SERVICE_WORKER_ERROR_ABORT, | 585 EXPECT_EQ(SERVICE_WORKER_ERROR_ABORT, |
| 586 StoreRegistration(live_registration, live_version)); | 586 StoreRegistration(live_registration, live_version)); |
| 587 | 587 |
| 588 EXPECT_EQ(SERVICE_WORKER_ERROR_ABORT, UpdateToActiveState(live_registration)); | 588 EXPECT_EQ(SERVICE_WORKER_ERROR_ABORT, UpdateToActiveState(live_registration)); |
| 589 | 589 |
| 590 EXPECT_EQ(SERVICE_WORKER_ERROR_ABORT, | 590 EXPECT_EQ(SERVICE_WORKER_ERROR_ABORT, |
| 591 DeleteRegistration(kRegistrationId, kScope.GetOrigin())); | 591 DeleteRegistration(kRegistrationId, kScope.GetOrigin())); |
| 592 | 592 |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 655 EXPECT_FALSE(found_registration.get()); | 655 EXPECT_FALSE(found_registration.get()); |
| 656 | 656 |
| 657 std::vector<ServiceWorkerDatabase::ResourceRecord> resources; | 657 std::vector<ServiceWorkerDatabase::ResourceRecord> resources; |
| 658 resources.push_back( | 658 resources.push_back( |
| 659 ServiceWorkerDatabase::ResourceRecord(1, kResource1, kResource1Size)); | 659 ServiceWorkerDatabase::ResourceRecord(1, kResource1, kResource1Size)); |
| 660 resources.push_back( | 660 resources.push_back( |
| 661 ServiceWorkerDatabase::ResourceRecord(2, kResource2, kResource2Size)); | 661 ServiceWorkerDatabase::ResourceRecord(2, kResource2, kResource2Size)); |
| 662 | 662 |
| 663 // Store something. | 663 // Store something. |
| 664 scoped_refptr<ServiceWorkerRegistration> live_registration = | 664 scoped_refptr<ServiceWorkerRegistration> live_registration = |
| 665 new ServiceWorkerRegistration(kScope, kRegistrationId, | 665 new ServiceWorkerRegistration(kScope, false /* use_cache */, |
| 666 context()->AsWeakPtr()); | 666 kRegistrationId, context()->AsWeakPtr()); |
| 667 scoped_refptr<ServiceWorkerVersion> live_version = new ServiceWorkerVersion( | 667 scoped_refptr<ServiceWorkerVersion> live_version = new ServiceWorkerVersion( |
| 668 live_registration.get(), kResource1, kVersionId, context()->AsWeakPtr()); | 668 live_registration.get(), kResource1, kVersionId, context()->AsWeakPtr()); |
| 669 live_version->set_fetch_handler_existence( | 669 live_version->set_fetch_handler_existence( |
| 670 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); | 670 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); |
| 671 live_version->SetStatus(ServiceWorkerVersion::INSTALLED); | 671 live_version->SetStatus(ServiceWorkerVersion::INSTALLED); |
| 672 live_version->script_cache_map()->SetResources(resources); | 672 live_version->script_cache_map()->SetResources(resources); |
| 673 live_version->set_foreign_fetch_scopes( | 673 live_version->set_foreign_fetch_scopes( |
| 674 std::vector<GURL>(1, kForeignFetchScope)); | 674 std::vector<GURL>(1, kForeignFetchScope)); |
| 675 live_version->set_foreign_fetch_origins( | 675 live_version->set_foreign_fetch_origins( |
| 676 std::vector<url::Origin>(1, kForeignFetchOrigin)); | 676 std::vector<url::Origin>(1, kForeignFetchOrigin)); |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 783 found_registration->SetActiveVersion(temp_version); | 783 found_registration->SetActiveVersion(temp_version); |
| 784 temp_version = NULL; | 784 temp_version = NULL; |
| 785 EXPECT_EQ(SERVICE_WORKER_OK, UpdateToActiveState(found_registration)); | 785 EXPECT_EQ(SERVICE_WORKER_OK, UpdateToActiveState(found_registration)); |
| 786 found_registration->set_last_update_check(kToday); | 786 found_registration->set_last_update_check(kToday); |
| 787 UpdateLastUpdateCheckTime(found_registration.get()); | 787 UpdateLastUpdateCheckTime(found_registration.get()); |
| 788 | 788 |
| 789 found_registration = NULL; | 789 found_registration = NULL; |
| 790 | 790 |
| 791 // Trying to update a unstored registration to active should fail. | 791 // Trying to update a unstored registration to active should fail. |
| 792 scoped_refptr<ServiceWorkerRegistration> unstored_registration = | 792 scoped_refptr<ServiceWorkerRegistration> unstored_registration = |
| 793 new ServiceWorkerRegistration(kScope, kRegistrationId + 1, | 793 new ServiceWorkerRegistration(kScope, false /* use_cache */, |
| 794 kRegistrationId + 1, |
| 794 context()->AsWeakPtr()); | 795 context()->AsWeakPtr()); |
| 795 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, | 796 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, |
| 796 UpdateToActiveState(unstored_registration)); | 797 UpdateToActiveState(unstored_registration)); |
| 797 unstored_registration = NULL; | 798 unstored_registration = NULL; |
| 798 | 799 |
| 799 // The Find methods should return a registration with an active version | 800 // The Find methods should return a registration with an active version |
| 800 // and the expected update time. | 801 // and the expected update time. |
| 801 EXPECT_EQ(SERVICE_WORKER_OK, | 802 EXPECT_EQ(SERVICE_WORKER_OK, |
| 802 FindRegistrationForDocument(kDocumentUrl, &found_registration)); | 803 FindRegistrationForDocument(kDocumentUrl, &found_registration)); |
| 803 ASSERT_TRUE(found_registration.get()); | 804 ASSERT_TRUE(found_registration.get()); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 833 const GURL kScope("http://www.test.not/scope/"); | 834 const GURL kScope("http://www.test.not/scope/"); |
| 834 const GURL kScript("http://www.test.not/script.js"); | 835 const GURL kScript("http://www.test.not/script.js"); |
| 835 const GURL kDocumentUrl("http://www.test.not/scope/document.html"); | 836 const GURL kDocumentUrl("http://www.test.not/scope/document.html"); |
| 836 const int64_t kRegistrationId = 0; | 837 const int64_t kRegistrationId = 0; |
| 837 const int64_t kVersionId = 0; | 838 const int64_t kVersionId = 0; |
| 838 | 839 |
| 839 scoped_refptr<ServiceWorkerRegistration> found_registration; | 840 scoped_refptr<ServiceWorkerRegistration> found_registration; |
| 840 | 841 |
| 841 // Create an unstored registration. | 842 // Create an unstored registration. |
| 842 scoped_refptr<ServiceWorkerRegistration> live_registration = | 843 scoped_refptr<ServiceWorkerRegistration> live_registration = |
| 843 new ServiceWorkerRegistration(kScope, kRegistrationId, | 844 new ServiceWorkerRegistration(kScope, false /* use_cache */, |
| 844 context()->AsWeakPtr()); | 845 kRegistrationId, context()->AsWeakPtr()); |
| 845 scoped_refptr<ServiceWorkerVersion> live_version = new ServiceWorkerVersion( | 846 scoped_refptr<ServiceWorkerVersion> live_version = new ServiceWorkerVersion( |
| 846 live_registration.get(), kScript, kVersionId, context()->AsWeakPtr()); | 847 live_registration.get(), kScript, kVersionId, context()->AsWeakPtr()); |
| 847 live_version->SetStatus(ServiceWorkerVersion::INSTALLING); | 848 live_version->SetStatus(ServiceWorkerVersion::INSTALLING); |
| 848 live_registration->SetWaitingVersion(live_version); | 849 live_registration->SetWaitingVersion(live_version); |
| 849 | 850 |
| 850 // Should not be findable, including by GetAllRegistrationsInfos. | 851 // Should not be findable, including by GetAllRegistrationsInfos. |
| 851 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, | 852 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, |
| 852 FindRegistrationForId( | 853 FindRegistrationForId( |
| 853 kRegistrationId, kScope.GetOrigin(), &found_registration)); | 854 kRegistrationId, kScope.GetOrigin(), &found_registration)); |
| 854 EXPECT_FALSE(found_registration.get()); | 855 EXPECT_FALSE(found_registration.get()); |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 961 TEST_F(ServiceWorkerStorageTest, StoreUserData) { | 962 TEST_F(ServiceWorkerStorageTest, StoreUserData) { |
| 962 const GURL kScope("http://www.test.not/scope/"); | 963 const GURL kScope("http://www.test.not/scope/"); |
| 963 const GURL kScript("http://www.test.not/script.js"); | 964 const GURL kScript("http://www.test.not/script.js"); |
| 964 const int64_t kRegistrationId = 0; | 965 const int64_t kRegistrationId = 0; |
| 965 const int64_t kVersionId = 0; | 966 const int64_t kVersionId = 0; |
| 966 | 967 |
| 967 LazyInitialize(); | 968 LazyInitialize(); |
| 968 | 969 |
| 969 // Store a registration. | 970 // Store a registration. |
| 970 scoped_refptr<ServiceWorkerRegistration> live_registration = | 971 scoped_refptr<ServiceWorkerRegistration> live_registration = |
| 971 new ServiceWorkerRegistration(kScope, kRegistrationId, | 972 new ServiceWorkerRegistration(kScope, false /* use_cache */, |
| 972 context()->AsWeakPtr()); | 973 kRegistrationId, context()->AsWeakPtr()); |
| 973 scoped_refptr<ServiceWorkerVersion> live_version = new ServiceWorkerVersion( | 974 scoped_refptr<ServiceWorkerVersion> live_version = new ServiceWorkerVersion( |
| 974 live_registration.get(), kScript, kVersionId, context()->AsWeakPtr()); | 975 live_registration.get(), kScript, kVersionId, context()->AsWeakPtr()); |
| 975 std::vector<ServiceWorkerDatabase::ResourceRecord> records; | 976 std::vector<ServiceWorkerDatabase::ResourceRecord> records; |
| 976 records.push_back(ServiceWorkerDatabase::ResourceRecord( | 977 records.push_back(ServiceWorkerDatabase::ResourceRecord( |
| 977 1, live_version->script_url(), 100)); | 978 1, live_version->script_url(), 100)); |
| 978 live_version->script_cache_map()->SetResources(records); | 979 live_version->script_cache_map()->SetResources(records); |
| 979 live_version->set_fetch_handler_existence( | 980 live_version->set_fetch_handler_existence( |
| 980 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); | 981 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); |
| 981 live_version->SetStatus(ServiceWorkerVersion::INSTALLED); | 982 live_version->SetStatus(ServiceWorkerVersion::INSTALLED); |
| 982 live_registration->SetWaitingVersion(live_version); | 983 live_registration->SetWaitingVersion(live_version); |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1140 version_id_ = storage()->NewVersionId(); | 1141 version_id_ = storage()->NewVersionId(); |
| 1141 resource_id1_ = storage()->NewResourceId(); | 1142 resource_id1_ = storage()->NewResourceId(); |
| 1142 resource_id2_ = storage()->NewResourceId(); | 1143 resource_id2_ = storage()->NewResourceId(); |
| 1143 resource_id1_size_ = 239193; | 1144 resource_id1_size_ = 239193; |
| 1144 resource_id2_size_ = 59923; | 1145 resource_id2_size_ = 59923; |
| 1145 | 1146 |
| 1146 // Cons up a new registration+version with two script resources. | 1147 // Cons up a new registration+version with two script resources. |
| 1147 RegistrationData data; | 1148 RegistrationData data; |
| 1148 data.registration_id = registration_id_; | 1149 data.registration_id = registration_id_; |
| 1149 data.scope = scope_; | 1150 data.scope = scope_; |
| 1151 data.use_cache = false; |
| 1150 data.script = script_; | 1152 data.script = script_; |
| 1151 data.version_id = version_id_; | 1153 data.version_id = version_id_; |
| 1152 data.is_active = false; | 1154 data.is_active = false; |
| 1153 std::vector<ResourceRecord> resources; | 1155 std::vector<ResourceRecord> resources; |
| 1154 resources.push_back( | 1156 resources.push_back( |
| 1155 ResourceRecord(resource_id1_, script_, resource_id1_size_)); | 1157 ResourceRecord(resource_id1_, script_, resource_id1_size_)); |
| 1156 resources.push_back( | 1158 resources.push_back( |
| 1157 ResourceRecord(resource_id2_, import_, resource_id2_size_)); | 1159 ResourceRecord(resource_id2_, import_, resource_id2_size_)); |
| 1158 registration_ = storage()->GetOrCreateRegistration(data, resources); | 1160 registration_ = storage()->GetOrCreateRegistration(data, resources); |
| 1159 registration_->waiting_version()->SetStatus(ServiceWorkerVersion::NEW); | 1161 registration_->waiting_version()->SetStatus(ServiceWorkerVersion::NEW); |
| (...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1615 TEST_F(ServiceWorkerStorageTest, FindRegistration_LongestScopeMatch) { | 1617 TEST_F(ServiceWorkerStorageTest, FindRegistration_LongestScopeMatch) { |
| 1616 const GURL kDocumentUrl("http://www.example.com/scope/foo"); | 1618 const GURL kDocumentUrl("http://www.example.com/scope/foo"); |
| 1617 scoped_refptr<ServiceWorkerRegistration> found_registration; | 1619 scoped_refptr<ServiceWorkerRegistration> found_registration; |
| 1618 | 1620 |
| 1619 // Registration for "/scope/". | 1621 // Registration for "/scope/". |
| 1620 const GURL kScope1("http://www.example.com/scope/"); | 1622 const GURL kScope1("http://www.example.com/scope/"); |
| 1621 const GURL kScript1("http://www.example.com/script1.js"); | 1623 const GURL kScript1("http://www.example.com/script1.js"); |
| 1622 const int64_t kRegistrationId1 = 1; | 1624 const int64_t kRegistrationId1 = 1; |
| 1623 const int64_t kVersionId1 = 1; | 1625 const int64_t kVersionId1 = 1; |
| 1624 scoped_refptr<ServiceWorkerRegistration> live_registration1 = | 1626 scoped_refptr<ServiceWorkerRegistration> live_registration1 = |
| 1625 new ServiceWorkerRegistration(kScope1, kRegistrationId1, | 1627 new ServiceWorkerRegistration(kScope1, false /* use_cache */, |
| 1626 context()->AsWeakPtr()); | 1628 kRegistrationId1, context()->AsWeakPtr()); |
| 1627 scoped_refptr<ServiceWorkerVersion> live_version1 = new ServiceWorkerVersion( | 1629 scoped_refptr<ServiceWorkerVersion> live_version1 = new ServiceWorkerVersion( |
| 1628 live_registration1.get(), kScript1, kVersionId1, context()->AsWeakPtr()); | 1630 live_registration1.get(), kScript1, kVersionId1, context()->AsWeakPtr()); |
| 1629 std::vector<ServiceWorkerDatabase::ResourceRecord> records1; | 1631 std::vector<ServiceWorkerDatabase::ResourceRecord> records1; |
| 1630 records1.push_back(ServiceWorkerDatabase::ResourceRecord( | 1632 records1.push_back(ServiceWorkerDatabase::ResourceRecord( |
| 1631 1, live_version1->script_url(), 100)); | 1633 1, live_version1->script_url(), 100)); |
| 1632 live_version1->script_cache_map()->SetResources(records1); | 1634 live_version1->script_cache_map()->SetResources(records1); |
| 1633 live_version1->set_fetch_handler_existence( | 1635 live_version1->set_fetch_handler_existence( |
| 1634 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); | 1636 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); |
| 1635 live_version1->SetStatus(ServiceWorkerVersion::INSTALLED); | 1637 live_version1->SetStatus(ServiceWorkerVersion::INSTALLED); |
| 1636 live_registration1->SetWaitingVersion(live_version1); | 1638 live_registration1->SetWaitingVersion(live_version1); |
| 1637 | 1639 |
| 1638 // Registration for "/scope/foo". | 1640 // Registration for "/scope/foo". |
| 1639 const GURL kScope2("http://www.example.com/scope/foo"); | 1641 const GURL kScope2("http://www.example.com/scope/foo"); |
| 1640 const GURL kScript2("http://www.example.com/script2.js"); | 1642 const GURL kScript2("http://www.example.com/script2.js"); |
| 1641 const int64_t kRegistrationId2 = 2; | 1643 const int64_t kRegistrationId2 = 2; |
| 1642 const int64_t kVersionId2 = 2; | 1644 const int64_t kVersionId2 = 2; |
| 1643 scoped_refptr<ServiceWorkerRegistration> live_registration2 = | 1645 scoped_refptr<ServiceWorkerRegistration> live_registration2 = |
| 1644 new ServiceWorkerRegistration(kScope2, kRegistrationId2, | 1646 new ServiceWorkerRegistration(kScope2, false /* use_cache */, |
| 1645 context()->AsWeakPtr()); | 1647 kRegistrationId2, context()->AsWeakPtr()); |
| 1646 scoped_refptr<ServiceWorkerVersion> live_version2 = new ServiceWorkerVersion( | 1648 scoped_refptr<ServiceWorkerVersion> live_version2 = new ServiceWorkerVersion( |
| 1647 live_registration2.get(), kScript2, kVersionId2, context()->AsWeakPtr()); | 1649 live_registration2.get(), kScript2, kVersionId2, context()->AsWeakPtr()); |
| 1648 std::vector<ServiceWorkerDatabase::ResourceRecord> records2; | 1650 std::vector<ServiceWorkerDatabase::ResourceRecord> records2; |
| 1649 records2.push_back(ServiceWorkerDatabase::ResourceRecord( | 1651 records2.push_back(ServiceWorkerDatabase::ResourceRecord( |
| 1650 2, live_version2->script_url(), 100)); | 1652 2, live_version2->script_url(), 100)); |
| 1651 live_version2->script_cache_map()->SetResources(records2); | 1653 live_version2->script_cache_map()->SetResources(records2); |
| 1652 live_version2->set_fetch_handler_existence( | 1654 live_version2->set_fetch_handler_existence( |
| 1653 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); | 1655 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); |
| 1654 live_version2->SetStatus(ServiceWorkerVersion::INSTALLED); | 1656 live_version2->SetStatus(ServiceWorkerVersion::INSTALLED); |
| 1655 live_registration2->SetWaitingVersion(live_version2); | 1657 live_registration2->SetWaitingVersion(live_version2); |
| 1656 | 1658 |
| 1657 // Registration for "/scope/foobar". | 1659 // Registration for "/scope/foobar". |
| 1658 const GURL kScope3("http://www.example.com/scope/foobar"); | 1660 const GURL kScope3("http://www.example.com/scope/foobar"); |
| 1659 const GURL kScript3("http://www.example.com/script3.js"); | 1661 const GURL kScript3("http://www.example.com/script3.js"); |
| 1660 const int64_t kRegistrationId3 = 3; | 1662 const int64_t kRegistrationId3 = 3; |
| 1661 const int64_t kVersionId3 = 3; | 1663 const int64_t kVersionId3 = 3; |
| 1662 scoped_refptr<ServiceWorkerRegistration> live_registration3 = | 1664 scoped_refptr<ServiceWorkerRegistration> live_registration3 = |
| 1663 new ServiceWorkerRegistration(kScope3, kRegistrationId3, | 1665 new ServiceWorkerRegistration(kScope3, false /* use_cache */, |
| 1664 context()->AsWeakPtr()); | 1666 kRegistrationId3, context()->AsWeakPtr()); |
| 1665 scoped_refptr<ServiceWorkerVersion> live_version3 = new ServiceWorkerVersion( | 1667 scoped_refptr<ServiceWorkerVersion> live_version3 = new ServiceWorkerVersion( |
| 1666 live_registration3.get(), kScript3, kVersionId3, context()->AsWeakPtr()); | 1668 live_registration3.get(), kScript3, kVersionId3, context()->AsWeakPtr()); |
| 1667 std::vector<ServiceWorkerDatabase::ResourceRecord> records3; | 1669 std::vector<ServiceWorkerDatabase::ResourceRecord> records3; |
| 1668 records3.push_back(ServiceWorkerDatabase::ResourceRecord( | 1670 records3.push_back(ServiceWorkerDatabase::ResourceRecord( |
| 1669 3, live_version3->script_url(), 100)); | 1671 3, live_version3->script_url(), 100)); |
| 1670 live_version3->script_cache_map()->SetResources(records3); | 1672 live_version3->script_cache_map()->SetResources(records3); |
| 1671 live_version3->set_fetch_handler_existence( | 1673 live_version3->set_fetch_handler_existence( |
| 1672 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); | 1674 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); |
| 1673 live_version3->SetStatus(ServiceWorkerVersion::INSTALLED); | 1675 live_version3->SetStatus(ServiceWorkerVersion::INSTALLED); |
| 1674 live_registration3->SetWaitingVersion(live_version3); | 1676 live_registration3->SetWaitingVersion(live_version3); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1718 | 1720 |
| 1719 TEST_F(ServiceWorkerStorageDiskTest, OriginHasForeignFetchRegistrations) { | 1721 TEST_F(ServiceWorkerStorageDiskTest, OriginHasForeignFetchRegistrations) { |
| 1720 LazyInitialize(); | 1722 LazyInitialize(); |
| 1721 | 1723 |
| 1722 // Registration 1 for http://www.example.com | 1724 // Registration 1 for http://www.example.com |
| 1723 const GURL kScope1("http://www.example.com/scope/"); | 1725 const GURL kScope1("http://www.example.com/scope/"); |
| 1724 const GURL kScript1("http://www.example.com/script1.js"); | 1726 const GURL kScript1("http://www.example.com/script1.js"); |
| 1725 const int64_t kRegistrationId1 = 1; | 1727 const int64_t kRegistrationId1 = 1; |
| 1726 const int64_t kVersionId1 = 1; | 1728 const int64_t kVersionId1 = 1; |
| 1727 scoped_refptr<ServiceWorkerRegistration> live_registration1 = | 1729 scoped_refptr<ServiceWorkerRegistration> live_registration1 = |
| 1728 new ServiceWorkerRegistration(kScope1, kRegistrationId1, | 1730 new ServiceWorkerRegistration(kScope1, false /* use_cache */, |
| 1729 context()->AsWeakPtr()); | 1731 kRegistrationId1, context()->AsWeakPtr()); |
| 1730 scoped_refptr<ServiceWorkerVersion> live_version1 = new ServiceWorkerVersion( | 1732 scoped_refptr<ServiceWorkerVersion> live_version1 = new ServiceWorkerVersion( |
| 1731 live_registration1.get(), kScript1, kVersionId1, context()->AsWeakPtr()); | 1733 live_registration1.get(), kScript1, kVersionId1, context()->AsWeakPtr()); |
| 1732 std::vector<ServiceWorkerDatabase::ResourceRecord> records1; | 1734 std::vector<ServiceWorkerDatabase::ResourceRecord> records1; |
| 1733 records1.push_back(ServiceWorkerDatabase::ResourceRecord( | 1735 records1.push_back(ServiceWorkerDatabase::ResourceRecord( |
| 1734 1, live_version1->script_url(), 100)); | 1736 1, live_version1->script_url(), 100)); |
| 1735 live_version1->script_cache_map()->SetResources(records1); | 1737 live_version1->script_cache_map()->SetResources(records1); |
| 1736 live_version1->set_fetch_handler_existence( | 1738 live_version1->set_fetch_handler_existence( |
| 1737 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); | 1739 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); |
| 1738 live_version1->SetStatus(ServiceWorkerVersion::INSTALLED); | 1740 live_version1->SetStatus(ServiceWorkerVersion::INSTALLED); |
| 1739 live_version1->set_foreign_fetch_scopes(std::vector<GURL>(1, kScope1)); | 1741 live_version1->set_foreign_fetch_scopes(std::vector<GURL>(1, kScope1)); |
| 1740 live_registration1->SetWaitingVersion(live_version1); | 1742 live_registration1->SetWaitingVersion(live_version1); |
| 1741 | 1743 |
| 1742 // Registration 2 for http://www.example.com | 1744 // Registration 2 for http://www.example.com |
| 1743 const GURL kScope2("http://www.example.com/scope/foo"); | 1745 const GURL kScope2("http://www.example.com/scope/foo"); |
| 1744 const GURL kScript2("http://www.example.com/script2.js"); | 1746 const GURL kScript2("http://www.example.com/script2.js"); |
| 1745 const int64_t kRegistrationId2 = 2; | 1747 const int64_t kRegistrationId2 = 2; |
| 1746 const int64_t kVersionId2 = 2; | 1748 const int64_t kVersionId2 = 2; |
| 1747 scoped_refptr<ServiceWorkerRegistration> live_registration2 = | 1749 scoped_refptr<ServiceWorkerRegistration> live_registration2 = |
| 1748 new ServiceWorkerRegistration(kScope2, kRegistrationId2, | 1750 new ServiceWorkerRegistration(kScope2, false /* use_cache */, |
| 1749 context()->AsWeakPtr()); | 1751 kRegistrationId2, context()->AsWeakPtr()); |
| 1750 scoped_refptr<ServiceWorkerVersion> live_version2 = new ServiceWorkerVersion( | 1752 scoped_refptr<ServiceWorkerVersion> live_version2 = new ServiceWorkerVersion( |
| 1751 live_registration2.get(), kScript2, kVersionId2, context()->AsWeakPtr()); | 1753 live_registration2.get(), kScript2, kVersionId2, context()->AsWeakPtr()); |
| 1752 std::vector<ServiceWorkerDatabase::ResourceRecord> records2; | 1754 std::vector<ServiceWorkerDatabase::ResourceRecord> records2; |
| 1753 records2.push_back(ServiceWorkerDatabase::ResourceRecord( | 1755 records2.push_back(ServiceWorkerDatabase::ResourceRecord( |
| 1754 2, live_version2->script_url(), 100)); | 1756 2, live_version2->script_url(), 100)); |
| 1755 live_version2->script_cache_map()->SetResources(records2); | 1757 live_version2->script_cache_map()->SetResources(records2); |
| 1756 live_version2->set_fetch_handler_existence( | 1758 live_version2->set_fetch_handler_existence( |
| 1757 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); | 1759 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); |
| 1758 live_version2->SetStatus(ServiceWorkerVersion::INSTALLED); | 1760 live_version2->SetStatus(ServiceWorkerVersion::INSTALLED); |
| 1759 live_version2->set_foreign_fetch_scopes(std::vector<GURL>(1, kScope2)); | 1761 live_version2->set_foreign_fetch_scopes(std::vector<GURL>(1, kScope2)); |
| 1760 live_registration2->SetWaitingVersion(live_version2); | 1762 live_registration2->SetWaitingVersion(live_version2); |
| 1761 | 1763 |
| 1762 // Registration for http://www.test.com | 1764 // Registration for http://www.test.com |
| 1763 const GURL kScope3("http://www.test.com/scope/foobar"); | 1765 const GURL kScope3("http://www.test.com/scope/foobar"); |
| 1764 const GURL kScript3("http://www.test.com/script3.js"); | 1766 const GURL kScript3("http://www.test.com/script3.js"); |
| 1765 const int64_t kRegistrationId3 = 3; | 1767 const int64_t kRegistrationId3 = 3; |
| 1766 const int64_t kVersionId3 = 3; | 1768 const int64_t kVersionId3 = 3; |
| 1767 scoped_refptr<ServiceWorkerRegistration> live_registration3 = | 1769 scoped_refptr<ServiceWorkerRegistration> live_registration3 = |
| 1768 new ServiceWorkerRegistration(kScope3, kRegistrationId3, | 1770 new ServiceWorkerRegistration(kScope3, false /* use_cache */, |
| 1769 context()->AsWeakPtr()); | 1771 kRegistrationId3, context()->AsWeakPtr()); |
| 1770 scoped_refptr<ServiceWorkerVersion> live_version3 = new ServiceWorkerVersion( | 1772 scoped_refptr<ServiceWorkerVersion> live_version3 = new ServiceWorkerVersion( |
| 1771 live_registration3.get(), kScript3, kVersionId3, context()->AsWeakPtr()); | 1773 live_registration3.get(), kScript3, kVersionId3, context()->AsWeakPtr()); |
| 1772 std::vector<ServiceWorkerDatabase::ResourceRecord> records3; | 1774 std::vector<ServiceWorkerDatabase::ResourceRecord> records3; |
| 1773 records3.push_back(ServiceWorkerDatabase::ResourceRecord( | 1775 records3.push_back(ServiceWorkerDatabase::ResourceRecord( |
| 1774 3, live_version3->script_url(), 100)); | 1776 3, live_version3->script_url(), 100)); |
| 1775 live_version3->script_cache_map()->SetResources(records3); | 1777 live_version3->script_cache_map()->SetResources(records3); |
| 1776 live_version3->set_fetch_handler_existence( | 1778 live_version3->set_fetch_handler_existence( |
| 1777 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); | 1779 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); |
| 1778 live_version3->SetStatus(ServiceWorkerVersion::INSTALLED); | 1780 live_version3->SetStatus(ServiceWorkerVersion::INSTALLED); |
| 1779 live_registration3->SetWaitingVersion(live_version3); | 1781 live_registration3->SetWaitingVersion(live_version3); |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1911 TestContentClient test_content_client_; | 1913 TestContentClient test_content_client_; |
| 1912 }; | 1914 }; |
| 1913 | 1915 |
| 1914 TEST_F(ServiceWorkerStorageOriginTrialsDiskTest, FromMainScript) { | 1916 TEST_F(ServiceWorkerStorageOriginTrialsDiskTest, FromMainScript) { |
| 1915 LazyInitialize(); | 1917 LazyInitialize(); |
| 1916 const GURL kScope("https://valid.example.com/scope"); | 1918 const GURL kScope("https://valid.example.com/scope"); |
| 1917 const GURL kScript("https://valid.example.com/script.js"); | 1919 const GURL kScript("https://valid.example.com/script.js"); |
| 1918 const int64_t kRegistrationId = 1; | 1920 const int64_t kRegistrationId = 1; |
| 1919 const int64_t kVersionId = 1; | 1921 const int64_t kVersionId = 1; |
| 1920 scoped_refptr<ServiceWorkerRegistration> registration = | 1922 scoped_refptr<ServiceWorkerRegistration> registration = |
| 1921 new ServiceWorkerRegistration(kScope, kRegistrationId, | 1923 new ServiceWorkerRegistration(kScope, false /* use_cache */, |
| 1922 context()->AsWeakPtr()); | 1924 kRegistrationId, context()->AsWeakPtr()); |
| 1923 scoped_refptr<ServiceWorkerVersion> version = new ServiceWorkerVersion( | 1925 scoped_refptr<ServiceWorkerVersion> version = new ServiceWorkerVersion( |
| 1924 registration.get(), kScript, kVersionId, context()->AsWeakPtr()); | 1926 registration.get(), kScript, kVersionId, context()->AsWeakPtr()); |
| 1925 | 1927 |
| 1926 net::HttpResponseInfo http_info; | 1928 net::HttpResponseInfo http_info; |
| 1927 http_info.ssl_info.cert = | 1929 http_info.ssl_info.cert = |
| 1928 net::ImportCertFromFile(net::GetTestCertsDirectory(), "ok_cert.pem"); | 1930 net::ImportCertFromFile(net::GetTestCertsDirectory(), "ok_cert.pem"); |
| 1929 EXPECT_TRUE(http_info.ssl_info.is_valid()); | 1931 EXPECT_TRUE(http_info.ssl_info.is_valid()); |
| 1930 http_info.ssl_info.security_bits = 0x100; | 1932 http_info.ssl_info.security_bits = 0x100; |
| 1931 // SSL3 TLS_DHE_RSA_WITH_AES_256_CBC_SHA | 1933 // SSL3 TLS_DHE_RSA_WITH_AES_256_CBC_SHA |
| 1932 http_info.ssl_info.connection_status = 0x300039; | 1934 http_info.ssl_info.connection_status = 0x300039; |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2039 | 2041 |
| 2040 // Tests loading a registration with a disabled navigation preload | 2042 // Tests loading a registration with a disabled navigation preload |
| 2041 // state. | 2043 // state. |
| 2042 TEST_F(ServiceWorkerStorageDiskTest, DisabledNavigationPreloadState) { | 2044 TEST_F(ServiceWorkerStorageDiskTest, DisabledNavigationPreloadState) { |
| 2043 LazyInitialize(); | 2045 LazyInitialize(); |
| 2044 const GURL kScope("https://valid.example.com/scope"); | 2046 const GURL kScope("https://valid.example.com/scope"); |
| 2045 const GURL kScript("https://valid.example.com/script.js"); | 2047 const GURL kScript("https://valid.example.com/script.js"); |
| 2046 const int64_t kRegistrationId = 1; | 2048 const int64_t kRegistrationId = 1; |
| 2047 const int64_t kVersionId = 1; | 2049 const int64_t kVersionId = 1; |
| 2048 scoped_refptr<ServiceWorkerRegistration> registration = | 2050 scoped_refptr<ServiceWorkerRegistration> registration = |
| 2049 new ServiceWorkerRegistration(kScope, kRegistrationId, | 2051 new ServiceWorkerRegistration(kScope, false /* use_cache */, |
| 2050 context()->AsWeakPtr()); | 2052 kRegistrationId, context()->AsWeakPtr()); |
| 2051 scoped_refptr<ServiceWorkerVersion> version = new ServiceWorkerVersion( | 2053 scoped_refptr<ServiceWorkerVersion> version = new ServiceWorkerVersion( |
| 2052 registration.get(), kScript, kVersionId, context()->AsWeakPtr()); | 2054 registration.get(), kScript, kVersionId, context()->AsWeakPtr()); |
| 2053 | 2055 |
| 2054 std::vector<ServiceWorkerDatabase::ResourceRecord> record; | 2056 std::vector<ServiceWorkerDatabase::ResourceRecord> record; |
| 2055 record.push_back(ServiceWorkerDatabase::ResourceRecord(1, kScript, 100)); | 2057 record.push_back(ServiceWorkerDatabase::ResourceRecord(1, kScript, 100)); |
| 2056 version->script_cache_map()->SetResources(record); | 2058 version->script_cache_map()->SetResources(record); |
| 2057 version->set_fetch_handler_existence( | 2059 version->set_fetch_handler_existence( |
| 2058 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); | 2060 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); |
| 2059 version->SetStatus(ServiceWorkerVersion::ACTIVATED); | 2061 version->SetStatus(ServiceWorkerVersion::ACTIVATED); |
| 2060 registration->SetActiveVersion(version); | 2062 registration->SetActiveVersion(version); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 2085 // Tests loading a registration with an enabled navigation preload state, as | 2087 // Tests loading a registration with an enabled navigation preload state, as |
| 2086 // well as a custom header value. | 2088 // well as a custom header value. |
| 2087 TEST_F(ServiceWorkerStorageDiskTest, EnabledNavigationPreloadState) { | 2089 TEST_F(ServiceWorkerStorageDiskTest, EnabledNavigationPreloadState) { |
| 2088 LazyInitialize(); | 2090 LazyInitialize(); |
| 2089 const GURL kScope("https://valid.example.com/scope"); | 2091 const GURL kScope("https://valid.example.com/scope"); |
| 2090 const GURL kScript("https://valid.example.com/script.js"); | 2092 const GURL kScript("https://valid.example.com/script.js"); |
| 2091 const std::string kHeaderValue("custom header value"); | 2093 const std::string kHeaderValue("custom header value"); |
| 2092 const int64_t kRegistrationId = 1; | 2094 const int64_t kRegistrationId = 1; |
| 2093 const int64_t kVersionId = 1; | 2095 const int64_t kVersionId = 1; |
| 2094 scoped_refptr<ServiceWorkerRegistration> registration = | 2096 scoped_refptr<ServiceWorkerRegistration> registration = |
| 2095 new ServiceWorkerRegistration(kScope, kRegistrationId, | 2097 new ServiceWorkerRegistration(kScope, false /* use_cache */, |
| 2096 context()->AsWeakPtr()); | 2098 kRegistrationId, context()->AsWeakPtr()); |
| 2097 scoped_refptr<ServiceWorkerVersion> version = new ServiceWorkerVersion( | 2099 scoped_refptr<ServiceWorkerVersion> version = new ServiceWorkerVersion( |
| 2098 registration.get(), kScript, kVersionId, context()->AsWeakPtr()); | 2100 registration.get(), kScript, kVersionId, context()->AsWeakPtr()); |
| 2099 | 2101 |
| 2100 std::vector<ServiceWorkerDatabase::ResourceRecord> record; | 2102 std::vector<ServiceWorkerDatabase::ResourceRecord> record; |
| 2101 record.push_back(ServiceWorkerDatabase::ResourceRecord(1, kScript, 100)); | 2103 record.push_back(ServiceWorkerDatabase::ResourceRecord(1, kScript, 100)); |
| 2102 version->script_cache_map()->SetResources(record); | 2104 version->script_cache_map()->SetResources(record); |
| 2103 version->set_fetch_handler_existence( | 2105 version->set_fetch_handler_existence( |
| 2104 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); | 2106 ServiceWorkerVersion::FetchHandlerExistence::EXISTS); |
| 2105 version->SetStatus(ServiceWorkerVersion::ACTIVATED); | 2107 version->SetStatus(ServiceWorkerVersion::ACTIVATED); |
| 2106 registration->SetActiveVersion(version); | 2108 registration->SetActiveVersion(version); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 2123 EXPECT_TRUE(registration_state.enabled); | 2125 EXPECT_TRUE(registration_state.enabled); |
| 2124 EXPECT_EQ(kHeaderValue, registration_state.header); | 2126 EXPECT_EQ(kHeaderValue, registration_state.header); |
| 2125 ASSERT_TRUE(found_registration->active_version()); | 2127 ASSERT_TRUE(found_registration->active_version()); |
| 2126 const NavigationPreloadState& state = | 2128 const NavigationPreloadState& state = |
| 2127 found_registration->active_version()->navigation_preload_state(); | 2129 found_registration->active_version()->navigation_preload_state(); |
| 2128 EXPECT_TRUE(state.enabled); | 2130 EXPECT_TRUE(state.enabled); |
| 2129 EXPECT_EQ(kHeaderValue, state.header); | 2131 EXPECT_EQ(kHeaderValue, state.header); |
| 2130 } | 2132 } |
| 2131 | 2133 |
| 2132 } // namespace content | 2134 } // namespace content |
| OLD | NEW |