Chromium Code Reviews| 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 "components/offline_pages/offline_page_model_impl.h" | 5 #include "components/offline_pages/offline_page_model_impl.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 #include <algorithm> | 8 #include <algorithm> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 118 void FastForwardBy(base::TimeDelta delta); | 118 void FastForwardBy(base::TimeDelta delta); |
| 119 void ResetResults(); | 119 void ResetResults(); |
| 120 | 120 |
| 121 OfflinePageTestStore* GetStore(); | 121 OfflinePageTestStore* GetStore(); |
| 122 | 122 |
| 123 MultipleOfflinePageItemResult GetAllPages(); | 123 MultipleOfflinePageItemResult GetAllPages(); |
| 124 MultipleOfflinePageItemResult GetPagesByClientIds( | 124 MultipleOfflinePageItemResult GetPagesByClientIds( |
| 125 const std::vector<ClientId>& client_ids); | 125 const std::vector<ClientId>& client_ids); |
| 126 void DeletePagesByClientIds(const std::vector<ClientId>& client_ids); | 126 void DeletePagesByClientIds(const std::vector<ClientId>& client_ids); |
| 127 | 127 |
| 128 // Saves the page without waiting for it to finish. | |
| 129 void AsyncSavePageWithArchiver( | |
|
fgorski
2016/11/10 23:56:13
nit: I like to put Async/Sync at the end. (Sorts b
jianli
2016/11/16 01:25:40
Done.
| |
| 130 const GURL& url, | |
| 131 const ClientId& client_id, | |
| 132 const GURL& original_url, | |
| 133 std::unique_ptr<OfflinePageArchiver> archiver); | |
| 134 | |
| 135 // All 3 methods below will wait for the save to finish. | |
| 136 void SavePageWithArchiver( | |
| 137 const GURL& url, | |
| 138 const ClientId& client_id, | |
| 139 std::unique_ptr<OfflinePageArchiver> archiver); | |
| 140 void SavePageWithArchiverResult(const GURL& url, | |
| 141 const ClientId& client_id, | |
| 142 OfflinePageArchiver::ArchiverResult result); | |
| 128 // Returns the offline ID of the saved page. | 143 // Returns the offline ID of the saved page. |
| 129 std::pair<SavePageResult, int64_t> SavePage(const GURL& url, | 144 std::pair<SavePageResult, int64_t> SavePage(const GURL& url, |
| 130 ClientId client_id); | 145 const ClientId& client_id); |
| 131 | |
| 132 void SavePageWithArchiverResult(const GURL& url, | |
| 133 ClientId client_id, | |
| 134 OfflinePageArchiver::ArchiverResult result); | |
| 135 | 146 |
| 136 void DeletePage(int64_t offline_id, const DeletePageCallback& callback) { | 147 void DeletePage(int64_t offline_id, const DeletePageCallback& callback) { |
| 137 std::vector<int64_t> offline_ids; | 148 std::vector<int64_t> offline_ids; |
| 138 offline_ids.push_back(offline_id); | 149 offline_ids.push_back(offline_id); |
| 139 model()->DeletePagesByOfflineId(offline_ids, callback); | 150 model()->DeletePagesByOfflineId(offline_ids, callback); |
| 140 } | 151 } |
| 141 | 152 |
| 142 bool HasPages(std::string name_space); | 153 bool HasPages(std::string name_space); |
| 143 | 154 |
| 144 CheckPagesExistOfflineResult CheckPagesExistOffline(std::set<GURL>); | 155 CheckPagesExistOfflineResult CheckPagesExistOffline(std::set<GURL>); |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 299 last_delete_result_ = DeletePageResult::CANCELLED; | 310 last_delete_result_ = DeletePageResult::CANCELLED; |
| 300 last_archiver_path_.clear(); | 311 last_archiver_path_.clear(); |
| 301 last_pages_exist_result_.clear(); | 312 last_pages_exist_result_.clear(); |
| 302 last_cleared_pages_count_ = 0; | 313 last_cleared_pages_count_ = 0; |
| 303 } | 314 } |
| 304 | 315 |
| 305 OfflinePageTestStore* OfflinePageModelImplTest::GetStore() { | 316 OfflinePageTestStore* OfflinePageModelImplTest::GetStore() { |
| 306 return static_cast<OfflinePageTestStore*>(model()->GetStoreForTesting()); | 317 return static_cast<OfflinePageTestStore*>(model()->GetStoreForTesting()); |
| 307 } | 318 } |
| 308 | 319 |
| 309 std::pair<SavePageResult, int64_t> OfflinePageModelImplTest::SavePage( | 320 void OfflinePageModelImplTest::AsyncSavePageWithArchiver( |
| 310 const GURL& url, | 321 const GURL& url, |
| 311 ClientId client_id) { | 322 const ClientId& client_id, |
| 323 const GURL& original_url, | |
| 324 std::unique_ptr<OfflinePageArchiver> archiver) { | |
| 325 OfflinePageModel::SavePageInfo save_page_info; | |
| 326 save_page_info.url = url; | |
| 327 save_page_info.client_id = client_id; | |
| 328 save_page_info.original_url = original_url; | |
| 329 model()->SavePage( | |
| 330 save_page_info, | |
| 331 std::move(archiver), | |
| 332 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); | |
| 333 } | |
| 334 | |
| 335 void OfflinePageModelImplTest::SavePageWithArchiver( | |
| 336 const GURL& url, | |
| 337 const ClientId& client_id, | |
| 338 std::unique_ptr<OfflinePageArchiver> archiver) { | |
| 339 AsyncSavePageWithArchiver(url, client_id, GURL(), std::move(archiver)); | |
| 340 PumpLoop(); | |
| 341 } | |
| 342 | |
| 343 void OfflinePageModelImplTest::SavePageWithArchiverResult( | |
| 344 const GURL& url, | |
| 345 const ClientId& client_id, | |
| 346 OfflinePageArchiver::ArchiverResult result) { | |
| 347 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver(url, result)); | |
| 348 SavePageWithArchiver(url, client_id, std::move(archiver)); | |
|
fgorski
2016/11/10 23:56:13
please don't chain methods like that.
It is better
jianli
2016/11/16 01:25:40
Done.
| |
| 349 } | |
| 350 | |
| 351 std::pair<SavePageResult, int64_t> | |
| 352 OfflinePageModelImplTest::SavePage(const GURL& url, const ClientId& client_id) { | |
| 312 SavePageWithArchiverResult( | 353 SavePageWithArchiverResult( |
|
fgorski
2016/11/10 23:56:14
Same here. Please update.
jianli
2016/11/16 01:25:40
Done.
| |
| 313 url, client_id, | 354 url, |
| 355 client_id, | |
| 314 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED); | 356 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED); |
| 315 return std::make_pair(last_save_result_, last_save_offline_id_); | 357 return std::make_pair(last_save_result_, last_save_offline_id_); |
| 316 } | 358 } |
| 317 | 359 |
| 318 void OfflinePageModelImplTest::SavePageWithArchiverResult( | |
| 319 const GURL& url, | |
| 320 ClientId client_id, | |
| 321 OfflinePageArchiver::ArchiverResult result) { | |
| 322 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver(url, result)); | |
| 323 model()->SavePage( | |
| 324 url, client_id, 0l, std::move(archiver), | |
| 325 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); | |
| 326 PumpLoop(); | |
| 327 } | |
| 328 | |
| 329 MultipleOfflinePageItemResult OfflinePageModelImplTest::GetAllPages() { | 360 MultipleOfflinePageItemResult OfflinePageModelImplTest::GetAllPages() { |
| 330 MultipleOfflinePageItemResult result; | 361 MultipleOfflinePageItemResult result; |
| 331 model()->GetAllPages( | 362 model()->GetAllPages( |
| 332 base::Bind(&OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult, | 363 base::Bind(&OfflinePageModelImplTest::OnGetMultipleOfflinePageItemsResult, |
| 333 AsWeakPtr(), base::Unretained(&result))); | 364 AsWeakPtr(), base::Unretained(&result))); |
| 334 PumpLoop(); | 365 PumpLoop(); |
| 335 return result; | 366 return result; |
| 336 } | 367 } |
| 337 | 368 |
| 338 MultipleOfflinePageItemResult OfflinePageModelImplTest::GetPagesByClientIds( | 369 MultipleOfflinePageItemResult OfflinePageModelImplTest::GetPagesByClientIds( |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 428 for (const auto& page : all_pages) { | 459 for (const auto& page : all_pages) { |
| 429 if (page.client_id.name_space == name_space) | 460 if (page.client_id.name_space == name_space) |
| 430 return true; | 461 return true; |
| 431 } | 462 } |
| 432 | 463 |
| 433 return false; | 464 return false; |
| 434 } | 465 } |
| 435 | 466 |
| 436 TEST_F(OfflinePageModelImplTest, SavePageSuccessful) { | 467 TEST_F(OfflinePageModelImplTest, SavePageSuccessful) { |
| 437 EXPECT_FALSE(HasPages(kTestClientNamespace)); | 468 EXPECT_FALSE(HasPages(kTestClientNamespace)); |
| 438 SavePage(kTestUrl, kTestClientId1); | 469 |
| 470 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver( | |
| 471 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); | |
| 472 AsyncSavePageWithArchiver( | |
| 473 kTestUrl, kTestClientId1, kTestUrl2, std::move(archiver)); | |
| 474 PumpLoop(); | |
| 439 EXPECT_TRUE(HasPages(kTestClientNamespace)); | 475 EXPECT_TRUE(HasPages(kTestClientNamespace)); |
| 440 | 476 |
| 441 OfflinePageTestStore* store = GetStore(); | 477 OfflinePageTestStore* store = GetStore(); |
| 442 EXPECT_EQ(kTestUrl, store->last_saved_page().url); | 478 EXPECT_EQ(kTestUrl, store->last_saved_page().url); |
| 443 EXPECT_EQ(kTestClientId1.id, store->last_saved_page().client_id.id); | 479 EXPECT_EQ(kTestClientId1.id, store->last_saved_page().client_id.id); |
| 444 EXPECT_EQ(kTestClientId1.name_space, | 480 EXPECT_EQ(kTestClientId1.name_space, |
| 445 store->last_saved_page().client_id.name_space); | 481 store->last_saved_page().client_id.name_space); |
| 446 // Save last_archiver_path since it will be referred to later. | 482 // Save last_archiver_path since it will be referred to later. |
| 447 base::FilePath archiver_path = last_archiver_path(); | 483 base::FilePath archiver_path = last_archiver_path(); |
| 448 EXPECT_EQ(archiver_path, store->last_saved_page().file_path); | 484 EXPECT_EQ(archiver_path, store->last_saved_page().file_path); |
| 449 EXPECT_EQ(kTestFileSize, store->last_saved_page().file_size); | 485 EXPECT_EQ(kTestFileSize, store->last_saved_page().file_size); |
| 450 EXPECT_EQ(SavePageResult::SUCCESS, last_save_result()); | 486 EXPECT_EQ(SavePageResult::SUCCESS, last_save_result()); |
| 451 ResetResults(); | 487 ResetResults(); |
| 452 | 488 |
| 453 const std::vector<OfflinePageItem>& offline_pages = GetAllPages(); | 489 const std::vector<OfflinePageItem>& offline_pages = GetAllPages(); |
| 454 | 490 |
| 455 EXPECT_EQ(1UL, offline_pages.size()); | 491 ASSERT_EQ(1UL, offline_pages.size()); |
|
fgorski
2016/11/10 23:56:13
Good!
jianli
2016/11/16 01:25:40
Acknowledged.
| |
| 456 EXPECT_EQ(kTestUrl, offline_pages[0].url); | 492 EXPECT_EQ(kTestUrl, offline_pages[0].url); |
| 457 EXPECT_EQ(kTestClientId1.id, offline_pages[0].client_id.id); | 493 EXPECT_EQ(kTestClientId1.id, offline_pages[0].client_id.id); |
| 458 EXPECT_EQ(kTestClientId1.name_space, offline_pages[0].client_id.name_space); | 494 EXPECT_EQ(kTestClientId1.name_space, offline_pages[0].client_id.name_space); |
| 459 EXPECT_EQ(archiver_path, offline_pages[0].file_path); | 495 EXPECT_EQ(archiver_path, offline_pages[0].file_path); |
| 460 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size); | 496 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size); |
| 461 EXPECT_EQ(0, offline_pages[0].access_count); | 497 EXPECT_EQ(0, offline_pages[0].access_count); |
| 462 EXPECT_EQ(0, offline_pages[0].flags); | 498 EXPECT_EQ(0, offline_pages[0].flags); |
| 463 EXPECT_EQ(kTestTitle, offline_pages[0].title); | 499 EXPECT_EQ(kTestTitle, offline_pages[0].title); |
| 500 EXPECT_EQ(kTestUrl2, offline_pages[0].original_url); | |
| 464 } | 501 } |
| 465 | 502 |
| 466 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverCancelled) { | 503 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverCancelled) { |
| 467 SavePageWithArchiverResult( | 504 SavePageWithArchiverResult( |
| 468 kTestUrl, kTestClientId1, | 505 kTestUrl, kTestClientId1, |
| 469 OfflinePageArchiver::ArchiverResult::ERROR_CANCELED); | 506 OfflinePageArchiver::ArchiverResult::ERROR_CANCELED); |
| 470 EXPECT_EQ(SavePageResult::CANCELLED, last_save_result()); | 507 EXPECT_EQ(SavePageResult::CANCELLED, last_save_result()); |
| 471 } | 508 } |
| 472 | 509 |
| 473 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverDeviceFull) { | 510 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverDeviceFull) { |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 488 SavePageWithArchiverResult( | 525 SavePageWithArchiverResult( |
| 489 kTestUrl, kTestClientId1, | 526 kTestUrl, kTestClientId1, |
| 490 OfflinePageArchiver::ArchiverResult::ERROR_ARCHIVE_CREATION_FAILED); | 527 OfflinePageArchiver::ArchiverResult::ERROR_ARCHIVE_CREATION_FAILED); |
| 491 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result()); | 528 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result()); |
| 492 } | 529 } |
| 493 | 530 |
| 494 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverReturnedWrongUrl) { | 531 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverReturnedWrongUrl) { |
| 495 std::unique_ptr<OfflinePageTestArchiver> archiver( | 532 std::unique_ptr<OfflinePageTestArchiver> archiver( |
| 496 BuildArchiver(GURL("http://other.random.url.com"), | 533 BuildArchiver(GURL("http://other.random.url.com"), |
| 497 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); | 534 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); |
| 498 model()->SavePage( | 535 SavePageWithArchiver(kTestUrl, kTestClientId1, std::move(archiver)); |
| 499 kTestUrl, kTestClientId1, 0l, std::move(archiver), | |
| 500 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); | |
| 501 PumpLoop(); | |
| 502 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result()); | 536 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result()); |
| 503 } | 537 } |
| 504 | 538 |
| 505 TEST_F(OfflinePageModelImplTest, SavePageOfflineCreationStoreWriteFailure) { | 539 TEST_F(OfflinePageModelImplTest, SavePageOfflineCreationStoreWriteFailure) { |
| 506 GetStore()->set_test_scenario( | 540 GetStore()->set_test_scenario( |
| 507 OfflinePageTestStore::TestScenario::WRITE_FAILED); | 541 OfflinePageTestStore::TestScenario::WRITE_FAILED); |
| 508 SavePage(kTestUrl, kTestClientId1); | 542 SavePageWithArchiverResult( |
| 543 kTestUrl, kTestClientId1, | |
| 544 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED); | |
| 509 EXPECT_EQ(SavePageResult::STORE_FAILURE, last_save_result()); | 545 EXPECT_EQ(SavePageResult::STORE_FAILURE, last_save_result()); |
| 510 } | 546 } |
| 511 | 547 |
| 512 TEST_F(OfflinePageModelImplTest, SavePageLocalFileFailed) { | 548 TEST_F(OfflinePageModelImplTest, SavePageLocalFileFailed) { |
| 513 // Don't create archiver since it will not be needed for pages that are not | 549 // Don't create archiver since it will not be needed for pages that are not |
| 514 // going to be saved. | 550 // going to be saved. |
| 515 model()->SavePage( | 551 SavePageWithArchiver( |
| 516 kFileUrl, kTestClientId1, 0l, std::unique_ptr<OfflinePageTestArchiver>(), | 552 kFileUrl, kTestClientId1, std::unique_ptr<OfflinePageTestArchiver>()); |
| 517 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); | |
| 518 PumpLoop(); | |
| 519 EXPECT_EQ(SavePageResult::SKIPPED, last_save_result()); | 553 EXPECT_EQ(SavePageResult::SKIPPED, last_save_result()); |
| 520 } | 554 } |
| 521 | 555 |
| 522 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverTwoPages) { | 556 TEST_F(OfflinePageModelImplTest, SavePageOfflineArchiverTwoPages) { |
| 523 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver( | 557 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver( |
| 524 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); | 558 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); |
| 525 // archiver_ptr will be valid until after first PumpLoop() call after | 559 // archiver_ptr will be valid until after first PumpLoop() call after |
| 526 // CompleteCreateArchive() is called. | 560 // CompleteCreateArchive() is called. |
| 527 OfflinePageTestArchiver* archiver_ptr = archiver.get(); | 561 OfflinePageTestArchiver* archiver_ptr = archiver.get(); |
| 528 archiver_ptr->set_delayed(true); | 562 archiver_ptr->set_delayed(true); |
| 529 model()->SavePage( | 563 AsyncSavePageWithArchiver( |
| 530 kTestUrl, kTestClientId1, 0l, std::move(archiver), | 564 kTestUrl, kTestClientId1, GURL(), std::move(archiver)); |
| 531 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); | |
| 532 EXPECT_TRUE(archiver_ptr->create_archive_called()); | 565 EXPECT_TRUE(archiver_ptr->create_archive_called()); |
| 533 | 566 |
| 534 // Request to save another page. | 567 // Request to save another page. |
| 535 SavePage(kTestUrl2, kTestClientId2); | 568 SavePage(kTestUrl2, kTestClientId2); |
| 536 | 569 |
| 537 OfflinePageTestStore* store = GetStore(); | 570 OfflinePageTestStore* store = GetStore(); |
| 538 | 571 |
| 539 EXPECT_EQ(kTestUrl2, store->last_saved_page().url); | 572 EXPECT_EQ(kTestUrl2, store->last_saved_page().url); |
| 540 EXPECT_EQ(kTestClientId2, store->last_saved_page().client_id); | 573 EXPECT_EQ(kTestClientId2, store->last_saved_page().client_id); |
| 541 base::FilePath archiver_path2 = last_archiver_path(); | 574 base::FilePath archiver_path2 = last_archiver_path(); |
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 835 PumpLoop(); | 868 PumpLoop(); |
| 836 | 869 |
| 837 EXPECT_EQ(0UL, GetAllPages().size()); | 870 EXPECT_EQ(0UL, GetAllPages().size()); |
| 838 EXPECT_FALSE(base::PathExists(path)); | 871 EXPECT_FALSE(base::PathExists(path)); |
| 839 } | 872 } |
| 840 | 873 |
| 841 TEST_F(OfflinePageModelImplTest, DeleteMultiplePages) { | 874 TEST_F(OfflinePageModelImplTest, DeleteMultiplePages) { |
| 842 OfflinePageTestStore* store = GetStore(); | 875 OfflinePageTestStore* store = GetStore(); |
| 843 | 876 |
| 844 // Save 3 pages. | 877 // Save 3 pages. |
| 845 std::unique_ptr<OfflinePageTestArchiver> archiver(BuildArchiver( | 878 SavePage(kTestUrl, kTestClientId1); |
| 846 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); | |
| 847 model()->SavePage( | |
| 848 kTestUrl, kTestClientId1, 0l, std::move(archiver), | |
| 849 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); | |
| 850 PumpLoop(); | |
| 851 int64_t offline1 = last_save_offline_id(); | 879 int64_t offline1 = last_save_offline_id(); |
| 852 | 880 |
| 853 std::unique_ptr<OfflinePageTestArchiver> archiver2(BuildArchiver( | 881 SavePage(kTestUrl2, kTestClientId2); |
| 854 kTestUrl2, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); | |
| 855 model()->SavePage( | |
| 856 kTestUrl2, kTestClientId2, 0l, std::move(archiver2), | |
| 857 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); | |
| 858 PumpLoop(); | |
| 859 int64_t offline2 = last_save_offline_id(); | 882 int64_t offline2 = last_save_offline_id(); |
| 860 | 883 |
| 861 std::unique_ptr<OfflinePageTestArchiver> archiver3(BuildArchiver( | 884 SavePage(kTestUrl3, kTestClientId3); |
| 862 kTestUrl3, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); | |
| 863 model()->SavePage( | |
| 864 kTestUrl3, kTestClientId3, 0l, std::move(archiver3), | |
| 865 base::Bind(&OfflinePageModelImplTest::OnSavePageDone, AsWeakPtr())); | |
| 866 PumpLoop(); | 885 PumpLoop(); |
| 867 | 886 |
| 868 EXPECT_EQ(3u, store->GetAllPages().size()); | 887 EXPECT_EQ(3u, store->GetAllPages().size()); |
| 869 | 888 |
| 870 // Delete multiple pages. | 889 // Delete multiple pages. |
| 871 std::vector<int64_t> ids_to_delete; | 890 std::vector<int64_t> ids_to_delete; |
| 872 ids_to_delete.push_back(offline2); | 891 ids_to_delete.push_back(offline2); |
| 873 ids_to_delete.push_back(offline1); | 892 ids_to_delete.push_back(offline1); |
| 874 ids_to_delete.push_back(23434LL); // Non-existent ID. | 893 ids_to_delete.push_back(23434LL); // Non-existent ID. |
| 875 model()->DeletePagesByOfflineId( | 894 model()->DeletePagesByOfflineId( |
| (...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1226 // Check if feature is correctly enabled by command-line flag. | 1245 // Check if feature is correctly enabled by command-line flag. |
| 1227 scoped_feature_list.reset(new base::test::ScopedFeatureList); | 1246 scoped_feature_list.reset(new base::test::ScopedFeatureList); |
| 1228 scoped_feature_list->InitFromCommandLine( | 1247 scoped_feature_list->InitFromCommandLine( |
| 1229 std::string(kOfflineBookmarksFeature.name) + "," + | 1248 std::string(kOfflineBookmarksFeature.name) + "," + |
| 1230 kOfflinePagesSharingFeature.name, | 1249 kOfflinePagesSharingFeature.name, |
| 1231 ""); | 1250 ""); |
| 1232 EXPECT_TRUE(offline_pages::IsOfflinePagesSharingEnabled()); | 1251 EXPECT_TRUE(offline_pages::IsOfflinePagesSharingEnabled()); |
| 1233 } | 1252 } |
| 1234 | 1253 |
| 1235 } // namespace offline_pages | 1254 } // namespace offline_pages |
| OLD | NEW |