Index: chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.cc |
diff --git a/chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.cc b/chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.cc |
index ed4016aa764a1910a4c61f4883f1da126a30c0bb..550b5753c839aa8eba6d25b5c2bca6ad19d4c157 100644 |
--- a/chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.cc |
+++ b/chrome/browser/android/enhanced_bookmarks/enhanced_bookmarks_bridge.cc |
@@ -65,7 +65,9 @@ void EnhancedBookmarksBridge::Destroy(JNIEnv*, jobject) { |
ScopedJavaLocalRef<jstring> EnhancedBookmarksBridge::GetBookmarkDescription( |
JNIEnv* env, jobject obj, jlong id, jint type) { |
DCHECK(enhanced_bookmark_model_->loaded()); |
- DCHECK_EQ(BookmarkType::BOOKMARK_TYPE_NORMAL, type); |
+ if (type != BookmarkType::BOOKMARK_TYPE_NORMAL) { |
+ return base::android::ConvertUTF8ToJavaString(env, std::string()); |
+ } |
const BookmarkNode* node = bookmarks::GetBookmarkNodeByID( |
enhanced_bookmark_model_->bookmark_model(), static_cast<int64>(id)); |
@@ -90,6 +92,23 @@ void EnhancedBookmarksBridge::SetBookmarkDescription(JNIEnv* env, |
node, base::android::ConvertJavaStringToUTF8(env, description)); |
} |
+ScopedJavaLocalRef<jobjectArray> EnhancedBookmarksBridge::GetFiltersForBookmark( |
+ JNIEnv* env, |
+ jobject obj, |
+ jlong id, |
+ jint type) { |
+ DCHECK(enhanced_bookmark_model_->loaded()); |
+ if (type != BookmarkType::BOOKMARK_TYPE_NORMAL) { |
+ return base::android::ToJavaArrayOfStrings(env, std::vector<std::string>()); |
+ } |
+ |
+ const BookmarkNode* node = bookmarks::GetBookmarkNodeByID( |
+ enhanced_bookmark_model_->bookmark_model(), static_cast<int64>(id)); |
+ std::vector<std::string> filters = |
+ cluster_service_->ClustersForBookmark(node); |
+ return base::android::ToJavaArrayOfStrings(env, filters); |
+} |
+ |
void EnhancedBookmarksBridge::GetBookmarksForFilter(JNIEnv* env, |
jobject obj, |
jstring j_filter, |