| 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 <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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 *found = registration; | 59 *found = registration; |
| 60 } | 60 } |
| 61 | 61 |
| 62 ServiceWorkerStorage::FindRegistrationCallback MakeFindCallback( | 62 ServiceWorkerStorage::FindRegistrationCallback MakeFindCallback( |
| 63 bool* was_called, | 63 bool* was_called, |
| 64 ServiceWorkerStatusCode* result, | 64 ServiceWorkerStatusCode* result, |
| 65 scoped_refptr<ServiceWorkerRegistration>* found) { | 65 scoped_refptr<ServiceWorkerRegistration>* found) { |
| 66 return base::Bind(&FindCallback, was_called, result, found); | 66 return base::Bind(&FindCallback, was_called, result, found); |
| 67 } | 67 } |
| 68 | 68 |
| 69 void GetAllCallback( | 69 void GetAllCallback(bool* was_called, |
| 70 std::vector<ServiceWorkerRegistration*>* all_out, |
| 71 const std::vector<ServiceWorkerRegistration*>& all) { |
| 72 *was_called = true; |
| 73 *all_out = all; |
| 74 } |
| 75 |
| 76 void GetAllInfosCallback( |
| 70 bool* was_called, | 77 bool* was_called, |
| 71 std::vector<ServiceWorkerRegistrationInfo>* all_out, | 78 std::vector<ServiceWorkerRegistrationInfo>* all_out, |
| 72 const std::vector<ServiceWorkerRegistrationInfo>& all) { | 79 const std::vector<ServiceWorkerRegistrationInfo>& all) { |
| 73 *was_called = true; | 80 *was_called = true; |
| 74 *all_out = all; | 81 *all_out = all; |
| 75 } | 82 } |
| 76 | 83 |
| 84 ServiceWorkerStorage::GetRegistrationsCallback MakeGetRegistrationsCallback( |
| 85 bool* was_called, |
| 86 std::vector<ServiceWorkerRegistration*>* all, |
| 87 std::vector<std::vector<ResourceRecord>>* resource_lists) { |
| 88 return base::Bind(&GetAllCallback, was_called, all); |
| 89 } |
| 90 |
| 77 ServiceWorkerStorage::GetRegistrationsInfosCallback | 91 ServiceWorkerStorage::GetRegistrationsInfosCallback |
| 78 MakeGetRegistrationsCallback(bool* was_called, | 92 MakeGetRegistrationsInfosCallback( |
| 79 std::vector<ServiceWorkerRegistrationInfo>* all) { | 93 bool* was_called, |
| 80 return base::Bind(&GetAllCallback, was_called, all); | 94 std::vector<ServiceWorkerRegistrationInfo>* all) { |
| 95 return base::Bind(&GetAllInfosCallback, was_called, all); |
| 81 } | 96 } |
| 82 | 97 |
| 83 void GetUserDataCallback( | 98 void GetUserDataCallback( |
| 84 bool* was_called, | 99 bool* was_called, |
| 85 std::string* data_out, | 100 std::string* data_out, |
| 86 ServiceWorkerStatusCode* status_out, | 101 ServiceWorkerStatusCode* status_out, |
| 87 const std::string& data, | 102 const std::string& data, |
| 88 ServiceWorkerStatusCode status) { | 103 ServiceWorkerStatusCode status) { |
| 89 *was_called = true; | 104 *was_called = true; |
| 90 *data_out = data; | 105 *data_out = data; |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 322 bool was_called = false; | 337 bool was_called = false; |
| 323 ServiceWorkerStatusCode result = SERVICE_WORKER_ERROR_FAILED; | 338 ServiceWorkerStatusCode result = SERVICE_WORKER_ERROR_FAILED; |
| 324 storage()->DeleteRegistration( | 339 storage()->DeleteRegistration( |
| 325 registration_id, origin, MakeStatusCallback(&was_called, &result)); | 340 registration_id, origin, MakeStatusCallback(&was_called, &result)); |
| 326 EXPECT_FALSE(was_called); // always async | 341 EXPECT_FALSE(was_called); // always async |
| 327 base::RunLoop().RunUntilIdle(); | 342 base::RunLoop().RunUntilIdle(); |
| 328 EXPECT_TRUE(was_called); | 343 EXPECT_TRUE(was_called); |
| 329 return result; | 344 return result; |
| 330 } | 345 } |
| 331 | 346 |
| 332 void GetAllRegistrations( | 347 void GetAllRegistrationsInfos( |
| 333 std::vector<ServiceWorkerRegistrationInfo>* registrations) { | 348 std::vector<ServiceWorkerRegistrationInfo>* registrations) { |
| 334 bool was_called = false; | 349 bool was_called = false; |
| 335 storage()->GetAllRegistrations( | 350 storage()->GetAllRegistrationsInfos( |
| 336 MakeGetRegistrationsCallback(&was_called, registrations)); | 351 MakeGetRegistrationsInfosCallback(&was_called, registrations)); |
| 337 EXPECT_FALSE(was_called); // always async | 352 EXPECT_FALSE(was_called); // always async |
| 338 base::RunLoop().RunUntilIdle(); | 353 base::RunLoop().RunUntilIdle(); |
| 339 EXPECT_TRUE(was_called); | 354 EXPECT_TRUE(was_called); |
| 340 } | 355 } |
| 341 | 356 |
| 342 void GetRegistrationsForOrigin( | 357 void GetRegistrationsForOrigin( |
| 343 const GURL& origin, | 358 const GURL& origin, |
| 344 std::vector<ServiceWorkerRegistrationInfo>* registrations) { | 359 std::vector<ServiceWorkerRegistration*>* registrations, |
| 360 std::vector<std::vector<ResourceRecord>>* resource_lists) { |
| 345 bool was_called = false; | 361 bool was_called = false; |
| 346 storage()->GetRegistrationsForOrigin( | 362 storage()->GetRegistrationsForOrigin( |
| 347 origin, | 363 origin, MakeGetRegistrationsCallback(&was_called, registrations, |
| 348 MakeGetRegistrationsCallback(&was_called, registrations)); | 364 resource_lists)); |
| 349 EXPECT_FALSE(was_called); // always async | 365 EXPECT_FALSE(was_called); // always async |
| 350 base::RunLoop().RunUntilIdle(); | 366 base::RunLoop().RunUntilIdle(); |
| 351 EXPECT_TRUE(was_called); | 367 EXPECT_TRUE(was_called); |
| 352 } | 368 } |
| 353 | 369 |
| 354 ServiceWorkerStatusCode GetUserData( | 370 ServiceWorkerStatusCode GetUserData( |
| 355 int64 registration_id, | 371 int64 registration_id, |
| 356 const std::string& key, | 372 const std::string& key, |
| 357 std::string* data) { | 373 std::string* data) { |
| 358 bool was_called = false; | 374 bool was_called = false; |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 572 FindRegistrationForDocument(kDocumentUrl, &found_registration)); | 588 FindRegistrationForDocument(kDocumentUrl, &found_registration)); |
| 573 ASSERT_TRUE(found_registration.get()); | 589 ASSERT_TRUE(found_registration.get()); |
| 574 EXPECT_EQ(kRegistrationId, found_registration->id()); | 590 EXPECT_EQ(kRegistrationId, found_registration->id()); |
| 575 EXPECT_TRUE(found_registration->HasOneRef()); | 591 EXPECT_TRUE(found_registration->HasOneRef()); |
| 576 | 592 |
| 577 // Check that sizes are populated correctly | 593 // Check that sizes are populated correctly |
| 578 EXPECT_EQ(live_version.get(), found_registration->waiting_version()); | 594 EXPECT_EQ(live_version.get(), found_registration->waiting_version()); |
| 579 EXPECT_EQ(kResource1Size + kResource2Size, | 595 EXPECT_EQ(kResource1Size + kResource2Size, |
| 580 found_registration->resources_total_size_bytes()); | 596 found_registration->resources_total_size_bytes()); |
| 581 std::vector<ServiceWorkerRegistrationInfo> all_registrations; | 597 std::vector<ServiceWorkerRegistrationInfo> all_registrations; |
| 582 GetAllRegistrations(&all_registrations); | 598 GetAllRegistrationsInfos(&all_registrations); |
| 583 EXPECT_EQ(1u, all_registrations.size()); | 599 EXPECT_EQ(1u, all_registrations.size()); |
| 584 ServiceWorkerRegistrationInfo info = all_registrations[0]; | 600 ServiceWorkerRegistrationInfo info = all_registrations[0]; |
| 585 EXPECT_EQ(kResource1Size + kResource2Size, info.stored_version_size_bytes); | 601 EXPECT_EQ(kResource1Size + kResource2Size, info.stored_version_size_bytes); |
| 586 all_registrations.clear(); | 602 all_registrations.clear(); |
| 587 | 603 |
| 588 // Finding by origin should provide the same result iif origin is kScope. | 604 // Finding by origin should provide the same result iif origin is kScope. |
| 589 std::vector<ServiceWorkerRegistrationInfo> registrations_origin; | 605 std::vector<ServiceWorkerRegistration*> registrations_origin; |
| 590 GetRegistrationsForOrigin(kScope.GetOrigin(), ®istrations_origin); | 606 std::vector<std::vector<ResourceRecord>> resource_lists; |
| 607 GetRegistrationsForOrigin(kScope.GetOrigin(), ®istrations_origin, |
| 608 &resource_lists); |
| 591 EXPECT_EQ(1u, registrations_origin.size()); | 609 EXPECT_EQ(1u, registrations_origin.size()); |
| 592 registrations_origin.clear(); | 610 registrations_origin.clear(); |
| 593 | 611 |
| 594 GetRegistrationsForOrigin( | 612 GetRegistrationsForOrigin(GURL("http://example.com/").GetOrigin(), |
| 595 GURL("http://example.com/").GetOrigin(), | 613 ®istrations_origin, &resource_lists); |
| 596 ®istrations_origin); | |
| 597 EXPECT_TRUE(registrations_origin.empty()); | 614 EXPECT_TRUE(registrations_origin.empty()); |
| 598 | 615 |
| 599 found_registration = NULL; | 616 found_registration = NULL; |
| 600 | 617 |
| 601 // Drop the live version too. | 618 // Drop the live version too. |
| 602 live_version = NULL; | 619 live_version = NULL; |
| 603 | 620 |
| 604 // And FindRegistrationForPattern is always async. | 621 // And FindRegistrationForPattern is always async. |
| 605 EXPECT_EQ(SERVICE_WORKER_OK, | 622 EXPECT_EQ(SERVICE_WORKER_OK, |
| 606 FindRegistrationForPattern(kScope, &found_registration)); | 623 FindRegistrationForPattern(kScope, &found_registration)); |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 678 // Create an unstored registration. | 695 // Create an unstored registration. |
| 679 scoped_refptr<ServiceWorkerRegistration> live_registration = | 696 scoped_refptr<ServiceWorkerRegistration> live_registration = |
| 680 new ServiceWorkerRegistration( | 697 new ServiceWorkerRegistration( |
| 681 kScope, kRegistrationId, context_ptr_); | 698 kScope, kRegistrationId, context_ptr_); |
| 682 scoped_refptr<ServiceWorkerVersion> live_version = | 699 scoped_refptr<ServiceWorkerVersion> live_version = |
| 683 new ServiceWorkerVersion( | 700 new ServiceWorkerVersion( |
| 684 live_registration.get(), kScript, kVersionId, context_ptr_); | 701 live_registration.get(), kScript, kVersionId, context_ptr_); |
| 685 live_version->SetStatus(ServiceWorkerVersion::INSTALLING); | 702 live_version->SetStatus(ServiceWorkerVersion::INSTALLING); |
| 686 live_registration->SetWaitingVersion(live_version); | 703 live_registration->SetWaitingVersion(live_version); |
| 687 | 704 |
| 688 // Should not be findable, including by GetAllRegistrations. | 705 // Should not be findable, including by GetAllRegistrationsInfos. |
| 689 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, | 706 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, |
| 690 FindRegistrationForId( | 707 FindRegistrationForId( |
| 691 kRegistrationId, kScope.GetOrigin(), &found_registration)); | 708 kRegistrationId, kScope.GetOrigin(), &found_registration)); |
| 692 EXPECT_FALSE(found_registration.get()); | 709 EXPECT_FALSE(found_registration.get()); |
| 693 | 710 |
| 694 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, | 711 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, |
| 695 FindRegistrationForIdOnly(kRegistrationId, &found_registration)); | 712 FindRegistrationForIdOnly(kRegistrationId, &found_registration)); |
| 696 EXPECT_FALSE(found_registration.get()); | 713 EXPECT_FALSE(found_registration.get()); |
| 697 | 714 |
| 698 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, | 715 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, |
| 699 FindRegistrationForDocument(kDocumentUrl, &found_registration)); | 716 FindRegistrationForDocument(kDocumentUrl, &found_registration)); |
| 700 EXPECT_FALSE(found_registration.get()); | 717 EXPECT_FALSE(found_registration.get()); |
| 701 | 718 |
| 702 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, | 719 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, |
| 703 FindRegistrationForPattern(kScope, &found_registration)); | 720 FindRegistrationForPattern(kScope, &found_registration)); |
| 704 EXPECT_FALSE(found_registration.get()); | 721 EXPECT_FALSE(found_registration.get()); |
| 705 | 722 |
| 706 std::vector<ServiceWorkerRegistrationInfo> all_registrations; | 723 std::vector<ServiceWorkerRegistrationInfo> all_registrations; |
| 707 GetAllRegistrations(&all_registrations); | 724 GetAllRegistrationsInfos(&all_registrations); |
| 708 EXPECT_TRUE(all_registrations.empty()); | 725 EXPECT_TRUE(all_registrations.empty()); |
| 709 | 726 |
| 710 std::vector<ServiceWorkerRegistrationInfo> registrations_origin; | 727 std::vector<ServiceWorkerRegistration*> registrations_origin; |
| 711 GetRegistrationsForOrigin(kScope.GetOrigin(), ®istrations_origin); | 728 std::vector<std::vector<ResourceRecord>> resource_lists; |
| 729 GetRegistrationsForOrigin(kScope.GetOrigin(), ®istrations_origin, |
| 730 &resource_lists); |
| 712 EXPECT_TRUE(registrations_origin.empty()); | 731 EXPECT_TRUE(registrations_origin.empty()); |
| 713 | 732 |
| 714 GetRegistrationsForOrigin( | 733 GetRegistrationsForOrigin(GURL("http://example.com/").GetOrigin(), |
| 715 GURL("http://example.com/").GetOrigin(), | 734 ®istrations_origin, &resource_lists); |
| 716 ®istrations_origin); | |
| 717 EXPECT_TRUE(registrations_origin.empty()); | 735 EXPECT_TRUE(registrations_origin.empty()); |
| 718 | 736 |
| 719 // Notify storage of it being installed. | 737 // Notify storage of it being installed. |
| 720 storage()->NotifyInstallingRegistration(live_registration.get()); | 738 storage()->NotifyInstallingRegistration(live_registration.get()); |
| 721 | 739 |
| 722 // Now should be findable. | 740 // Now should be findable. |
| 723 EXPECT_EQ(SERVICE_WORKER_OK, | 741 EXPECT_EQ(SERVICE_WORKER_OK, |
| 724 FindRegistrationForId( | 742 FindRegistrationForId( |
| 725 kRegistrationId, kScope.GetOrigin(), &found_registration)); | 743 kRegistrationId, kScope.GetOrigin(), &found_registration)); |
| 726 EXPECT_EQ(live_registration, found_registration); | 744 EXPECT_EQ(live_registration, found_registration); |
| 727 found_registration = NULL; | 745 found_registration = NULL; |
| 728 | 746 |
| 729 EXPECT_EQ(SERVICE_WORKER_OK, | 747 EXPECT_EQ(SERVICE_WORKER_OK, |
| 730 FindRegistrationForIdOnly(kRegistrationId, &found_registration)); | 748 FindRegistrationForIdOnly(kRegistrationId, &found_registration)); |
| 731 EXPECT_EQ(live_registration, found_registration); | 749 EXPECT_EQ(live_registration, found_registration); |
| 732 found_registration = NULL; | 750 found_registration = NULL; |
| 733 | 751 |
| 734 EXPECT_EQ(SERVICE_WORKER_OK, | 752 EXPECT_EQ(SERVICE_WORKER_OK, |
| 735 FindRegistrationForDocument(kDocumentUrl, &found_registration)); | 753 FindRegistrationForDocument(kDocumentUrl, &found_registration)); |
| 736 EXPECT_EQ(live_registration, found_registration); | 754 EXPECT_EQ(live_registration, found_registration); |
| 737 found_registration = NULL; | 755 found_registration = NULL; |
| 738 | 756 |
| 739 EXPECT_EQ(SERVICE_WORKER_OK, | 757 EXPECT_EQ(SERVICE_WORKER_OK, |
| 740 FindRegistrationForPattern(kScope, &found_registration)); | 758 FindRegistrationForPattern(kScope, &found_registration)); |
| 741 EXPECT_EQ(live_registration, found_registration); | 759 EXPECT_EQ(live_registration, found_registration); |
| 742 found_registration = NULL; | 760 found_registration = NULL; |
| 743 | 761 |
| 744 GetAllRegistrations(&all_registrations); | 762 GetAllRegistrationsInfos(&all_registrations); |
| 745 EXPECT_EQ(1u, all_registrations.size()); | 763 EXPECT_EQ(1u, all_registrations.size()); |
| 746 all_registrations.clear(); | 764 all_registrations.clear(); |
| 747 | 765 |
| 748 // Finding by origin should provide the same result iif origin is kScope. | 766 // Finding by origin should provide the same result iif origin is kScope. |
| 749 GetRegistrationsForOrigin(kScope.GetOrigin(), ®istrations_origin); | 767 GetRegistrationsForOrigin(kScope.GetOrigin(), ®istrations_origin, |
| 768 &resource_lists); |
| 750 EXPECT_EQ(1u, registrations_origin.size()); | 769 EXPECT_EQ(1u, registrations_origin.size()); |
| 751 registrations_origin.clear(); | 770 registrations_origin.clear(); |
| 752 | 771 |
| 753 GetRegistrationsForOrigin( | 772 GetRegistrationsForOrigin(GURL("http://example.com/").GetOrigin(), |
| 754 GURL("http://example.com/").GetOrigin(), | 773 ®istrations_origin, &resource_lists); |
| 755 ®istrations_origin); | |
| 756 EXPECT_TRUE(registrations_origin.empty()); | 774 EXPECT_TRUE(registrations_origin.empty()); |
| 757 | 775 |
| 758 // Notify storage of installation no longer happening. | 776 // Notify storage of installation no longer happening. |
| 759 storage()->NotifyDoneInstallingRegistration( | 777 storage()->NotifyDoneInstallingRegistration( |
| 760 live_registration.get(), NULL, SERVICE_WORKER_OK); | 778 live_registration.get(), NULL, SERVICE_WORKER_OK); |
| 761 | 779 |
| 762 // Once again, should not be findable. | 780 // Once again, should not be findable. |
| 763 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, | 781 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, |
| 764 FindRegistrationForId( | 782 FindRegistrationForId( |
| 765 kRegistrationId, kScope.GetOrigin(), &found_registration)); | 783 kRegistrationId, kScope.GetOrigin(), &found_registration)); |
| 766 EXPECT_FALSE(found_registration.get()); | 784 EXPECT_FALSE(found_registration.get()); |
| 767 | 785 |
| 768 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, | 786 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, |
| 769 FindRegistrationForIdOnly(kRegistrationId, &found_registration)); | 787 FindRegistrationForIdOnly(kRegistrationId, &found_registration)); |
| 770 EXPECT_FALSE(found_registration.get()); | 788 EXPECT_FALSE(found_registration.get()); |
| 771 | 789 |
| 772 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, | 790 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, |
| 773 FindRegistrationForDocument(kDocumentUrl, &found_registration)); | 791 FindRegistrationForDocument(kDocumentUrl, &found_registration)); |
| 774 EXPECT_FALSE(found_registration.get()); | 792 EXPECT_FALSE(found_registration.get()); |
| 775 | 793 |
| 776 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, | 794 EXPECT_EQ(SERVICE_WORKER_ERROR_NOT_FOUND, |
| 777 FindRegistrationForPattern(kScope, &found_registration)); | 795 FindRegistrationForPattern(kScope, &found_registration)); |
| 778 EXPECT_FALSE(found_registration.get()); | 796 EXPECT_FALSE(found_registration.get()); |
| 779 | 797 |
| 780 GetAllRegistrations(&all_registrations); | 798 GetAllRegistrationsInfos(&all_registrations); |
| 781 EXPECT_TRUE(all_registrations.empty()); | 799 EXPECT_TRUE(all_registrations.empty()); |
| 782 | 800 |
| 783 GetRegistrationsForOrigin(kScope.GetOrigin(), ®istrations_origin); | 801 GetRegistrationsForOrigin(kScope.GetOrigin(), ®istrations_origin, |
| 802 &resource_lists); |
| 784 EXPECT_TRUE(registrations_origin.empty()); | 803 EXPECT_TRUE(registrations_origin.empty()); |
| 785 | 804 |
| 786 GetRegistrationsForOrigin( | 805 GetRegistrationsForOrigin(GURL("http://example.com/").GetOrigin(), |
| 787 GURL("http://example.com/").GetOrigin(), | 806 ®istrations_origin, &resource_lists); |
| 788 ®istrations_origin); | |
| 789 EXPECT_TRUE(registrations_origin.empty()); | 807 EXPECT_TRUE(registrations_origin.empty()); |
| 790 } | 808 } |
| 791 | 809 |
| 792 TEST_F(ServiceWorkerStorageTest, StoreUserData) { | 810 TEST_F(ServiceWorkerStorageTest, StoreUserData) { |
| 793 const GURL kScope("http://www.test.not/scope/"); | 811 const GURL kScope("http://www.test.not/scope/"); |
| 794 const GURL kScript("http://www.test.not/script.js"); | 812 const GURL kScript("http://www.test.not/script.js"); |
| 795 const int64 kRegistrationId = 0; | 813 const int64 kRegistrationId = 0; |
| 796 const int64 kVersionId = 0; | 814 const int64 kVersionId = 0; |
| 797 | 815 |
| 798 LazyInitialize(); | 816 LazyInitialize(); |
| (...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1429 are_equal = true; | 1447 are_equal = true; |
| 1430 storage()->CompareScriptResources( | 1448 storage()->CompareScriptResources( |
| 1431 5, 6, | 1449 5, 6, |
| 1432 base::Bind(&OnCompareComplete, &status, &are_equal)); | 1450 base::Bind(&OnCompareComplete, &status, &are_equal)); |
| 1433 base::RunLoop().RunUntilIdle(); | 1451 base::RunLoop().RunUntilIdle(); |
| 1434 EXPECT_EQ(SERVICE_WORKER_OK, status); | 1452 EXPECT_EQ(SERVICE_WORKER_OK, status); |
| 1435 EXPECT_FALSE(are_equal); | 1453 EXPECT_FALSE(are_equal); |
| 1436 } | 1454 } |
| 1437 | 1455 |
| 1438 } // namespace content | 1456 } // namespace content |
| OLD | NEW |