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

Side by Side Diff: chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.cc

Issue 694093002: Add method to get filters for a bookmark in Enhanced bookmark bridge (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: solve a partner bookmark case Created 6 years, 1 month 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 | « chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.h" 5 #include "chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.h"
6 6
7 #include "base/android/jni_array.h" 7 #include "base/android/jni_array.h"
8 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "chrome/browser/bookmarks/bookmark_model_factory.h" 10 #include "chrome/browser/bookmarks/bookmark_model_factory.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 search_service_->RemoveObserver(this); 58 search_service_->RemoveObserver(this);
59 } 59 }
60 60
61 void EnhancedBookmarksBridge::Destroy(JNIEnv*, jobject) { 61 void EnhancedBookmarksBridge::Destroy(JNIEnv*, jobject) {
62 delete this; 62 delete this;
63 } 63 }
64 64
65 ScopedJavaLocalRef<jstring> EnhancedBookmarksBridge::GetBookmarkDescription( 65 ScopedJavaLocalRef<jstring> EnhancedBookmarksBridge::GetBookmarkDescription(
66 JNIEnv* env, jobject obj, jlong id, jint type) { 66 JNIEnv* env, jobject obj, jlong id, jint type) {
67 DCHECK(enhanced_bookmark_model_->loaded()); 67 DCHECK(enhanced_bookmark_model_->loaded());
68 DCHECK_EQ(BookmarkType::BOOKMARK_TYPE_NORMAL, type); 68 if (type != BookmarkType::BOOKMARK_TYPE_NORMAL) {
69 return base::android::ConvertUTF8ToJavaString(env, std::string());
70 }
69 71
70 const BookmarkNode* node = bookmarks::GetBookmarkNodeByID( 72 const BookmarkNode* node = bookmarks::GetBookmarkNodeByID(
71 enhanced_bookmark_model_->bookmark_model(), static_cast<int64>(id)); 73 enhanced_bookmark_model_->bookmark_model(), static_cast<int64>(id));
72 74
73 return node ? base::android::ConvertUTF8ToJavaString( 75 return node ? base::android::ConvertUTF8ToJavaString(
74 env, enhanced_bookmark_model_->GetDescription(node)) 76 env, enhanced_bookmark_model_->GetDescription(node))
75 : ScopedJavaLocalRef<jstring>(); 77 : ScopedJavaLocalRef<jstring>();
76 } 78 }
77 79
78 void EnhancedBookmarksBridge::SetBookmarkDescription(JNIEnv* env, 80 void EnhancedBookmarksBridge::SetBookmarkDescription(JNIEnv* env,
79 jobject obj, 81 jobject obj,
80 jlong id, 82 jlong id,
81 jint type, 83 jint type,
82 jstring description) { 84 jstring description) {
83 DCHECK(enhanced_bookmark_model_->loaded()); 85 DCHECK(enhanced_bookmark_model_->loaded());
84 DCHECK_EQ(type, BookmarkType::BOOKMARK_TYPE_NORMAL); 86 DCHECK_EQ(type, BookmarkType::BOOKMARK_TYPE_NORMAL);
85 87
86 const BookmarkNode* node = bookmarks::GetBookmarkNodeByID( 88 const BookmarkNode* node = bookmarks::GetBookmarkNodeByID(
87 enhanced_bookmark_model_->bookmark_model(), static_cast<int64>(id)); 89 enhanced_bookmark_model_->bookmark_model(), static_cast<int64>(id));
88 90
89 enhanced_bookmark_model_->SetDescription( 91 enhanced_bookmark_model_->SetDescription(
90 node, base::android::ConvertJavaStringToUTF8(env, description)); 92 node, base::android::ConvertJavaStringToUTF8(env, description));
91 } 93 }
92 94
95 ScopedJavaLocalRef<jobjectArray> EnhancedBookmarksBridge::GetFiltersForBookmark(
96 JNIEnv* env,
97 jobject obj,
98 jlong id,
99 jint type) {
100 DCHECK(enhanced_bookmark_model_->loaded());
101 if (type != BookmarkType::BOOKMARK_TYPE_NORMAL) {
102 return base::android::ToJavaArrayOfStrings(env, std::vector<std::string>());
103 }
104
105 const BookmarkNode* node = bookmarks::GetBookmarkNodeByID(
106 enhanced_bookmark_model_->bookmark_model(), static_cast<int64>(id));
107 std::vector<std::string> filters =
108 cluster_service_->ClustersForBookmark(node);
109 return base::android::ToJavaArrayOfStrings(env, filters);
110 }
111
93 void EnhancedBookmarksBridge::GetBookmarksForFilter(JNIEnv* env, 112 void EnhancedBookmarksBridge::GetBookmarksForFilter(JNIEnv* env,
94 jobject obj, 113 jobject obj,
95 jstring j_filter, 114 jstring j_filter,
96 jobject j_result_obj) { 115 jobject j_result_obj) {
97 DCHECK(enhanced_bookmark_model_->loaded()); 116 DCHECK(enhanced_bookmark_model_->loaded());
98 const std::string title = 117 const std::string title =
99 base::android::ConvertJavaStringToUTF8(env, j_filter); 118 base::android::ConvertJavaStringToUTF8(env, j_filter);
100 const std::vector<const BookmarkNode*> bookmarks = 119 const std::vector<const BookmarkNode*> bookmarks =
101 cluster_service_->BookmarksForClusterNamed(title); 120 cluster_service_->BookmarksForClusterNamed(title);
102 for (const BookmarkNode* node : bookmarks) { 121 for (const BookmarkNode* node : bookmarks) {
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 return reinterpret_cast<jlong>(new EnhancedBookmarksBridge( 261 return reinterpret_cast<jlong>(new EnhancedBookmarksBridge(
243 env, obj, ProfileAndroid::FromProfileAndroid(j_profile))); 262 env, obj, ProfileAndroid::FromProfileAndroid(j_profile)));
244 } 263 }
245 264
246 bool RegisterEnhancedBookmarksBridge(JNIEnv* env) { 265 bool RegisterEnhancedBookmarksBridge(JNIEnv* env) {
247 return RegisterNativesImpl(env); 266 return RegisterNativesImpl(env);
248 } 267 }
249 268
250 } // namespace android 269 } // namespace android
251 } // namespace enhanced_bookmarks 270 } // namespace enhanced_bookmarks
OLDNEW
« no previous file with comments | « chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698