diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-12-10 16:19:40 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-12-10 16:01:50 +0000 |
commit | 51f6c2793adab2d864b3d2b360000ef8db1d3e92 (patch) | |
tree | 835b3b4446b012c75e80177cef9fbe6972cc7dbe /chromium/content/browser/service_worker/service_worker_database_unittest.cc | |
parent | 6036726eb981b6c4b42047513b9d3f4ac865daac (diff) |
BASELINE: Update Chromium to 71.0.3578.93
Change-Id: I6a32086c33670e1b033f8b10e6bf1fd4da1d105d
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/content/browser/service_worker/service_worker_database_unittest.cc')
-rw-r--r-- | chromium/content/browser/service_worker/service_worker_database_unittest.cc | 161 |
1 files changed, 116 insertions, 45 deletions
diff --git a/chromium/content/browser/service_worker/service_worker_database_unittest.cc b/chromium/content/browser/service_worker/service_worker_database_unittest.cc index 8b0dca82d17..011e30bfbad 100644 --- a/chromium/content/browser/service_worker/service_worker_database_unittest.cc +++ b/chromium/content/browser/service_worker/service_worker_database_unittest.cc @@ -9,7 +9,6 @@ #include <string> -#include "base/command_line.h" #include "base/files/file_util.h" #include "base/files/scoped_temp_dir.h" #include "base/macros.h" @@ -17,7 +16,6 @@ #include "base/strings/string_number_conversions.h" #include "content/browser/service_worker/service_worker_database.pb.h" #include "content/common/service_worker/service_worker_types.h" -#include "content/public/common/content_switches.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" #include "third_party/blink/public/mojom/service_worker/service_worker_object.mojom.h" @@ -72,14 +70,15 @@ void VerifyRegistrationData(const RegistrationData& expected, EXPECT_EQ(expected.registration_id, actual.registration_id); EXPECT_EQ(expected.scope, actual.scope); EXPECT_EQ(expected.script, actual.script); + EXPECT_EQ(expected.script_type, actual.script_type); + EXPECT_EQ(expected.update_via_cache, actual.update_via_cache); EXPECT_EQ(expected.version_id, actual.version_id); EXPECT_EQ(expected.is_active, actual.is_active); EXPECT_EQ(expected.has_fetch_handler, actual.has_fetch_handler); EXPECT_EQ(expected.last_update_check, actual.last_update_check); + EXPECT_EQ(expected.used_features, actual.used_features); EXPECT_EQ(expected.resources_total_size_bytes, actual.resources_total_size_bytes); - EXPECT_EQ(expected.used_features, actual.used_features); - EXPECT_EQ(expected.update_via_cache, actual.update_via_cache); } void VerifyResourceRecords(const std::vector<Resource>& expected, @@ -126,7 +125,7 @@ TEST(ServiceWorkerDatabaseTest, OpenDatabase_InMemory) { } TEST(ServiceWorkerDatabaseTest, DatabaseVersion_ValidSchemaVersion) { - GURL origin("http://example.com"); + GURL origin("https://example.com"); std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->LazyOpen(true)); @@ -163,7 +162,7 @@ TEST(ServiceWorkerDatabaseTest, DatabaseVersion_ObsoleteSchemaVersion) { // First writing triggers database initialization and bumps the schema // version. - GURL origin("http://example.com"); + GURL origin("https://example.com"); std::vector<ServiceWorkerDatabase::ResourceRecord> resources; resources.push_back(CreateResource(1, URL(origin, "/resource"), 10)); ServiceWorkerDatabase::RegistrationData deleted_version; @@ -203,7 +202,7 @@ TEST(ServiceWorkerDatabaseTest, DatabaseVersion_CorruptedSchemaVersion) { // First writing triggers database initialization and bumps the schema // version. - GURL origin("http://example.com"); + GURL origin("https://example.com"); std::vector<ServiceWorkerDatabase::ResourceRecord> resources; resources.push_back(CreateResource(1, URL(origin, "/resource"), 10)); ServiceWorkerDatabase::RegistrationData deleted_version; @@ -239,7 +238,7 @@ TEST(ServiceWorkerDatabaseTest, GetNextAvailableIds) { std::unique_ptr<ServiceWorkerDatabase> database( CreateDatabase(database_dir.GetPath())); - GURL origin("http://example.com"); + GURL origin("https://example.com"); // The database has never been used, so returns initial values. AvailableIds ids; @@ -345,7 +344,7 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) { ServiceWorkerDatabase::RegistrationData deleted_version; std::vector<int64_t> newly_purgeable_resources; - GURL origin1("http://example.com"); + GURL origin1("https://example.com"); RegistrationData data1; data1.registration_id = 123; data1.scope = URL(origin1, "/foo"); @@ -441,7 +440,7 @@ TEST(ServiceWorkerDatabaseTest, GetOriginsWithRegistrations) { TEST(ServiceWorkerDatabaseTest, GetRegistrationsForOrigin) { std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - GURL origin1("http://example.com"); + GURL origin1("https://example.com"); GURL origin2("https://www.example.com"); GURL origin3("https://example.org"); @@ -548,11 +547,6 @@ TEST(ServiceWorkerDatabaseTest, GetRegistrationsForOrigin) { } TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) { - // TODO(https://crbug.com/618076): Remove the following command line switch - // when update_via_cache is shipped to stable. - base::CommandLine::ForCurrentProcess()->AppendSwitch( - switches::kEnableExperimentalWebPlatformFeatures); - std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); std::vector<RegistrationData> registrations; @@ -563,7 +557,7 @@ TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) { ServiceWorkerDatabase::RegistrationData deleted_version; std::vector<int64_t> newly_purgeable_resources; - GURL origin1("http://www1.example.com"); + GURL origin1("https://www1.example.com"); RegistrationData data1; data1.registration_id = 100; data1.scope = URL(origin1, "/foo"); @@ -576,7 +570,7 @@ TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) { database->WriteRegistration(data1, resources1, &deleted_version, &newly_purgeable_resources)); - GURL origin2("http://www2.example.com"); + GURL origin2("https://www2.example.com"); RegistrationData data2; data2.registration_id = 200; data2.scope = URL(origin2, "/bar"); @@ -590,7 +584,7 @@ TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) { database->WriteRegistration(data2, resources2, &deleted_version, &newly_purgeable_resources)); - GURL origin3("http://www3.example.com"); + GURL origin3("https://www3.example.com"); RegistrationData data3; data3.registration_id = 300; data3.scope = URL(origin3, "/hoge"); @@ -620,6 +614,7 @@ TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) { EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, database->GetAllRegistrations(®istrations)); EXPECT_EQ(4U, registrations.size()); + VerifyRegistrationData(data1, registrations[0]); VerifyRegistrationData(data2, registrations[1]); VerifyRegistrationData(data3, registrations[2]); @@ -629,7 +624,7 @@ TEST(ServiceWorkerDatabaseTest, GetAllRegistrations) { TEST(ServiceWorkerDatabaseTest, Registration_Basic) { std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - GURL origin("http://example.com"); + GURL origin("https://example.com"); RegistrationData data; data.registration_id = 100; data.scope = URL(origin, "/foo"); @@ -717,7 +712,7 @@ TEST(ServiceWorkerDatabaseTest, Registration_Basic) { TEST(ServiceWorkerDatabaseTest, DeleteNonExistentRegistration) { std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - GURL origin("http://example.com"); + GURL origin("https://example.com"); RegistrationData data; data.registration_id = 100; data.scope = URL(origin, "/foo"); @@ -758,24 +753,18 @@ TEST(ServiceWorkerDatabaseTest, DeleteNonExistentRegistration) { deleted_version.version_id = kArbitraryVersionId; newly_purgeable_resources.clear(); EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, - database->DeleteRegistration(kNonExistentRegistrationId, - GURL("http://example.net"), - &deleted_version, - &newly_purgeable_resources)); + database->DeleteRegistration( + kNonExistentRegistrationId, GURL("https://example.net"), + &deleted_version, &newly_purgeable_resources)); EXPECT_EQ(blink::mojom::kInvalidServiceWorkerVersionId, deleted_version.version_id); EXPECT_TRUE(newly_purgeable_resources.empty()); } TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) { - // TODO(https://crbug.com/618076): Remove the following command line switch - // when update_via_cache is shipped to stable. - base::CommandLine::ForCurrentProcess()->AppendSwitch( - switches::kEnableExperimentalWebPlatformFeatures); - std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - GURL origin("http://example.com"); + GURL origin("https://example.com"); RegistrationData data; data.registration_id = 100; data.scope = URL(origin, "/foo"); @@ -814,6 +803,7 @@ TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) { updated_data.version_id = data.version_id + 1; updated_data.resources_total_size_bytes = 12 + 13; updated_data.used_features = {109, 421, 9101}; + updated_data.script_type = blink::mojom::ScriptType::kModule; updated_data.update_via_cache = blink::mojom::ServiceWorkerUpdateViaCache::kAll; std::vector<Resource> resources2; @@ -848,7 +838,7 @@ TEST(ServiceWorkerDatabaseTest, Registration_Overwrite) { TEST(ServiceWorkerDatabaseTest, Registration_Multiple) { std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - GURL origin("http://example.com"); + GURL origin("https://example.com"); ServiceWorkerDatabase::RegistrationData deleted_version; std::vector<int64_t> newly_purgeable_resources; @@ -953,7 +943,7 @@ TEST(ServiceWorkerDatabaseTest, Registration_Multiple) { TEST(ServiceWorkerDatabaseTest, Registration_UninitializedDatabase) { std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - const GURL origin("http://example.com"); + const GURL origin("https://example.com"); // Should be failed because the database does not exist. RegistrationData data_out; @@ -1001,9 +991,90 @@ TEST(ServiceWorkerDatabaseTest, Registration_UninitializedDatabase) { EXPECT_TRUE(newly_purgeable_resources.empty()); } +TEST(ServiceWorkerDatabaseTest, Registration_ScriptType) { + std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); + + ServiceWorkerDatabase::RegistrationData deleted_version; + std::vector<int64_t> newly_purgeable_resources; + + // Default script type. + GURL origin1("https://www1.example.com"); + RegistrationData data1; + data1.registration_id = 100; + data1.scope = URL(origin1, "/foo"); + data1.script = URL(origin1, "/resource1"); + data1.version_id = 100; + data1.resources_total_size_bytes = 10 + 10000; + EXPECT_EQ(blink::mojom::ScriptType::kClassic, data1.script_type); + std::vector<Resource> resources1; + resources1.push_back(CreateResource(1, URL(origin1, "/resource1"), 10)); + resources1.push_back(CreateResource(2, URL(origin1, "/resource2"), 10000)); + EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, + database->WriteRegistration(data1, resources1, &deleted_version, + &newly_purgeable_resources)); + + // Classic script type. + GURL origin2("https://www2.example.com"); + RegistrationData data2; + data2.registration_id = 200; + data2.scope = URL(origin2, "/bar"); + data2.script = URL(origin2, "/resource3"); + data2.version_id = 200; + data2.resources_total_size_bytes = 20 + 20000; + data2.script_type = blink::mojom::ScriptType::kClassic; + std::vector<Resource> resources2; + resources2.push_back(CreateResource(3, URL(origin2, "/resource3"), 20)); + resources2.push_back(CreateResource(4, URL(origin2, "/resource4"), 20000)); + EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, + database->WriteRegistration(data2, resources2, &deleted_version, + &newly_purgeable_resources)); + + // Module script type. + GURL origin3("https://www3.example.com"); + RegistrationData data3; + data3.registration_id = 300; + data3.scope = URL(origin3, "/baz"); + data3.script = URL(origin3, "/resource5"); + data3.version_id = 300; + data3.resources_total_size_bytes = 30 + 30000; + data3.script_type = blink::mojom::ScriptType::kModule; + std::vector<Resource> resources3; + resources3.push_back(CreateResource(5, URL(origin3, "/resource5"), 30)); + resources3.push_back(CreateResource(6, URL(origin3, "/resource6"), 30000)); + EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, + database->WriteRegistration(data3, resources3, &deleted_version, + &newly_purgeable_resources)); + + RegistrationData data; + std::vector<Resource> resources; + EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, + database->ReadRegistration(data1.registration_id, origin1, &data, + &resources)); + VerifyRegistrationData(data1, data); + VerifyResourceRecords(resources1, resources); + EXPECT_EQ(2U, resources.size()); + resources.clear(); + + EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, + database->ReadRegistration(data2.registration_id, origin2, &data, + &resources)); + VerifyRegistrationData(data2, data); + VerifyResourceRecords(resources2, resources); + EXPECT_EQ(2U, resources.size()); + resources.clear(); + + EXPECT_EQ(ServiceWorkerDatabase::STATUS_OK, + database->ReadRegistration(data3.registration_id, origin3, &data, + &resources)); + VerifyRegistrationData(data3, data); + VerifyResourceRecords(resources3, resources); + EXPECT_EQ(2U, resources.size()); + resources.clear(); +} + TEST(ServiceWorkerDatabaseTest, UserData_Basic) { std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - const GURL kOrigin("http://example.com"); + const GURL kOrigin("https://example.com"); // Add a registration. RegistrationData data; @@ -1119,7 +1190,7 @@ TEST(ServiceWorkerDatabaseTest, UserData_Basic) { TEST(ServiceWorkerDatabaseTest, UserData_ReadUserDataForAllRegistrationsByKeyPrefix) { std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - const GURL kOrigin("http://example.com"); + const GURL kOrigin("https://example.com"); // Add registration 1. RegistrationData data1; @@ -1196,7 +1267,7 @@ TEST(ServiceWorkerDatabaseTest, TEST(ServiceWorkerDatabaseTest, ReadUserDataByKeyPrefix) { std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - const GURL kOrigin("http://example.com"); + const GURL kOrigin("https://example.com"); // Add a registration. RegistrationData data; @@ -1242,7 +1313,7 @@ TEST(ServiceWorkerDatabaseTest, ReadUserDataByKeyPrefix) { TEST(ServiceWorkerDatabaseTest, ReadUserKeysAndDataByKeyPrefix) { std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - const GURL kOrigin("http://example.com"); + const GURL kOrigin("https://example.com"); // Add a registration. RegistrationData data; @@ -1292,7 +1363,7 @@ TEST(ServiceWorkerDatabaseTest, ReadUserKeysAndDataByKeyPrefix) { TEST(ServiceWorkerDatabaseTest, UserData_DeleteUserDataByKeyPrefixes) { std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - const GURL kOrigin("http://example.com"); + const GURL kOrigin("https://example.com"); // Add registration 1. RegistrationData data1; @@ -1392,7 +1463,7 @@ TEST(ServiceWorkerDatabaseTest, UserData_DeleteUserDataByKeyPrefixes) { TEST(ServiceWorkerDatabaseTest, UserData_DataIsolation) { std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - const GURL kOrigin("http://example.com"); + const GURL kOrigin("https://example.com"); // Add registration 1. RegistrationData data1; @@ -1488,7 +1559,7 @@ TEST(ServiceWorkerDatabaseTest, UserData_DataIsolation) { TEST(ServiceWorkerDatabaseTest, UserData_DeleteRegistration) { std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - const GURL kOrigin("http://example.com"); + const GURL kOrigin("https://example.com"); // Add registration 1. RegistrationData data1; @@ -1569,7 +1640,7 @@ TEST(ServiceWorkerDatabaseTest, UserData_DeleteRegistration) { TEST(ServiceWorkerDatabaseTest, UserData_UninitializedDatabase) { std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - const GURL kOrigin("http://example.com"); + const GURL kOrigin("https://example.com"); // Should be failed because the database does not exist. std::vector<std::string> user_data_out; @@ -1601,7 +1672,7 @@ TEST(ServiceWorkerDatabaseTest, UserData_UninitializedDatabase) { TEST(ServiceWorkerDatabaseTest, UpdateVersionToActive) { std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - GURL origin("http://example.com"); + GURL origin("https://example.com"); ServiceWorkerDatabase::RegistrationData deleted_version; std::vector<int64_t> newly_purgeable_resources; @@ -1662,7 +1733,7 @@ TEST(ServiceWorkerDatabaseTest, UpdateVersionToActive) { TEST(ServiceWorkerDatabaseTest, UpdateLastCheckTime) { std::unique_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); - GURL origin("http://example.com"); + GURL origin("https://example.com"); ServiceWorkerDatabase::RegistrationData deleted_version; std::vector<int64_t> newly_purgeable_resources; @@ -1782,8 +1853,8 @@ TEST(ServiceWorkerDatabaseTest, DeleteAllDataForOrigin) { std::vector<int64_t> newly_purgeable_resources; // Data associated with |origin1| will be removed. - GURL origin1("http://example.com"); - GURL origin2("http://example.org"); + GURL origin1("https://example.com"); + GURL origin2("https://example.org"); // |origin1| has two registrations (registration1 and registration2). RegistrationData data1; @@ -1942,7 +2013,7 @@ TEST(ServiceWorkerDatabaseTest, Corruption_NoMainResource) { ServiceWorkerDatabase::RegistrationData deleted_version; std::vector<int64_t> newly_purgeable_resources; - GURL origin("http://example.com"); + GURL origin("https://example.com"); RegistrationData data; data.registration_id = 10; |