| 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 a9ba6bb98b0932cff05f0dbf924d7dd908d30e51..1cc34a344d96b910ec26feaec3c6c7a3de3b098d 100644
|
| --- a/chrome/browser/android/bookmarks/bookmarks_bridge.cc
|
| +++ b/chrome/browser/android/bookmarks/bookmarks_bridge.cc
|
| @@ -594,6 +594,45 @@ void BookmarksBridge::GetCurrentFolderHierarchy(JNIEnv* env,
|
| env, j_callback_obj, j_folder_id_obj, j_result_obj);
|
| }
|
|
|
| +void BookmarksBridge::SearchBookmarks(JNIEnv* env,
|
| + jobject obj,
|
| + jobject j_list,
|
| + jstring j_query,
|
| + jint max_results) {
|
| + DCHECK(bookmark_model_->loaded());
|
| +
|
| + std::vector<bookmarks::BookmarkMatch> results;
|
| + bookmark_model_->GetBookmarksMatching(
|
| + base::android::ConvertJavaStringToUTF16(env, j_query),
|
| + max_results,
|
| + query_parser::MatchingAlgorithm::ALWAYS_PREFIX_SEARCH,
|
| + &results);
|
| + for (const bookmarks::BookmarkMatch& match : results) {
|
| + const BookmarkNode* node = match.node;
|
| +
|
| + std::vector<int> title_match_start_positions;
|
| + std::vector<int> title_match_end_positions;
|
| + for (auto position : match.title_match_positions) {
|
| + title_match_start_positions.push_back(position.first);
|
| + title_match_end_positions.push_back(position.second);
|
| + }
|
| +
|
| + std::vector<int> url_match_start_positions;
|
| + std::vector<int> url_match_end_positions;
|
| + for (auto position : match.url_match_positions) {
|
| + url_match_start_positions.push_back(position.first);
|
| + url_match_end_positions.push_back(position.second);
|
| + }
|
| +
|
| + Java_BookmarksBridge_addToBookmarkMatchList(
|
| + env, j_list, node->id(), node->type(),
|
| + ToJavaIntArray(env, title_match_start_positions).obj(),
|
| + ToJavaIntArray(env, title_match_end_positions).obj(),
|
| + ToJavaIntArray(env, url_match_start_positions).obj(),
|
| + ToJavaIntArray(env, url_match_end_positions).obj());
|
| + }
|
| +}
|
| +
|
| ScopedJavaLocalRef<jobject> BookmarksBridge::AddFolder(JNIEnv* env,
|
| jobject obj,
|
| jobject j_parent_id_obj,
|
|
|