OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "components/sync_bookmarks/bookmark_model_associator.h" | 5 #include "components/sync_bookmarks/bookmark_model_associator.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 const int kTitleLimitBytes = 255; | 67 const int kTitleLimitBytes = 255; |
68 | 68 |
69 // Provides the following abstraction: given a parent bookmark node, find best | 69 // Provides the following abstraction: given a parent bookmark node, find best |
70 // matching child node for many sync nodes. | 70 // matching child node for many sync nodes. |
71 class BookmarkNodeFinder { | 71 class BookmarkNodeFinder { |
72 public: | 72 public: |
73 // Creates an instance with the given parent bookmark node. | 73 // Creates an instance with the given parent bookmark node. |
74 explicit BookmarkNodeFinder(const BookmarkNode* parent_node); | 74 explicit BookmarkNodeFinder(const BookmarkNode* parent_node); |
75 | 75 |
76 // Finds the bookmark node that matches the given url, title and folder | 76 // Finds the bookmark node that matches the given url, title and folder |
77 // attribute. Returns the matching node if one exists; NULL otherwise. | 77 // attribute. Returns the matching node if one exists; null otherwise. |
78 // If there are multiple matches then a node with ID matching |preferred_id| | 78 // If there are multiple matches then a node with ID matching |preferred_id| |
79 // is returned; otherwise the first matching node is returned. | 79 // is returned; otherwise the first matching node is returned. |
80 // If a matching node is found, it's removed for further matches. | 80 // If a matching node is found, it's removed for further matches. |
81 const BookmarkNode* FindBookmarkNode(const GURL& url, | 81 const BookmarkNode* FindBookmarkNode(const GURL& url, |
82 const std::string& title, | 82 const std::string& title, |
83 bool is_folder, | 83 bool is_folder, |
84 int64_t preferred_id); | 84 int64_t preferred_id); |
85 | 85 |
86 // Returns true if |bookmark_node| matches the specified |url|, | 86 // Returns true if |bookmark_node| matches the specified |url|, |
87 // |title|, and |is_folder| flags. | 87 // |title|, and |is_folder| flags. |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
333 } | 333 } |
334 | 334 |
335 int64_t BookmarkModelAssociator::GetSyncIdFromChromeId(const int64_t& node_id) { | 335 int64_t BookmarkModelAssociator::GetSyncIdFromChromeId(const int64_t& node_id) { |
336 BookmarkIdToSyncIdMap::const_iterator iter = id_map_.find(node_id); | 336 BookmarkIdToSyncIdMap::const_iterator iter = id_map_.find(node_id); |
337 return iter == id_map_.end() ? syncer::kInvalidId : iter->second; | 337 return iter == id_map_.end() ? syncer::kInvalidId : iter->second; |
338 } | 338 } |
339 | 339 |
340 const BookmarkNode* BookmarkModelAssociator::GetChromeNodeFromSyncId( | 340 const BookmarkNode* BookmarkModelAssociator::GetChromeNodeFromSyncId( |
341 int64_t sync_id) { | 341 int64_t sync_id) { |
342 SyncIdToBookmarkNodeMap::const_iterator iter = id_map_inverse_.find(sync_id); | 342 SyncIdToBookmarkNodeMap::const_iterator iter = id_map_inverse_.find(sync_id); |
343 return iter == id_map_inverse_.end() ? NULL : iter->second; | 343 return iter == id_map_inverse_.end() ? nullptr : iter->second; |
344 } | 344 } |
345 | 345 |
346 bool BookmarkModelAssociator::InitSyncNodeFromChromeId( | 346 bool BookmarkModelAssociator::InitSyncNodeFromChromeId( |
347 const int64_t& node_id, | 347 const int64_t& node_id, |
348 syncer::BaseNode* sync_node) { | 348 syncer::BaseNode* sync_node) { |
349 DCHECK(sync_node); | 349 DCHECK(sync_node); |
350 int64_t sync_id = GetSyncIdFromChromeId(node_id); | 350 int64_t sync_id = GetSyncIdFromChromeId(node_id); |
351 if (sync_id == syncer::kInvalidId) | 351 if (sync_id == syncer::kInvalidId) |
352 return false; | 352 return false; |
353 if (sync_node->InitByIdLookup(sync_id) != syncer::BaseNode::INIT_OK) | 353 if (sync_node->InitByIdLookup(sync_id) != syncer::BaseNode::INIT_OK) |
(...skipping 653 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1007 syncer::BOOKMARKS); | 1007 syncer::BOOKMARKS); |
1008 } else { | 1008 } else { |
1009 context->set_native_model_sync_state(BEHIND); | 1009 context->set_native_model_sync_state(BEHIND); |
1010 } | 1010 } |
1011 } | 1011 } |
1012 } | 1012 } |
1013 return syncer::SyncError(); | 1013 return syncer::SyncError(); |
1014 } | 1014 } |
1015 | 1015 |
1016 } // namespace sync_bookmarks | 1016 } // namespace sync_bookmarks |
OLD | NEW |