| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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_disk_cache_migrator.h" | 5 #include "content/browser/service_worker/service_worker_disk_cache_migrator.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
| (...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 360 // Simulate an existing database. | 360 // Simulate an existing database. |
| 361 std::vector<ServiceWorkerDatabase::ResourceRecord> resources; | 361 std::vector<ServiceWorkerDatabase::ResourceRecord> resources; |
| 362 resources.push_back(ServiceWorkerDatabase::ResourceRecord( | 362 resources.push_back(ServiceWorkerDatabase::ResourceRecord( |
| 363 1, GURL("https://example.com/foo"), 10)); | 363 1, GURL("https://example.com/foo"), 10)); |
| 364 ServiceWorkerDatabase::RegistrationData deleted_version; | 364 ServiceWorkerDatabase::RegistrationData deleted_version; |
| 365 std::vector<int64> newly_purgeable_resources; | 365 std::vector<int64> newly_purgeable_resources; |
| 366 ServiceWorkerDatabase::RegistrationData data; | 366 ServiceWorkerDatabase::RegistrationData data; |
| 367 data.registration_id = 100; | 367 data.registration_id = 100; |
| 368 data.scope = GURL("https://example.com/"); | 368 data.scope = GURL("https://example.com/"); |
| 369 data.script = GURL("https://example.com/script.js"); | 369 data.script = GURL("https://example.com/script.js"); |
| 370 data.version_id = 200; | 370 data.version_uuid = "84a19bb1-148b-484d-a3ff-1ab43ac3fe53"; |
| 371 data.resources_total_size_bytes = 10; | 371 data.resources_total_size_bytes = 10; |
| 372 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, | 372 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 373 database->WriteRegistration(data, resources, &deleted_version, | 373 database->WriteRegistration(data, resources, &deleted_version, |
| 374 &newly_purgeable_resources)); | 374 &newly_purgeable_resources)); |
| 375 database.reset(); | 375 database.reset(); |
| 376 | 376 |
| 377 // LazyInitialize() reads initial data and should schedule to migrate. | 377 // LazyInitialize() reads initial data and should schedule to migrate. |
| 378 ASSERT_FALSE(storage()->disk_cache_migration_needed_); | 378 ASSERT_FALSE(storage()->disk_cache_migration_needed_); |
| 379 base::RunLoop run_loop; | 379 base::RunLoop run_loop; |
| 380 storage()->LazyInitialize(run_loop.QuitClosure()); | 380 storage()->LazyInitialize(run_loop.QuitClosure()); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 430 // Simulate an existing database. | 430 // Simulate an existing database. |
| 431 std::vector<ServiceWorkerDatabase::ResourceRecord> resources; | 431 std::vector<ServiceWorkerDatabase::ResourceRecord> resources; |
| 432 resources.push_back(ServiceWorkerDatabase::ResourceRecord( | 432 resources.push_back(ServiceWorkerDatabase::ResourceRecord( |
| 433 1, GURL("https://example.com/foo"), 10)); | 433 1, GURL("https://example.com/foo"), 10)); |
| 434 ServiceWorkerDatabase::RegistrationData deleted_version; | 434 ServiceWorkerDatabase::RegistrationData deleted_version; |
| 435 std::vector<int64> newly_purgeable_resources; | 435 std::vector<int64> newly_purgeable_resources; |
| 436 ServiceWorkerDatabase::RegistrationData data; | 436 ServiceWorkerDatabase::RegistrationData data; |
| 437 data.registration_id = 100; | 437 data.registration_id = 100; |
| 438 data.scope = GURL("https://example.com/"); | 438 data.scope = GURL("https://example.com/"); |
| 439 data.script = GURL("https://example.com/script.js"); | 439 data.script = GURL("https://example.com/script.js"); |
| 440 data.version_id = 200; | 440 data.version_uuid = "84a19bb1-148b-484d-a3ff-1ab43ac3fe53"; |
| 441 data.resources_total_size_bytes = 10; | 441 data.resources_total_size_bytes = 10; |
| 442 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, | 442 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 443 database->WriteRegistration(data, resources, &deleted_version, | 443 database->WriteRegistration(data, resources, &deleted_version, |
| 444 &newly_purgeable_resources)); | 444 &newly_purgeable_resources)); |
| 445 database.reset(); | 445 database.reset(); |
| 446 | 446 |
| 447 // LazyInitialize() reads initial data and should schedule to migrate. | 447 // LazyInitialize() reads initial data and should schedule to migrate. |
| 448 ASSERT_FALSE(storage()->disk_cache_migration_needed_); | 448 ASSERT_FALSE(storage()->disk_cache_migration_needed_); |
| 449 base::RunLoop run_loop1; | 449 base::RunLoop run_loop1; |
| 450 storage()->LazyInitialize(run_loop1.QuitClosure()); | 450 storage()->LazyInitialize(run_loop1.QuitClosure()); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 504 // Write a registration into the database to start database initialization. | 504 // Write a registration into the database to start database initialization. |
| 505 std::vector<ServiceWorkerDatabase::ResourceRecord> resources; | 505 std::vector<ServiceWorkerDatabase::ResourceRecord> resources; |
| 506 resources.push_back(ServiceWorkerDatabase::ResourceRecord( | 506 resources.push_back(ServiceWorkerDatabase::ResourceRecord( |
| 507 1, GURL("https://example.com/foo"), 10)); | 507 1, GURL("https://example.com/foo"), 10)); |
| 508 ServiceWorkerDatabase::RegistrationData deleted_version; | 508 ServiceWorkerDatabase::RegistrationData deleted_version; |
| 509 std::vector<int64> newly_purgeable_resources; | 509 std::vector<int64> newly_purgeable_resources; |
| 510 ServiceWorkerDatabase::RegistrationData data; | 510 ServiceWorkerDatabase::RegistrationData data; |
| 511 data.registration_id = 100; | 511 data.registration_id = 100; |
| 512 data.scope = GURL("https://example.com/"); | 512 data.scope = GURL("https://example.com/"); |
| 513 data.script = GURL("https://example.com/script.js"); | 513 data.script = GURL("https://example.com/script.js"); |
| 514 data.version_id = 200; | 514 data.version_uuid = "84a19bb1-148b-484d-a3ff-1ab43ac3fe53"; |
| 515 data.resources_total_size_bytes = 10; | 515 data.resources_total_size_bytes = 10; |
| 516 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, | 516 ASSERT_EQ(ServiceWorkerDatabase::STATUS_OK, |
| 517 storage()->database_->WriteRegistration( | 517 storage()->database_->WriteRegistration( |
| 518 data, resources, &deleted_version, &newly_purgeable_resources)); | 518 data, resources, &deleted_version, &newly_purgeable_resources)); |
| 519 | 519 |
| 520 // After the database initialization, the migration state should be | 520 // After the database initialization, the migration state should be |
| 521 // initialized. | 521 // initialized. |
| 522 bool migration_needed = false; | 522 bool migration_needed = false; |
| 523 EXPECT_EQ( | 523 EXPECT_EQ( |
| 524 ServiceWorkerDatabase::STATUS_OK, | 524 ServiceWorkerDatabase::STATUS_OK, |
| 525 storage()->database_->IsDiskCacheMigrationNeeded(&migration_needed)); | 525 storage()->database_->IsDiskCacheMigrationNeeded(&migration_needed)); |
| 526 EXPECT_FALSE(migration_needed); | 526 EXPECT_FALSE(migration_needed); |
| 527 bool deletion_needed = false; | 527 bool deletion_needed = false; |
| 528 EXPECT_EQ( | 528 EXPECT_EQ( |
| 529 ServiceWorkerDatabase::STATUS_OK, | 529 ServiceWorkerDatabase::STATUS_OK, |
| 530 storage()->database_->IsOldDiskCacheDeletionNeeded(&deletion_needed)); | 530 storage()->database_->IsOldDiskCacheDeletionNeeded(&deletion_needed)); |
| 531 | 531 |
| 532 // The deletion flag should be set for the case that the database is empty but | 532 // The deletion flag should be set for the case that the database is empty but |
| 533 // the old diskcache exists. | 533 // the old diskcache exists. |
| 534 EXPECT_TRUE(deletion_needed); | 534 EXPECT_TRUE(deletion_needed); |
| 535 } | 535 } |
| 536 | 536 |
| 537 } // namespace content | 537 } // namespace content |
| OLD | NEW |