Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(104)

Side by Side Diff: chrome/browser/android/bookmarks/partner_bookmarks_shim.h

Issue 2848163002: Switch SupportsUserData uses to use unique_ptr. (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/android/bookmarks/partner_bookmarks_shim.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef CHROME_BROWSER_ANDROID_BOOKMARKS_PARTNER_BOOKMARKS_SHIM_H_ 5 #ifndef CHROME_BROWSER_ANDROID_BOOKMARKS_PARTNER_BOOKMARKS_SHIM_H_
6 #define CHROME_BROWSER_ANDROID_BOOKMARKS_PARTNER_BOOKMARKS_SHIM_H_ 6 #define CHROME_BROWSER_ANDROID_BOOKMARKS_PARTNER_BOOKMARKS_SHIM_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 15 matching lines...) Expand all
26 class PrefRegistrySyncable; 26 class PrefRegistrySyncable;
27 } 27 }
28 28
29 // A shim that lives on top of a BookmarkModel that allows the injection of 29 // A shim that lives on top of a BookmarkModel that allows the injection of
30 // partner bookmarks without submitting changes to the bookmark model. 30 // partner bookmarks without submitting changes to the bookmark model.
31 // The shim persists bookmark renames/deletions in a user profile and could be 31 // The shim persists bookmark renames/deletions in a user profile and could be
32 // queried via shim->GetTitle(node) and shim->IsReachable(node). 32 // queried via shim->GetTitle(node) and shim->IsReachable(node).
33 // Note that node->GetTitle() returns an original (unmodified) title. 33 // Note that node->GetTitle() returns an original (unmodified) title.
34 class PartnerBookmarksShim : public base::SupportsUserData::Data { 34 class PartnerBookmarksShim : public base::SupportsUserData::Data {
35 public: 35 public:
36 ~PartnerBookmarksShim() override;
37
36 // Returns an instance of the shim for a given |browser_context|. 38 // Returns an instance of the shim for a given |browser_context|.
37 static PartnerBookmarksShim* BuildForBrowserContext( 39 static PartnerBookmarksShim* BuildForBrowserContext(
38 content::BrowserContext* browser_context); 40 content::BrowserContext* browser_context);
39 41
40 // Registers preferences. 42 // Registers preferences.
41 static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); 43 static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
42 44
43 // Disables the editing and stops any edits from being applied. 45 // Disables the editing and stops any edits from being applied.
44 // The user will start to see the original (unedited) partner bookmarks. 46 // The user will start to see the original (unedited) partner bookmarks.
45 // Edits are stored in the user profile, so once the editing is enabled 47 // Edits are stored in the user profile, so once the editing is enabled
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 content::BrowserContext* browser_context); 121 content::BrowserContext* browser_context);
120 122
121 // For testing: clears partner bookmark model data. 123 // For testing: clears partner bookmark model data.
122 static void ClearPartnerModelForTesting(); 124 static void ClearPartnerModelForTesting();
123 125
124 // For testing: re-enables partner bookmarks editing. 126 // For testing: re-enables partner bookmarks editing.
125 static void EnablePartnerBookmarksEditing(); 127 static void EnablePartnerBookmarksEditing();
126 128
127 private: 129 private:
128 explicit PartnerBookmarksShim(PrefService* prefs); 130 explicit PartnerBookmarksShim(PrefService* prefs);
129 ~PartnerBookmarksShim() override;
130 131
131 const bookmarks::BookmarkNode* GetNodeByID( 132 const bookmarks::BookmarkNode* GetNodeByID(
132 const bookmarks::BookmarkNode* parent, 133 const bookmarks::BookmarkNode* parent,
133 int64_t id) const; 134 int64_t id) const;
134 void ReloadNodeMapping(); 135 void ReloadNodeMapping();
135 void SaveNodeMapping(); 136 void SaveNodeMapping();
136 137
137 std::unique_ptr<bookmarks::BookmarkNode> partner_bookmarks_root_; 138 std::unique_ptr<bookmarks::BookmarkNode> partner_bookmarks_root_;
138 PrefService* prefs_; 139 PrefService* prefs_;
139 NodeRenamingMap node_rename_remove_map_; 140 NodeRenamingMap node_rename_remove_map_;
140 141
141 // The observers. 142 // The observers.
142 base::ObserverList<Observer> observers_; 143 base::ObserverList<Observer> observers_;
143 144
144 DISALLOW_COPY_AND_ASSIGN(PartnerBookmarksShim); 145 DISALLOW_COPY_AND_ASSIGN(PartnerBookmarksShim);
145 }; 146 };
146 147
147 #endif // CHROME_BROWSER_ANDROID_BOOKMARKS_PARTNER_BOOKMARKS_SHIM_H_ 148 #endif // CHROME_BROWSER_ANDROID_BOOKMARKS_PARTNER_BOOKMARKS_SHIM_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/android/bookmarks/partner_bookmarks_shim.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698