| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/sync/test/integration/bookmarks_helper.h" | 5 #include "chrome/browser/sync/test/integration/bookmarks_helper.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <set> | 10 #include <set> |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 BookmarkModel* model_; | 135 BookmarkModel* model_; |
| 136 const BookmarkNode* node_; | 136 const BookmarkNode* node_; |
| 137 bool wait_for_load_; | 137 bool wait_for_load_; |
| 138 DISALLOW_COPY_AND_ASSIGN(FaviconChangeObserver); | 138 DISALLOW_COPY_AND_ASSIGN(FaviconChangeObserver); |
| 139 }; | 139 }; |
| 140 | 140 |
| 141 // A collection of URLs for which we have added favicons. Since loading a | 141 // A collection of URLs for which we have added favicons. Since loading a |
| 142 // favicon is an asynchronous operation and doesn't necessarily invoke a | 142 // favicon is an asynchronous operation and doesn't necessarily invoke a |
| 143 // callback, this collection is used to determine if we must wait for a URL's | 143 // callback, this collection is used to determine if we must wait for a URL's |
| 144 // favicon to load or not. | 144 // favicon to load or not. |
| 145 std::set<GURL>* urls_with_favicons_ = NULL; | 145 std::set<GURL>* urls_with_favicons_ = nullptr; |
| 146 | 146 |
| 147 // Returns the number of nodes of node type |node_type| in |model| whose | 147 // Returns the number of nodes of node type |node_type| in |model| whose |
| 148 // titles match the string |title|. | 148 // titles match the string |title|. |
| 149 int CountNodesWithTitlesMatching(BookmarkModel* model, | 149 int CountNodesWithTitlesMatching(BookmarkModel* model, |
| 150 BookmarkNode::Type node_type, | 150 BookmarkNode::Type node_type, |
| 151 const base::string16& title) { | 151 const base::string16& title) { |
| 152 ui::TreeNodeIterator<const BookmarkNode> iterator(model->root_node()); | 152 ui::TreeNodeIterator<const BookmarkNode> iterator(model->root_node()); |
| 153 // Walk through the model tree looking for bookmark nodes of node type | 153 // Walk through the model tree looking for bookmark nodes of node type |
| 154 // |node_type| whose titles match |title|. | 154 // |node_type| whose titles match |title|. |
| 155 int count = 0; | 155 int count = 0; |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 348 SkBitmap bitmap_a = image_a.AsImageSkia().GetRepresentation( | 348 SkBitmap bitmap_a = image_a.AsImageSkia().GetRepresentation( |
| 349 1.0f).sk_bitmap(); | 349 1.0f).sk_bitmap(); |
| 350 SkBitmap bitmap_b = image_b.AsImageSkia().GetRepresentation( | 350 SkBitmap bitmap_b = image_b.AsImageSkia().GetRepresentation( |
| 351 1.0f).sk_bitmap(); | 351 1.0f).sk_bitmap(); |
| 352 return FaviconRawBitmapsMatch(bitmap_a, bitmap_b); | 352 return FaviconRawBitmapsMatch(bitmap_a, bitmap_b); |
| 353 } | 353 } |
| 354 | 354 |
| 355 // Does a deep comparison of BookmarkNode fields in |model_a| and |model_b|. | 355 // Does a deep comparison of BookmarkNode fields in |model_a| and |model_b|. |
| 356 // Returns true if they are all equal. | 356 // Returns true if they are all equal. |
| 357 bool NodesMatch(const BookmarkNode* node_a, const BookmarkNode* node_b) { | 357 bool NodesMatch(const BookmarkNode* node_a, const BookmarkNode* node_b) { |
| 358 if (node_a == NULL || node_b == NULL) | 358 if (node_a == nullptr || node_b == nullptr) |
| 359 return node_a == node_b; | 359 return node_a == node_b; |
| 360 if (node_a->is_folder() != node_b->is_folder()) { | 360 if (node_a->is_folder() != node_b->is_folder()) { |
| 361 LOG(ERROR) << "Cannot compare folder with bookmark"; | 361 LOG(ERROR) << "Cannot compare folder with bookmark"; |
| 362 return false; | 362 return false; |
| 363 } | 363 } |
| 364 if (node_a->GetTitle() != node_b->GetTitle()) { | 364 if (node_a->GetTitle() != node_b->GetTitle()) { |
| 365 LOG(ERROR) << "Title mismatch: " << node_a->GetTitle() << " vs. " | 365 LOG(ERROR) << "Title mismatch: " << node_a->GetTitle() << " vs. " |
| 366 << node_b->GetTitle(); | 366 << node_b->GetTitle(); |
| 367 return false; | 367 return false; |
| 368 } | 368 } |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 489 | 489 |
| 490 const BookmarkNode* AddURL(int profile, | 490 const BookmarkNode* AddURL(int profile, |
| 491 const BookmarkNode* parent, | 491 const BookmarkNode* parent, |
| 492 int index, | 492 int index, |
| 493 const std::string& title, | 493 const std::string& title, |
| 494 const GURL& url) { | 494 const GURL& url) { |
| 495 BookmarkModel* model = GetBookmarkModel(profile); | 495 BookmarkModel* model = GetBookmarkModel(profile); |
| 496 if (bookmarks::GetBookmarkNodeByID(model, parent->id()) != parent) { | 496 if (bookmarks::GetBookmarkNodeByID(model, parent->id()) != parent) { |
| 497 LOG(ERROR) << "Node " << parent->GetTitle() << " does not belong to " | 497 LOG(ERROR) << "Node " << parent->GetTitle() << " does not belong to " |
| 498 << "Profile " << profile; | 498 << "Profile " << profile; |
| 499 return NULL; | 499 return nullptr; |
| 500 } | 500 } |
| 501 const BookmarkNode* result = | 501 const BookmarkNode* result = |
| 502 model->AddURL(parent, index, base::UTF8ToUTF16(title), url); | 502 model->AddURL(parent, index, base::UTF8ToUTF16(title), url); |
| 503 if (!result) { | 503 if (!result) { |
| 504 LOG(ERROR) << "Could not add bookmark " << title << " to Profile " | 504 LOG(ERROR) << "Could not add bookmark " << title << " to Profile " |
| 505 << profile; | 505 << profile; |
| 506 return NULL; | 506 return nullptr; |
| 507 } | 507 } |
| 508 if (sync_datatype_helper::test()->use_verifier()) { | 508 if (sync_datatype_helper::test()->use_verifier()) { |
| 509 const BookmarkNode* v_parent = NULL; | 509 const BookmarkNode* v_parent = nullptr; |
| 510 FindNodeInVerifier(model, parent, &v_parent); | 510 FindNodeInVerifier(model, parent, &v_parent); |
| 511 const BookmarkNode* v_node = GetVerifierBookmarkModel()->AddURL( | 511 const BookmarkNode* v_node = GetVerifierBookmarkModel()->AddURL( |
| 512 v_parent, index, base::UTF8ToUTF16(title), url); | 512 v_parent, index, base::UTF8ToUTF16(title), url); |
| 513 if (!v_node) { | 513 if (!v_node) { |
| 514 LOG(ERROR) << "Could not add bookmark " << title << " to the verifier"; | 514 LOG(ERROR) << "Could not add bookmark " << title << " to the verifier"; |
| 515 return NULL; | 515 return nullptr; |
| 516 } | 516 } |
| 517 EXPECT_TRUE(NodesMatch(v_node, result)); | 517 EXPECT_TRUE(NodesMatch(v_node, result)); |
| 518 } | 518 } |
| 519 return result; | 519 return result; |
| 520 } | 520 } |
| 521 | 521 |
| 522 const BookmarkNode* AddFolder(int profile, | 522 const BookmarkNode* AddFolder(int profile, |
| 523 const std::string& title) { | 523 const std::string& title) { |
| 524 return AddFolder(profile, GetBookmarkBarNode(profile), 0, title); | 524 return AddFolder(profile, GetBookmarkBarNode(profile), 0, title); |
| 525 } | 525 } |
| 526 | 526 |
| 527 const BookmarkNode* AddFolder(int profile, | 527 const BookmarkNode* AddFolder(int profile, |
| 528 int index, | 528 int index, |
| 529 const std::string& title) { | 529 const std::string& title) { |
| 530 return AddFolder(profile, GetBookmarkBarNode(profile), index, title); | 530 return AddFolder(profile, GetBookmarkBarNode(profile), index, title); |
| 531 } | 531 } |
| 532 | 532 |
| 533 const BookmarkNode* AddFolder(int profile, | 533 const BookmarkNode* AddFolder(int profile, |
| 534 const BookmarkNode* parent, | 534 const BookmarkNode* parent, |
| 535 int index, | 535 int index, |
| 536 const std::string& title) { | 536 const std::string& title) { |
| 537 BookmarkModel* model = GetBookmarkModel(profile); | 537 BookmarkModel* model = GetBookmarkModel(profile); |
| 538 if (bookmarks::GetBookmarkNodeByID(model, parent->id()) != parent) { | 538 if (bookmarks::GetBookmarkNodeByID(model, parent->id()) != parent) { |
| 539 LOG(ERROR) << "Node " << parent->GetTitle() << " does not belong to " | 539 LOG(ERROR) << "Node " << parent->GetTitle() << " does not belong to " |
| 540 << "Profile " << profile; | 540 << "Profile " << profile; |
| 541 return NULL; | 541 return nullptr; |
| 542 } | 542 } |
| 543 const BookmarkNode* result = | 543 const BookmarkNode* result = |
| 544 model->AddFolder(parent, index, base::UTF8ToUTF16(title)); | 544 model->AddFolder(parent, index, base::UTF8ToUTF16(title)); |
| 545 EXPECT_TRUE(result); | 545 EXPECT_TRUE(result); |
| 546 if (!result) { | 546 if (!result) { |
| 547 LOG(ERROR) << "Could not add folder " << title << " to Profile " | 547 LOG(ERROR) << "Could not add folder " << title << " to Profile " |
| 548 << profile; | 548 << profile; |
| 549 return NULL; | 549 return nullptr; |
| 550 } | 550 } |
| 551 if (sync_datatype_helper::test()->use_verifier()) { | 551 if (sync_datatype_helper::test()->use_verifier()) { |
| 552 const BookmarkNode* v_parent = NULL; | 552 const BookmarkNode* v_parent = nullptr; |
| 553 FindNodeInVerifier(model, parent, &v_parent); | 553 FindNodeInVerifier(model, parent, &v_parent); |
| 554 const BookmarkNode* v_node = GetVerifierBookmarkModel()->AddFolder( | 554 const BookmarkNode* v_node = GetVerifierBookmarkModel()->AddFolder( |
| 555 v_parent, index, base::UTF8ToUTF16(title)); | 555 v_parent, index, base::UTF8ToUTF16(title)); |
| 556 if (!v_node) { | 556 if (!v_node) { |
| 557 LOG(ERROR) << "Could not add folder " << title << " to the verifier"; | 557 LOG(ERROR) << "Could not add folder " << title << " to the verifier"; |
| 558 return NULL; | 558 return nullptr; |
| 559 } | 559 } |
| 560 EXPECT_TRUE(NodesMatch(v_node, result)); | 560 EXPECT_TRUE(NodesMatch(v_node, result)); |
| 561 } | 561 } |
| 562 return result; | 562 return result; |
| 563 } | 563 } |
| 564 | 564 |
| 565 void SetTitle(int profile, | 565 void SetTitle(int profile, |
| 566 const BookmarkNode* node, | 566 const BookmarkNode* node, |
| 567 const std::string& new_title) { | 567 const std::string& new_title) { |
| 568 BookmarkModel* model = GetBookmarkModel(profile); | 568 BookmarkModel* model = GetBookmarkModel(profile); |
| 569 ASSERT_EQ(bookmarks::GetBookmarkNodeByID(model, node->id()), node) | 569 ASSERT_EQ(bookmarks::GetBookmarkNodeByID(model, node->id()), node) |
| 570 << "Node " << node->GetTitle() << " does not belong to " | 570 << "Node " << node->GetTitle() << " does not belong to " |
| 571 << "Profile " << profile; | 571 << "Profile " << profile; |
| 572 if (sync_datatype_helper::test()->use_verifier()) { | 572 if (sync_datatype_helper::test()->use_verifier()) { |
| 573 const BookmarkNode* v_node = NULL; | 573 const BookmarkNode* v_node = nullptr; |
| 574 FindNodeInVerifier(model, node, &v_node); | 574 FindNodeInVerifier(model, node, &v_node); |
| 575 GetVerifierBookmarkModel()->SetTitle(v_node, base::UTF8ToUTF16(new_title)); | 575 GetVerifierBookmarkModel()->SetTitle(v_node, base::UTF8ToUTF16(new_title)); |
| 576 } | 576 } |
| 577 model->SetTitle(node, base::UTF8ToUTF16(new_title)); | 577 model->SetTitle(node, base::UTF8ToUTF16(new_title)); |
| 578 } | 578 } |
| 579 | 579 |
| 580 void SetFavicon(int profile, | 580 void SetFavicon(int profile, |
| 581 const BookmarkNode* node, | 581 const BookmarkNode* node, |
| 582 const GURL& icon_url, | 582 const GURL& icon_url, |
| 583 const gfx::Image& image, | 583 const gfx::Image& image, |
| 584 FaviconSource favicon_source) { | 584 FaviconSource favicon_source) { |
| 585 BookmarkModel* model = GetBookmarkModel(profile); | 585 BookmarkModel* model = GetBookmarkModel(profile); |
| 586 ASSERT_EQ(bookmarks::GetBookmarkNodeByID(model, node->id()), node) | 586 ASSERT_EQ(bookmarks::GetBookmarkNodeByID(model, node->id()), node) |
| 587 << "Node " << node->GetTitle() << " does not belong to " | 587 << "Node " << node->GetTitle() << " does not belong to " |
| 588 << "Profile " << profile; | 588 << "Profile " << profile; |
| 589 ASSERT_EQ(BookmarkNode::URL, node->type()) << "Node " << node->GetTitle() | 589 ASSERT_EQ(BookmarkNode::URL, node->type()) << "Node " << node->GetTitle() |
| 590 << " must be a url."; | 590 << " must be a url."; |
| 591 if (urls_with_favicons_ == NULL) | 591 if (urls_with_favicons_ == nullptr) |
| 592 urls_with_favicons_ = new std::set<GURL>(); | 592 urls_with_favicons_ = new std::set<GURL>(); |
| 593 urls_with_favicons_->insert(node->url()); | 593 urls_with_favicons_->insert(node->url()); |
| 594 if (sync_datatype_helper::test()->use_verifier()) { | 594 if (sync_datatype_helper::test()->use_verifier()) { |
| 595 const BookmarkNode* v_node = NULL; | 595 const BookmarkNode* v_node = nullptr; |
| 596 FindNodeInVerifier(model, node, &v_node); | 596 FindNodeInVerifier(model, node, &v_node); |
| 597 SetFaviconImpl(sync_datatype_helper::test()->verifier(), | 597 SetFaviconImpl(sync_datatype_helper::test()->verifier(), |
| 598 v_node, | 598 v_node, |
| 599 icon_url, | 599 icon_url, |
| 600 image, | 600 image, |
| 601 favicon_source); | 601 favicon_source); |
| 602 } | 602 } |
| 603 SetFaviconImpl(sync_datatype_helper::test()->GetProfile(profile), | 603 SetFaviconImpl(sync_datatype_helper::test()->GetProfile(profile), |
| 604 node, | 604 node, |
| 605 icon_url, | 605 icon_url, |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 642 run_loop.Run(); | 642 run_loop.Run(); |
| 643 } | 643 } |
| 644 | 644 |
| 645 const BookmarkNode* SetURL(int profile, | 645 const BookmarkNode* SetURL(int profile, |
| 646 const BookmarkNode* node, | 646 const BookmarkNode* node, |
| 647 const GURL& new_url) { | 647 const GURL& new_url) { |
| 648 BookmarkModel* model = GetBookmarkModel(profile); | 648 BookmarkModel* model = GetBookmarkModel(profile); |
| 649 if (bookmarks::GetBookmarkNodeByID(model, node->id()) != node) { | 649 if (bookmarks::GetBookmarkNodeByID(model, node->id()) != node) { |
| 650 LOG(ERROR) << "Node " << node->GetTitle() << " does not belong to " | 650 LOG(ERROR) << "Node " << node->GetTitle() << " does not belong to " |
| 651 << "Profile " << profile; | 651 << "Profile " << profile; |
| 652 return NULL; | 652 return nullptr; |
| 653 } | 653 } |
| 654 if (sync_datatype_helper::test()->use_verifier()) { | 654 if (sync_datatype_helper::test()->use_verifier()) { |
| 655 const BookmarkNode* v_node = NULL; | 655 const BookmarkNode* v_node = nullptr; |
| 656 FindNodeInVerifier(model, node, &v_node); | 656 FindNodeInVerifier(model, node, &v_node); |
| 657 if (v_node->is_url()) | 657 if (v_node->is_url()) |
| 658 GetVerifierBookmarkModel()->SetURL(v_node, new_url); | 658 GetVerifierBookmarkModel()->SetURL(v_node, new_url); |
| 659 } | 659 } |
| 660 if (node->is_url()) | 660 if (node->is_url()) |
| 661 model->SetURL(node, new_url); | 661 model->SetURL(node, new_url); |
| 662 return node; | 662 return node; |
| 663 } | 663 } |
| 664 | 664 |
| 665 void Move(int profile, | 665 void Move(int profile, |
| 666 const BookmarkNode* node, | 666 const BookmarkNode* node, |
| 667 const BookmarkNode* new_parent, | 667 const BookmarkNode* new_parent, |
| 668 int index) { | 668 int index) { |
| 669 BookmarkModel* model = GetBookmarkModel(profile); | 669 BookmarkModel* model = GetBookmarkModel(profile); |
| 670 ASSERT_EQ(bookmarks::GetBookmarkNodeByID(model, node->id()), node) | 670 ASSERT_EQ(bookmarks::GetBookmarkNodeByID(model, node->id()), node) |
| 671 << "Node " << node->GetTitle() << " does not belong to " | 671 << "Node " << node->GetTitle() << " does not belong to " |
| 672 << "Profile " << profile; | 672 << "Profile " << profile; |
| 673 if (sync_datatype_helper::test()->use_verifier()) { | 673 if (sync_datatype_helper::test()->use_verifier()) { |
| 674 const BookmarkNode* v_new_parent = NULL; | 674 const BookmarkNode* v_new_parent = nullptr; |
| 675 const BookmarkNode* v_node = NULL; | 675 const BookmarkNode* v_node = nullptr; |
| 676 FindNodeInVerifier(model, new_parent, &v_new_parent); | 676 FindNodeInVerifier(model, new_parent, &v_new_parent); |
| 677 FindNodeInVerifier(model, node, &v_node); | 677 FindNodeInVerifier(model, node, &v_node); |
| 678 GetVerifierBookmarkModel()->Move(v_node, v_new_parent, index); | 678 GetVerifierBookmarkModel()->Move(v_node, v_new_parent, index); |
| 679 } | 679 } |
| 680 model->Move(node, new_parent, index); | 680 model->Move(node, new_parent, index); |
| 681 } | 681 } |
| 682 | 682 |
| 683 void Remove(int profile, const BookmarkNode* parent, int index) { | 683 void Remove(int profile, const BookmarkNode* parent, int index) { |
| 684 BookmarkModel* model = GetBookmarkModel(profile); | 684 BookmarkModel* model = GetBookmarkModel(profile); |
| 685 ASSERT_EQ(bookmarks::GetBookmarkNodeByID(model, parent->id()), parent) | 685 ASSERT_EQ(bookmarks::GetBookmarkNodeByID(model, parent->id()), parent) |
| 686 << "Node " << parent->GetTitle() << " does not belong to " | 686 << "Node " << parent->GetTitle() << " does not belong to " |
| 687 << "Profile " << profile; | 687 << "Profile " << profile; |
| 688 if (sync_datatype_helper::test()->use_verifier()) { | 688 if (sync_datatype_helper::test()->use_verifier()) { |
| 689 const BookmarkNode* v_parent = NULL; | 689 const BookmarkNode* v_parent = nullptr; |
| 690 FindNodeInVerifier(model, parent, &v_parent); | 690 FindNodeInVerifier(model, parent, &v_parent); |
| 691 ASSERT_TRUE(NodesMatch(parent->GetChild(index), v_parent->GetChild(index))); | 691 ASSERT_TRUE(NodesMatch(parent->GetChild(index), v_parent->GetChild(index))); |
| 692 GetVerifierBookmarkModel()->Remove(v_parent->GetChild(index)); | 692 GetVerifierBookmarkModel()->Remove(v_parent->GetChild(index)); |
| 693 } | 693 } |
| 694 model->Remove(parent->GetChild(index)); | 694 model->Remove(parent->GetChild(index)); |
| 695 } | 695 } |
| 696 | 696 |
| 697 void RemoveAll(int profile) { | 697 void RemoveAll(int profile) { |
| 698 if (sync_datatype_helper::test()->use_verifier()) { | 698 if (sync_datatype_helper::test()->use_verifier()) { |
| 699 const BookmarkNode* root_node = GetVerifierBookmarkModel()->root_node(); | 699 const BookmarkNode* root_node = GetVerifierBookmarkModel()->root_node(); |
| 700 for (int i = 0; i < root_node->child_count(); ++i) { | 700 for (int i = 0; i < root_node->child_count(); ++i) { |
| 701 const BookmarkNode* permanent_node = root_node->GetChild(i); | 701 const BookmarkNode* permanent_node = root_node->GetChild(i); |
| 702 for (int j = permanent_node->child_count() - 1; j >= 0; --j) { | 702 for (int j = permanent_node->child_count() - 1; j >= 0; --j) { |
| 703 GetVerifierBookmarkModel()->Remove(permanent_node->GetChild(j)); | 703 GetVerifierBookmarkModel()->Remove(permanent_node->GetChild(j)); |
| 704 } | 704 } |
| 705 } | 705 } |
| 706 } | 706 } |
| 707 GetBookmarkModel(profile)->RemoveAllUserBookmarks(); | 707 GetBookmarkModel(profile)->RemoveAllUserBookmarks(); |
| 708 } | 708 } |
| 709 | 709 |
| 710 void SortChildren(int profile, const BookmarkNode* parent) { | 710 void SortChildren(int profile, const BookmarkNode* parent) { |
| 711 BookmarkModel* model = GetBookmarkModel(profile); | 711 BookmarkModel* model = GetBookmarkModel(profile); |
| 712 ASSERT_EQ(bookmarks::GetBookmarkNodeByID(model, parent->id()), parent) | 712 ASSERT_EQ(bookmarks::GetBookmarkNodeByID(model, parent->id()), parent) |
| 713 << "Node " << parent->GetTitle() << " does not belong to " | 713 << "Node " << parent->GetTitle() << " does not belong to " |
| 714 << "Profile " << profile; | 714 << "Profile " << profile; |
| 715 if (sync_datatype_helper::test()->use_verifier()) { | 715 if (sync_datatype_helper::test()->use_verifier()) { |
| 716 const BookmarkNode* v_parent = NULL; | 716 const BookmarkNode* v_parent = nullptr; |
| 717 FindNodeInVerifier(model, parent, &v_parent); | 717 FindNodeInVerifier(model, parent, &v_parent); |
| 718 GetVerifierBookmarkModel()->SortChildren(v_parent); | 718 GetVerifierBookmarkModel()->SortChildren(v_parent); |
| 719 } | 719 } |
| 720 model->SortChildren(parent); | 720 model->SortChildren(parent); |
| 721 } | 721 } |
| 722 | 722 |
| 723 void ReverseChildOrder(int profile, const BookmarkNode* parent) { | 723 void ReverseChildOrder(int profile, const BookmarkNode* parent) { |
| 724 ASSERT_EQ( | 724 ASSERT_EQ( |
| 725 bookmarks::GetBookmarkNodeByID(GetBookmarkModel(profile), parent->id()), | 725 bookmarks::GetBookmarkNodeByID(GetBookmarkModel(profile), parent->id()), |
| 726 parent) | 726 parent) |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 805 std::vector<const BookmarkNode*> nodes; | 805 std::vector<const BookmarkNode*> nodes; |
| 806 GetBookmarkModel(profile)->GetNodesByURL(url, &nodes); | 806 GetBookmarkModel(profile)->GetNodesByURL(url, &nodes); |
| 807 return !nodes.empty(); | 807 return !nodes.empty(); |
| 808 } | 808 } |
| 809 | 809 |
| 810 const BookmarkNode* GetUniqueNodeByURL(int profile, const GURL& url) { | 810 const BookmarkNode* GetUniqueNodeByURL(int profile, const GURL& url) { |
| 811 std::vector<const BookmarkNode*> nodes; | 811 std::vector<const BookmarkNode*> nodes; |
| 812 GetBookmarkModel(profile)->GetNodesByURL(url, &nodes); | 812 GetBookmarkModel(profile)->GetNodesByURL(url, &nodes); |
| 813 EXPECT_EQ(1U, nodes.size()); | 813 EXPECT_EQ(1U, nodes.size()); |
| 814 if (nodes.empty()) | 814 if (nodes.empty()) |
| 815 return NULL; | 815 return nullptr; |
| 816 return nodes[0]; | 816 return nodes[0]; |
| 817 } | 817 } |
| 818 | 818 |
| 819 int CountAllBookmarks(int profile) { | 819 int CountAllBookmarks(int profile) { |
| 820 return CountNodes(GetBookmarkModel(profile), BookmarkNode::URL); | 820 return CountNodes(GetBookmarkModel(profile), BookmarkNode::URL); |
| 821 } | 821 } |
| 822 | 822 |
| 823 int CountBookmarksWithTitlesMatching(int profile, const std::string& title) { | 823 int CountBookmarksWithTitlesMatching(int profile, const std::string& title) { |
| 824 return CountNodesWithTitlesMatching(GetBookmarkModel(profile), | 824 return CountNodesWithTitlesMatching(GetBookmarkModel(profile), |
| 825 BookmarkNode::URL, | 825 BookmarkNode::URL, |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 945 } // namespace | 945 } // namespace |
| 946 | 946 |
| 947 BookmarksUrlChecker::BookmarksUrlChecker(int profile, | 947 BookmarksUrlChecker::BookmarksUrlChecker(int profile, |
| 948 const GURL& url, | 948 const GURL& url, |
| 949 int expected_count) | 949 int expected_count) |
| 950 : AwaitMatchStatusChangeChecker(base::Bind(BookmarkCountsByUrlMatch, | 950 : AwaitMatchStatusChangeChecker(base::Bind(BookmarkCountsByUrlMatch, |
| 951 profile, | 951 profile, |
| 952 base::ConstRef(url), | 952 base::ConstRef(url), |
| 953 expected_count), | 953 expected_count), |
| 954 "Bookmark URL counts match.") {} | 954 "Bookmark URL counts match.") {} |
| OLD | NEW |