Index: chrome/browser/android/bookmarks/bookmarks_bridge.cc |
diff --git a/chrome/browser/android/bookmarks/bookmarks_bridge.cc b/chrome/browser/android/bookmarks/bookmarks_bridge.cc |
index 9ab94fed75ea79440756ce9c8ba5729a9eb3656c..60c7cd646fb124c20669191b87b7c872898114e2 100644 |
--- a/chrome/browser/android/bookmarks/bookmarks_bridge.cc |
+++ b/chrome/browser/android/bookmarks/bookmarks_bridge.cc |
@@ -20,6 +20,7 @@ |
#include "chrome/browser/undo/bookmark_undo_service_factory.h" |
#include "chrome/browser/undo/undo_manager.h" |
#include "chrome/common/pref_names.h" |
+#include "components/bookmarks/browser/bookmark_match.h" |
#include "components/bookmarks/browser/bookmark_model.h" |
#include "components/bookmarks/browser/bookmark_utils.h" |
#include "components/bookmarks/browser/scoped_group_bookmark_actions.h" |
@@ -653,6 +654,27 @@ void BookmarksBridge::MoveBookmark(JNIEnv* env, |
bookmark_model_->Move(node, new_parent_node, index); |
} |
+ScopedJavaLocalRef<jobject> BookmarksBridge::SearchLocalResults( |
+ JNIEnv* env, |
+ jobject obj, |
+ jstring j_query) { |
+ DCHECK(bookmark_model_->loaded()); |
+ |
+ ScopedJavaLocalRef<jobject> j_list = |
+ Java_BookmarksBridge_createBookmarkIdList(env); |
+ std::vector<bookmarks::BookmarkMatch> results; |
+ const size_t kMaxBookmarkMatches = 1000; |
+ bookmark_model_->GetBookmarksMatching( |
+ base::android::ConvertJavaStringToUTF16(env, j_query), |
+ kMaxBookmarkMatches, &results); |
+ for (const bookmarks::BookmarkMatch& match : results) { |
+ const BookmarkNode* node = match.node; |
+ Java_BookmarksBridge_addToBookmarkIdList(env, j_list.obj(), |
+ node->id(), node->type()); |
Kibeom Kim (inactive)
2014/10/31 18:04:42
nit: indent fix?
Ian Wen
2014/10/31 20:31:23
Done.
|
+ } |
+ return j_list; |
+} |
+ |
ScopedJavaLocalRef<jobject> BookmarksBridge::AddBookmark( |
JNIEnv* env, |
jobject obj, |