| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef COMPONENTS_ENHANCED_BOOKMARKS_BOOKMARK_SERVER_CLUSTER_SERVICE_H_ | 5 #ifndef COMPONENTS_ENHANCED_BOOKMARKS_BOOKMARK_SERVER_CLUSTER_SERVICE_H_ |
| 6 #define COMPONENTS_ENHANCED_BOOKMARKS_BOOKMARK_SERVER_CLUSTER_SERVICE_H_ | 6 #define COMPONENTS_ENHANCED_BOOKMARKS_BOOKMARK_SERVER_CLUSTER_SERVICE_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 // 'en' or 'en-US'. Note that this code should only specify the language, not | 31 // 'en' or 'en-US'. Note that this code should only specify the language, not |
| 32 // the locale, so 'en_US' (english language with US locale) and 'en-GB_US' | 32 // the locale, so 'en_US' (english language with US locale) and 'en-GB_US' |
| 33 // (British english person in the US) are not language code. | 33 // (British english person in the US) are not language code. |
| 34 BookmarkServerClusterService( | 34 BookmarkServerClusterService( |
| 35 const std::string& application_language_code, | 35 const std::string& application_language_code, |
| 36 scoped_refptr<net::URLRequestContextGetter> request_context_getter, | 36 scoped_refptr<net::URLRequestContextGetter> request_context_getter, |
| 37 ProfileOAuth2TokenService* token_service, | 37 ProfileOAuth2TokenService* token_service, |
| 38 SigninManagerBase* signin_manager, | 38 SigninManagerBase* signin_manager, |
| 39 EnhancedBookmarkModel* enhanced_bookmark_model, | 39 EnhancedBookmarkModel* enhanced_bookmark_model, |
| 40 PrefService* pref_service); | 40 PrefService* pref_service); |
| 41 virtual ~BookmarkServerClusterService(); | 41 ~BookmarkServerClusterService() override; |
| 42 | 42 |
| 43 // Retrieves all the bookmarks associated with a cluster. The returned | 43 // Retrieves all the bookmarks associated with a cluster. The returned |
| 44 // BookmarkNodes are owned by the bookmark model, and one must listen to the | 44 // BookmarkNodes are owned by the bookmark model, and one must listen to the |
| 45 // model observer notification to clear them. | 45 // model observer notification to clear them. |
| 46 const std::vector<const BookmarkNode*> BookmarksForClusterNamed( | 46 const std::vector<const BookmarkNode*> BookmarksForClusterNamed( |
| 47 const std::string& cluster_name) const; | 47 const std::string& cluster_name) const; |
| 48 | 48 |
| 49 // Returns the clusters in which the passed bookmark is in, if any. | 49 // Returns the clusters in which the passed bookmark is in, if any. |
| 50 const std::vector<std::string> ClustersForBookmark( | 50 const std::vector<std::string> ClustersForBookmark( |
| 51 const BookmarkNode* bookmark) const; | 51 const BookmarkNode* bookmark) const; |
| 52 | 52 |
| 53 // Dynamically generates a vector of all clusters names. | 53 // Dynamically generates a vector of all clusters names. |
| 54 const std::vector<std::string> GetClusters() const; | 54 const std::vector<std::string> GetClusters() const; |
| 55 | 55 |
| 56 // Registers server cluster service prefs. | 56 // Registers server cluster service prefs. |
| 57 static void RegisterPrefs(user_prefs::PrefRegistrySyncable* registry); | 57 static void RegisterPrefs(user_prefs::PrefRegistrySyncable* registry); |
| 58 | 58 |
| 59 protected: | 59 protected: |
| 60 // BookmarkServerService methods. | 60 // BookmarkServerService methods. |
| 61 virtual scoped_ptr<net::URLFetcher> CreateFetcher() override; | 61 scoped_ptr<net::URLFetcher> CreateFetcher() override; |
| 62 virtual bool ProcessResponse(const std::string& response, | 62 bool ProcessResponse(const std::string& response, |
| 63 bool* should_notify) override; | 63 bool* should_notify) override; |
| 64 virtual void CleanAfterFailure() override; | 64 void CleanAfterFailure() override; |
| 65 | 65 |
| 66 // EnhancedBookmarkModelObserver methods. | 66 // EnhancedBookmarkModelObserver methods. |
| 67 virtual void EnhancedBookmarkModelLoaded() override; | 67 void EnhancedBookmarkModelLoaded() override; |
| 68 virtual void EnhancedBookmarkAdded(const BookmarkNode* node) override; | 68 void EnhancedBookmarkAdded(const BookmarkNode* node) override; |
| 69 virtual void EnhancedBookmarkRemoved(const BookmarkNode* node) override; | 69 void EnhancedBookmarkRemoved(const BookmarkNode* node) override; |
| 70 virtual void EnhancedBookmarkAllUserNodesRemoved() override; | 70 void EnhancedBookmarkAllUserNodesRemoved() override; |
| 71 virtual void EnhancedBookmarkRemoteIdChanged( | 71 void EnhancedBookmarkRemoteIdChanged(const BookmarkNode* node, |
| 72 const BookmarkNode* node, | 72 const std::string& old_remote_id, |
| 73 const std::string& old_remote_id, | 73 const std::string& remote_id) override; |
| 74 const std::string& remote_id) override; | |
| 75 | 74 |
| 76 private: | 75 private: |
| 77 FRIEND_TEST_ALL_PREFIXES(BookmarkServerServiceTest, Cluster); | 76 FRIEND_TEST_ALL_PREFIXES(BookmarkServerServiceTest, Cluster); |
| 78 FRIEND_TEST_ALL_PREFIXES(BookmarkServerServiceTest, SignOut); | 77 FRIEND_TEST_ALL_PREFIXES(BookmarkServerServiceTest, SignOut); |
| 79 FRIEND_TEST_ALL_PREFIXES(BookmarkServerServiceTest, Serialization); | 78 FRIEND_TEST_ALL_PREFIXES(BookmarkServerServiceTest, Serialization); |
| 80 FRIEND_TEST_ALL_PREFIXES(BookmarkServerServiceTest, SaveToPrefs); | 79 FRIEND_TEST_ALL_PREFIXES(BookmarkServerServiceTest, SaveToPrefs); |
| 81 FRIEND_TEST_ALL_PREFIXES(BookmarkServerServiceTest, BadAuth); | 80 FRIEND_TEST_ALL_PREFIXES(BookmarkServerServiceTest, BadAuth); |
| 82 FRIEND_TEST_ALL_PREFIXES(BookmarkServerServiceTest, EmptyAuth); | 81 FRIEND_TEST_ALL_PREFIXES(BookmarkServerServiceTest, EmptyAuth); |
| 83 FRIEND_TEST_ALL_PREFIXES(BookmarkServerServiceTest, | 82 FRIEND_TEST_ALL_PREFIXES(BookmarkServerServiceTest, |
| 84 ClearClusterMapOnRemoveAllBookmarks); | 83 ClearClusterMapOnRemoveAllBookmarks); |
| 85 | 84 |
| 86 // Overriden from SigninManagerBase::Observer. | 85 // Overriden from SigninManagerBase::Observer. |
| 87 virtual void GoogleSignedOut(const std::string& account_id, | 86 void GoogleSignedOut(const std::string& account_id, |
| 88 const std::string& username) override; | 87 const std::string& username) override; |
| 89 | 88 |
| 90 // Updates |cluster_data_| with the |cluster_map| and saves the result to | 89 // Updates |cluster_data_| with the |cluster_map| and saves the result to |
| 91 // profile prefs. All changes to |cluster_data_| should go through this method | 90 // profile prefs. All changes to |cluster_data_| should go through this method |
| 92 // to ensure profile prefs is always up to date. | 91 // to ensure profile prefs is always up to date. |
| 93 // TODO(noyau): This is probably a misuse of profile prefs. While the expected | 92 // TODO(noyau): This is probably a misuse of profile prefs. While the expected |
| 94 // amount of data is small (<1kb), it can theoretically reach megabytes in | 93 // amount of data is small (<1kb), it can theoretically reach megabytes in |
| 95 // size. | 94 // size. |
| 96 void SwapModel(ClusterMap* cluster_map); | 95 void SwapModel(ClusterMap* cluster_map); |
| 97 // Updates |cluster_data_| from profile prefs. | 96 // Updates |cluster_data_| from profile prefs. |
| 98 void LoadModel(); | 97 void LoadModel(); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 116 PrefService* pref_service_; | 115 PrefService* pref_service_; |
| 117 // The cluster data, a map from cluster name to a vector of stars.id. | 116 // The cluster data, a map from cluster name to a vector of stars.id. |
| 118 ClusterMap cluster_data_; | 117 ClusterMap cluster_data_; |
| 119 | 118 |
| 120 DISALLOW_COPY_AND_ASSIGN(BookmarkServerClusterService); | 119 DISALLOW_COPY_AND_ASSIGN(BookmarkServerClusterService); |
| 121 }; | 120 }; |
| 122 | 121 |
| 123 } // namespace enhanced_bookmarks | 122 } // namespace enhanced_bookmarks |
| 124 | 123 |
| 125 #endif // COMPONENTS_ENHANCED_BOOKMARKS_BOOKMARK_SERVER_CLUSTER_SERVICE_H_ | 124 #endif // COMPONENTS_ENHANCED_BOOKMARKS_BOOKMARK_SERVER_CLUSTER_SERVICE_H_ |
| OLD | NEW |