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

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

Issue 1135743002: Check the size of ResourceRecords in ServiceWorkerDatabase::ReadRegistration() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: DCHECK in ServiceWorkerStorage::ReturnFoundRegistration() Created 5 years, 7 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 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 <string> 5 #include <string>
6 6
7 #include "base/files/scoped_temp_dir.h" 7 #include "base/files/scoped_temp_dir.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "base/thread_task_runner_handle.h" 10 #include "base/thread_task_runner_handle.h"
(...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after
797 797
798 LazyInitialize(); 798 LazyInitialize();
799 799
800 // Store a registration. 800 // Store a registration.
801 scoped_refptr<ServiceWorkerRegistration> live_registration = 801 scoped_refptr<ServiceWorkerRegistration> live_registration =
802 new ServiceWorkerRegistration( 802 new ServiceWorkerRegistration(
803 kScope, kRegistrationId, context_ptr_); 803 kScope, kRegistrationId, context_ptr_);
804 scoped_refptr<ServiceWorkerVersion> live_version = 804 scoped_refptr<ServiceWorkerVersion> live_version =
805 new ServiceWorkerVersion( 805 new ServiceWorkerVersion(
806 live_registration.get(), kScript, kVersionId, context_ptr_); 806 live_registration.get(), kScript, kVersionId, context_ptr_);
807 std::vector<ServiceWorkerDatabase::ResourceRecord> records;
808 records.push_back(ServiceWorkerDatabase::ResourceRecord(
809 1, live_version->script_url(), 100));
810 live_version->script_cache_map()->SetResources(records);
807 live_version->SetStatus(ServiceWorkerVersion::INSTALLED); 811 live_version->SetStatus(ServiceWorkerVersion::INSTALLED);
808 live_registration->SetWaitingVersion(live_version); 812 live_registration->SetWaitingVersion(live_version);
809 EXPECT_EQ(SERVICE_WORKER_OK, 813 EXPECT_EQ(SERVICE_WORKER_OK,
810 StoreRegistration(live_registration, live_version)); 814 StoreRegistration(live_registration, live_version));
811 815
812 // Store user data associated with the registration. 816 // Store user data associated with the registration.
813 std::string data_out; 817 std::string data_out;
814 EXPECT_EQ(SERVICE_WORKER_OK, 818 EXPECT_EQ(SERVICE_WORKER_OK,
815 StoreUserData(kRegistrationId, kScope.GetOrigin(), "key", "data")); 819 StoreUserData(kRegistrationId, kScope.GetOrigin(), "key", "data"));
816 EXPECT_EQ(SERVICE_WORKER_OK, GetUserData(kRegistrationId, "key", &data_out)); 820 EXPECT_EQ(SERVICE_WORKER_OK, GetUserData(kRegistrationId, "key", &data_out));
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after
1250 1254
1251 bool was_called = false; 1255 bool was_called = false;
1252 ServiceWorkerStatusCode result = SERVICE_WORKER_ERROR_FAILED; 1256 ServiceWorkerStatusCode result = SERVICE_WORKER_ERROR_FAILED;
1253 std::set<int64> verify_ids; 1257 std::set<int64> verify_ids;
1254 1258
1255 // Make an updated registration. 1259 // Make an updated registration.
1256 scoped_refptr<ServiceWorkerVersion> live_version = new ServiceWorkerVersion( 1260 scoped_refptr<ServiceWorkerVersion> live_version = new ServiceWorkerVersion(
1257 registration_.get(), script_, storage()->NewVersionId(), context_ptr_); 1261 registration_.get(), script_, storage()->NewVersionId(), context_ptr_);
1258 live_version->SetStatus(ServiceWorkerVersion::NEW); 1262 live_version->SetStatus(ServiceWorkerVersion::NEW);
1259 registration_->SetWaitingVersion(live_version); 1263 registration_->SetWaitingVersion(live_version);
1264 std::vector<ServiceWorkerDatabase::ResourceRecord> records;
1265 records.push_back(ServiceWorkerDatabase::ResourceRecord(
1266 10, live_version->script_url(), 100));
1267 live_version->script_cache_map()->SetResources(records);
1260 1268
1261 // Writing the registration should move the old version's resources to the 1269 // Writing the registration should move the old version's resources to the
1262 // purgeable list but keep them available. 1270 // purgeable list but keep them available.
1263 storage()->StoreRegistration( 1271 storage()->StoreRegistration(
1264 registration_.get(), 1272 registration_.get(),
1265 registration_->waiting_version(), 1273 registration_->waiting_version(),
1266 base::Bind(&VerifyPurgeableListStatusCallback, 1274 base::Bind(&VerifyPurgeableListStatusCallback,
1267 base::Unretained(storage()->database_.get()), 1275 base::Unretained(storage()->database_.get()),
1268 &verify_ids, 1276 &verify_ids,
1269 &was_called, 1277 &was_called,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1302 const GURL kScope1("http://www.example.com/scope/"); 1310 const GURL kScope1("http://www.example.com/scope/");
1303 const GURL kScript1("http://www.example.com/script1.js"); 1311 const GURL kScript1("http://www.example.com/script1.js");
1304 const int64 kRegistrationId1 = 1; 1312 const int64 kRegistrationId1 = 1;
1305 const int64 kVersionId1 = 1; 1313 const int64 kVersionId1 = 1;
1306 scoped_refptr<ServiceWorkerRegistration> live_registration1 = 1314 scoped_refptr<ServiceWorkerRegistration> live_registration1 =
1307 new ServiceWorkerRegistration( 1315 new ServiceWorkerRegistration(
1308 kScope1, kRegistrationId1, context_ptr_); 1316 kScope1, kRegistrationId1, context_ptr_);
1309 scoped_refptr<ServiceWorkerVersion> live_version1 = 1317 scoped_refptr<ServiceWorkerVersion> live_version1 =
1310 new ServiceWorkerVersion( 1318 new ServiceWorkerVersion(
1311 live_registration1.get(), kScript1, kVersionId1, context_ptr_); 1319 live_registration1.get(), kScript1, kVersionId1, context_ptr_);
1320 std::vector<ServiceWorkerDatabase::ResourceRecord> records1;
1321 records1.push_back(ServiceWorkerDatabase::ResourceRecord(
1322 1, live_version1->script_url(), 100));
1323 live_version1->script_cache_map()->SetResources(records1);
1312 live_version1->SetStatus(ServiceWorkerVersion::INSTALLED); 1324 live_version1->SetStatus(ServiceWorkerVersion::INSTALLED);
1313 live_registration1->SetWaitingVersion(live_version1); 1325 live_registration1->SetWaitingVersion(live_version1);
1314 1326
1315 // Registration for "/scope/foo". 1327 // Registration for "/scope/foo".
1316 const GURL kScope2("http://www.example.com/scope/foo"); 1328 const GURL kScope2("http://www.example.com/scope/foo");
1317 const GURL kScript2("http://www.example.com/script2.js"); 1329 const GURL kScript2("http://www.example.com/script2.js");
1318 const int64 kRegistrationId2 = 2; 1330 const int64 kRegistrationId2 = 2;
1319 const int64 kVersionId2 = 2; 1331 const int64 kVersionId2 = 2;
1320 scoped_refptr<ServiceWorkerRegistration> live_registration2 = 1332 scoped_refptr<ServiceWorkerRegistration> live_registration2 =
1321 new ServiceWorkerRegistration( 1333 new ServiceWorkerRegistration(
1322 kScope2, kRegistrationId2, context_ptr_); 1334 kScope2, kRegistrationId2, context_ptr_);
1323 scoped_refptr<ServiceWorkerVersion> live_version2 = 1335 scoped_refptr<ServiceWorkerVersion> live_version2 =
1324 new ServiceWorkerVersion( 1336 new ServiceWorkerVersion(
1325 live_registration2.get(), kScript2, kVersionId2, context_ptr_); 1337 live_registration2.get(), kScript2, kVersionId2, context_ptr_);
1338 std::vector<ServiceWorkerDatabase::ResourceRecord> records2;
1339 records2.push_back(ServiceWorkerDatabase::ResourceRecord(
1340 2, live_version2->script_url(), 100));
1341 live_version2->script_cache_map()->SetResources(records2);
1326 live_version2->SetStatus(ServiceWorkerVersion::INSTALLED); 1342 live_version2->SetStatus(ServiceWorkerVersion::INSTALLED);
1327 live_registration2->SetWaitingVersion(live_version2); 1343 live_registration2->SetWaitingVersion(live_version2);
1328 1344
1329 // Registration for "/scope/foobar". 1345 // Registration for "/scope/foobar".
1330 const GURL kScope3("http://www.example.com/scope/foobar"); 1346 const GURL kScope3("http://www.example.com/scope/foobar");
1331 const GURL kScript3("http://www.example.com/script3.js"); 1347 const GURL kScript3("http://www.example.com/script3.js");
1332 const int64 kRegistrationId3 = 3; 1348 const int64 kRegistrationId3 = 3;
1333 const int64 kVersionId3 = 3; 1349 const int64 kVersionId3 = 3;
1334 scoped_refptr<ServiceWorkerRegistration> live_registration3 = 1350 scoped_refptr<ServiceWorkerRegistration> live_registration3 =
1335 new ServiceWorkerRegistration( 1351 new ServiceWorkerRegistration(
1336 kScope3, kRegistrationId3, context_ptr_); 1352 kScope3, kRegistrationId3, context_ptr_);
1337 scoped_refptr<ServiceWorkerVersion> live_version3 = 1353 scoped_refptr<ServiceWorkerVersion> live_version3 =
1338 new ServiceWorkerVersion( 1354 new ServiceWorkerVersion(
1339 live_registration3.get(), kScript3, kVersionId3, context_ptr_); 1355 live_registration3.get(), kScript3, kVersionId3, context_ptr_);
1356 std::vector<ServiceWorkerDatabase::ResourceRecord> records3;
1357 records3.push_back(ServiceWorkerDatabase::ResourceRecord(
1358 3, live_version3->script_url(), 100));
1359 live_version3->script_cache_map()->SetResources(records3);
1340 live_version3->SetStatus(ServiceWorkerVersion::INSTALLED); 1360 live_version3->SetStatus(ServiceWorkerVersion::INSTALLED);
1341 live_registration3->SetWaitingVersion(live_version3); 1361 live_registration3->SetWaitingVersion(live_version3);
1342 1362
1343 // Notify storage of they being installed. 1363 // Notify storage of they being installed.
1344 storage()->NotifyInstallingRegistration(live_registration1.get()); 1364 storage()->NotifyInstallingRegistration(live_registration1.get());
1345 storage()->NotifyInstallingRegistration(live_registration2.get()); 1365 storage()->NotifyInstallingRegistration(live_registration2.get());
1346 storage()->NotifyInstallingRegistration(live_registration3.get()); 1366 storage()->NotifyInstallingRegistration(live_registration3.get());
1347 1367
1348 // Find a registration among installing ones. 1368 // Find a registration among installing ones.
1349 EXPECT_EQ(SERVICE_WORKER_OK, 1369 EXPECT_EQ(SERVICE_WORKER_OK,
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
1429 are_equal = true; 1449 are_equal = true;
1430 storage()->CompareScriptResources( 1450 storage()->CompareScriptResources(
1431 5, 6, 1451 5, 6,
1432 base::Bind(&OnCompareComplete, &status, &are_equal)); 1452 base::Bind(&OnCompareComplete, &status, &are_equal));
1433 base::RunLoop().RunUntilIdle(); 1453 base::RunLoop().RunUntilIdle();
1434 EXPECT_EQ(SERVICE_WORKER_OK, status); 1454 EXPECT_EQ(SERVICE_WORKER_OK, status);
1435 EXPECT_FALSE(are_equal); 1455 EXPECT_FALSE(are_equal);
1436 } 1456 }
1437 1457
1438 } // namespace content 1458 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698