OLD | NEW |
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_BOOKMARKS_BRIDGE_H_ | 5 #ifndef CHROME_BROWSER_ANDROID_BOOKMARKS_BOOKMARK_BRIDGE_H_ |
6 #define CHROME_BROWSER_ANDROID_BOOKMARKS_BOOKMARKS_BRIDGE_H_ | 6 #define CHROME_BROWSER_ANDROID_BOOKMARKS_BOOKMARK_BRIDGE_H_ |
7 | 7 |
8 #include <jni.h> | 8 #include <jni.h> |
9 | 9 |
10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
11 #include "base/android/jni_weak_ref.h" | 11 #include "base/android/jni_weak_ref.h" |
12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
13 #include "base/macros.h" | 13 #include "base/macros.h" |
14 #include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h" | 14 #include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h" |
15 #include "components/bookmarks/browser/base_bookmark_model_observer.h" | 15 #include "components/bookmarks/browser/base_bookmark_model_observer.h" |
16 #include "components/bookmarks/common/android/bookmark_id.h" | 16 #include "components/bookmarks/common/android/bookmark_id.h" |
17 #include "components/prefs/pref_change_registrar.h" | 17 #include "components/prefs/pref_change_registrar.h" |
18 | 18 |
19 namespace bookmarks { | 19 namespace bookmarks { |
20 class BookmarkModel; | 20 class BookmarkModel; |
21 class ManagedBookmarkService; | 21 class ManagedBookmarkService; |
22 class ScopedGroupBookmarkActions; | 22 class ScopedGroupBookmarkActions; |
23 } | 23 } |
24 | 24 |
25 class Profile; | 25 class Profile; |
26 | 26 |
27 // The delegate to fetch bookmarks information for the Android native | 27 // The delegate to fetch bookmarks information for the Android native |
28 // bookmark page. This fetches the bookmarks, title, urls, folder | 28 // bookmark page. This fetches the bookmarks, title, urls, folder |
29 // hierarchy. | 29 // hierarchy. |
30 class BookmarksBridge : public bookmarks::BaseBookmarkModelObserver, | 30 class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, |
31 public PartnerBookmarksShim::Observer { | 31 public PartnerBookmarksShim::Observer { |
32 public: | 32 public: |
33 BookmarksBridge(JNIEnv* env, jobject obj, jobject j_profile); | 33 BookmarkBridge(JNIEnv* env, jobject obj, jobject j_profile); |
34 void Destroy(JNIEnv*, const base::android::JavaParamRef<jobject>&); | 34 void Destroy(JNIEnv*, const base::android::JavaParamRef<jobject>&); |
35 | 35 |
36 static bool RegisterBookmarksBridge(JNIEnv* env); | 36 static bool RegisterBookmarkBridge(JNIEnv* env); |
37 | 37 |
38 bool IsDoingExtensiveChanges(JNIEnv* env, | 38 bool IsDoingExtensiveChanges(JNIEnv* env, |
39 const base::android::JavaParamRef<jobject>& obj); | 39 const base::android::JavaParamRef<jobject>& obj); |
40 | 40 |
41 jboolean IsEditBookmarksEnabled( | 41 jboolean IsEditBookmarksEnabled( |
42 JNIEnv* env, | 42 JNIEnv* env, |
43 const base::android::JavaParamRef<jobject>& obj); | 43 const base::android::JavaParamRef<jobject>& obj); |
44 | 44 |
45 void LoadEmptyPartnerBookmarkShimForTesting( | 45 void LoadEmptyPartnerBookmarkShimForTesting( |
46 JNIEnv* env, | 46 JNIEnv* env, |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 | 188 |
189 void StartGroupingUndos(JNIEnv* env, | 189 void StartGroupingUndos(JNIEnv* env, |
190 const base::android::JavaParamRef<jobject>& obj); | 190 const base::android::JavaParamRef<jobject>& obj); |
191 | 191 |
192 void EndGroupingUndos(JNIEnv* env, | 192 void EndGroupingUndos(JNIEnv* env, |
193 const base::android::JavaParamRef<jobject>& obj); | 193 const base::android::JavaParamRef<jobject>& obj); |
194 | 194 |
195 base::string16 GetTitle(const bookmarks::BookmarkNode* node) const; | 195 base::string16 GetTitle(const bookmarks::BookmarkNode* node) const; |
196 | 196 |
197 private: | 197 private: |
198 ~BookmarksBridge() override; | 198 ~BookmarkBridge() override; |
199 | 199 |
200 base::android::ScopedJavaLocalRef<jobject> CreateJavaBookmark( | 200 base::android::ScopedJavaLocalRef<jobject> CreateJavaBookmark( |
201 const bookmarks::BookmarkNode* node); | 201 const bookmarks::BookmarkNode* node); |
202 void ExtractBookmarkNodeInformation(const bookmarks::BookmarkNode* node, | 202 void ExtractBookmarkNodeInformation(const bookmarks::BookmarkNode* node, |
203 jobject j_result_obj); | 203 jobject j_result_obj); |
204 const bookmarks::BookmarkNode* GetNodeByID(long node_id, int type); | 204 const bookmarks::BookmarkNode* GetNodeByID(long node_id, int type); |
205 const bookmarks::BookmarkNode* GetFolderWithFallback(long folder_id, | 205 const bookmarks::BookmarkNode* GetFolderWithFallback(long folder_id, |
206 int type); | 206 int type); |
207 bool IsEditBookmarksEnabled() const; | 207 bool IsEditBookmarksEnabled() const; |
208 void EditBookmarksEnabledChanged(); | 208 void EditBookmarksEnabledChanged(); |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 JavaObjectWeakGlobalRef weak_java_ref_; | 259 JavaObjectWeakGlobalRef weak_java_ref_; |
260 bookmarks::BookmarkModel* bookmark_model_; // weak | 260 bookmarks::BookmarkModel* bookmark_model_; // weak |
261 bookmarks::ManagedBookmarkService* managed_bookmark_service_; // weak | 261 bookmarks::ManagedBookmarkService* managed_bookmark_service_; // weak |
262 scoped_ptr<bookmarks::ScopedGroupBookmarkActions> grouped_bookmark_actions_; | 262 scoped_ptr<bookmarks::ScopedGroupBookmarkActions> grouped_bookmark_actions_; |
263 PrefChangeRegistrar pref_change_registrar_; | 263 PrefChangeRegistrar pref_change_registrar_; |
264 | 264 |
265 // Information about the Partner bookmarks (must check for IsLoaded()). | 265 // Information about the Partner bookmarks (must check for IsLoaded()). |
266 // This is owned by profile. | 266 // This is owned by profile. |
267 PartnerBookmarksShim* partner_bookmarks_shim_; | 267 PartnerBookmarksShim* partner_bookmarks_shim_; |
268 | 268 |
269 DISALLOW_COPY_AND_ASSIGN(BookmarksBridge); | 269 DISALLOW_COPY_AND_ASSIGN(BookmarkBridge); |
270 }; | 270 }; |
271 | 271 |
272 #endif // CHROME_BROWSER_ANDROID_BOOKMARKS_BOOKMARKS_BRIDGE_H_ | 272 #endif // CHROME_BROWSER_ANDROID_BOOKMARKS_BOOKMARK_BRIDGE_H_ |
OLD | NEW |