Commit ee2531ef authored by Tomasz Wiszkowski's avatar Tomasz Wiszkowski Committed by Commit Bot

Use BookmarkBridge to detect if AutocompleteMatch is a bookmark.

Bug: 1138587
Change-Id: Iabd37a0b822fd00095b9c64bf3b1a7759d56df97
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2542810
Commit-Queue: Tomasz Wiszkowski <ender@google.com>
Reviewed-by: default avatarTommy Li <tommycli@chromium.org>
Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#828539}
parent ef5d6041
......@@ -25,6 +25,7 @@ import org.chromium.components.bookmarks.BookmarkType;
import org.chromium.components.url_formatter.SchemeDisplay;
import org.chromium.components.url_formatter.UrlFormatter;
import org.chromium.content_public.browser.WebContents;
import org.chromium.url.GURL;
import java.util.ArrayList;
import java.util.List;
......@@ -858,6 +859,15 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, url, read);
}
/**
* Checks whether supplied URL has already been bookmarked.
* @param url The URL to check.
* @return Whether the URL has been bookmarked.
*/
public boolean isBookmarked(GURL url) {
return BookmarkBridgeJni.get().isBookmarked(mNativeBookmarkBridge, url);
}
@VisibleForTesting
BookmarkId getPartnerFolderId() {
ThreadUtils.assertOnUiThread();
......@@ -1100,5 +1110,6 @@ public class BookmarkBridge {
boolean isEditBookmarksEnabled(long nativeBookmarkBridge);
void reorderChildren(long nativeBookmarkBridge, BookmarkBridge caller, BookmarkId parent,
long[] orderedNodes);
boolean isBookmarked(long nativeBookmarkBridge, GURL url);
}
}
......@@ -13,7 +13,6 @@ import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.KEY_Z
import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.KEY_ZERO_SUGGEST_HEADER_GROUP_TITLE_PREFIX;
import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.KEY_ZERO_SUGGEST_IS_DELETABLE_PREFIX;
import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.KEY_ZERO_SUGGEST_IS_SEARCH_TYPE_PREFIX;
import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.KEY_ZERO_SUGGEST_IS_STARRED_PREFIX;
import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.KEY_ZERO_SUGGEST_NATIVE_SUBTYPES_PREFIX;
import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.KEY_ZERO_SUGGEST_NATIVE_TYPE_PREFIX;
import static org.chromium.chrome.browser.preferences.ChromePreferenceKeys.KEY_ZERO_SUGGEST_POST_CONTENT_DATA_PREFIX;
......@@ -104,8 +103,6 @@ public class CachedZeroSuggestionsManager {
prefs.writeBoolean(
KEY_ZERO_SUGGEST_IS_DELETABLE_PREFIX.createKey(numCachableSuggestions),
suggestion.isDeletable());
prefs.writeBoolean(KEY_ZERO_SUGGEST_IS_STARRED_PREFIX.createKey(numCachableSuggestions),
suggestion.isStarred());
prefs.writeString(
KEY_ZERO_SUGGEST_POST_CONTENT_TYPE_PREFIX.createKey(numCachableSuggestions),
suggestion.getPostContentType());
......@@ -160,8 +157,6 @@ public class CachedZeroSuggestionsManager {
AutocompleteMatch.INVALID_TYPE);
boolean isSearchType =
prefs.readBoolean(KEY_ZERO_SUGGEST_IS_SEARCH_TYPE_PREFIX.createKey(i), false);
boolean isStarred =
prefs.readBoolean(KEY_ZERO_SUGGEST_IS_STARRED_PREFIX.createKey(i), false);
boolean isDeletable =
prefs.readBoolean(KEY_ZERO_SUGGEST_IS_DELETABLE_PREFIX.createKey(i), false);
String postContentType =
......@@ -186,8 +181,8 @@ public class CachedZeroSuggestionsManager {
AutocompleteMatch suggestion = new AutocompleteMatch(nativeType, subtypes, isSearchType,
0, 0, displayText, classifications, description, classifications, null, null,
url, GURL.emptyGURL(), null, isStarred, isDeletable, postContentType, postData,
groupId, null, null, false, null);
url, GURL.emptyGURL(), null, isDeletable, postContentType, postData, groupId,
null, null, false, null);
suggestions.add(suggestion);
}
......
......@@ -8,12 +8,14 @@ import android.content.Context;
import android.util.Pair;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.Px;
import androidx.annotation.VisibleForTesting;
import org.chromium.base.Callback;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.browser.ActivityTabProvider;
import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.image_fetcher.ImageFetcher;
import org.chromium.chrome.browser.image_fetcher.ImageFetcherConfig;
......@@ -53,14 +55,15 @@ class DropdownItemViewInfoListBuilder {
private static final int DROPDOWN_HEIGHT_UNKNOWN = -1;
private static final int DEFAULT_SIZE_OF_VISIBLE_GROUP = 5;
private final List<SuggestionProcessor> mPriorityOrderedSuggestionProcessors;
private final @NonNull List<SuggestionProcessor> mPriorityOrderedSuggestionProcessors;
private @NonNull AutocompleteController mAutocompleteController;
private HeaderProcessor mHeaderProcessor;
private ActivityTabProvider mActivityTabProvider;
private Supplier<ShareDelegate> mShareDelegateSupplier;
private ImageFetcher mImageFetcher;
private LargeIconBridge mIconBridge;
private @Nullable HeaderProcessor mHeaderProcessor;
private @Nullable ActivityTabProvider mActivityTabProvider;
private @Nullable Supplier<ShareDelegate> mShareDelegateSupplier;
private @Nullable ImageFetcher mImageFetcher;
private @Nullable LargeIconBridge mIconBridge;
private @Nullable BookmarkBridge mBookmarkBridge;
@Px
private int mDropdownHeight;
private boolean mEnableAdaptiveSuggestionsCount;
......@@ -92,6 +95,7 @@ class DropdownItemViewInfoListBuilder {
() -> mActivityTabProvider == null ? null : mActivityTabProvider.get();
final Supplier<ShareDelegate> shareSupplier =
() -> mShareDelegateSupplier == null ? null : mShareDelegateSupplier.get();
final Supplier<BookmarkBridge> bookmarkSupplier = () -> mBookmarkBridge;
mHeaderProcessor = new HeaderProcessor(context, host, delegate);
registerSuggestionProcessor(new EditUrlSuggestionProcessor(
......@@ -107,8 +111,8 @@ class DropdownItemViewInfoListBuilder {
new TileSuggestionProcessor(context, queryTileSuggestionCallback));
registerSuggestionProcessor(
new MostVisitedTilesProcessor(context, host, iconBridgeSupplier));
registerSuggestionProcessor(
new BasicSuggestionProcessor(context, host, textProvider, iconBridgeSupplier));
registerSuggestionProcessor(new BasicSuggestionProcessor(
context, host, textProvider, iconBridgeSupplier, bookmarkSupplier));
}
void destroy() {
......@@ -159,9 +163,15 @@ class DropdownItemViewInfoListBuilder {
mImageFetcher = null;
}
if (mBookmarkBridge != null) {
mBookmarkBridge.destroy();
mBookmarkBridge = null;
}
mIconBridge = new LargeIconBridge(profile);
mImageFetcher = ImageFetcherFactory.createImageFetcher(ImageFetcherConfig.IN_MEMORY_ONLY,
profile, GlobalDiscardableReferencePool.getReferencePool(), MAX_IMAGE_CACHE_SIZE);
mBookmarkBridge = new BookmarkBridge(profile);
}
/**
......
......@@ -124,8 +124,8 @@ class VoiceSuggestionProvider {
classifications.add(new MatchClassification(0, MatchClassificationStyle.NONE));
suggestions.add(new AutocompleteMatch(OmniboxSuggestionType.VOICE_SUGGEST, null, true, 0, 1,
result.getMatch(), classifications, null, classifications, null, null, voiceUrl,
GURL.emptyGURL(), null, false, false, null, null, AutocompleteMatch.INVALID_GROUP,
null, null, false, null));
GURL.emptyGURL(), null, false, null, null, AutocompleteMatch.INVALID_GROUP, null,
null, false, null));
}
private boolean doesVoiceResultHaveMatch(
......
......@@ -8,9 +8,11 @@ import android.content.Context;
import android.text.TextUtils;
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
import org.chromium.chrome.browser.omnibox.MatchClassificationStyle;
import org.chromium.chrome.browser.omnibox.OmniboxSuggestionType;
import org.chromium.chrome.browser.omnibox.UrlBarEditingTextStateProvider;
......@@ -29,24 +31,30 @@ import java.util.List;
/** A class that handles model and view creation for the basic omnibox suggestions. */
public class BasicSuggestionProcessor extends BaseSuggestionViewProcessor {
private final UrlBarEditingTextStateProvider mUrlBarEditingTextProvider;
private final Supplier<LargeIconBridge> mIconBridgeSupplier;
private final @NonNull UrlBarEditingTextStateProvider mUrlBarEditingTextProvider;
private final @NonNull Supplier<LargeIconBridge> mIconBridgeSupplier;
private final @NonNull Supplier<BookmarkBridge> mBookmarkBridgeSupplier;
private final int mDesiredFaviconWidthPx;
/**
* @param context An Android context.
* @param suggestionHost A handle to the object using the suggestions.
* @param editingTextProvider A means of accessing the text in the omnibox.
* @param iconBridgeSupplier A means of accessing the large icon bridge.
* @param bookmarkBridgeSupplier A means of accessing the bookmark information.
*/
public BasicSuggestionProcessor(Context context, SuggestionHost suggestionHost,
UrlBarEditingTextStateProvider editingTextProvider,
Supplier<LargeIconBridge> iconBridgeSupplier) {
public BasicSuggestionProcessor(@NonNull Context context,
@NonNull SuggestionHost suggestionHost,
@NonNull UrlBarEditingTextStateProvider editingTextProvider,
@NonNull Supplier<LargeIconBridge> iconBridgeSupplier,
@NonNull Supplier<BookmarkBridge> bookmarkBridgeSupplier) {
super(context, suggestionHost);
mDesiredFaviconWidthPx = getContext().getResources().getDimensionPixelSize(
R.dimen.omnibox_suggestion_favicon_size);
mUrlBarEditingTextProvider = editingTextProvider;
mIconBridgeSupplier = iconBridgeSupplier;
mBookmarkBridgeSupplier = bookmarkBridgeSupplier;
}
@Override
......@@ -88,7 +96,8 @@ public class BasicSuggestionProcessor extends BaseSuggestionViewProcessor {
return SuggestionIcon.MAGNIFIER;
}
} else {
if (suggestion.isStarred()) {
BookmarkBridge bridge = mBookmarkBridgeSupplier.get();
if (bridge != null && bridge.isBookmarked(suggestion.getUrl())) {
return SuggestionIcon.BOOKMARK;
} else {
return SuggestionIcon.GLOBE;
......
......@@ -55,7 +55,7 @@ public class VoiceSuggestionProviderTest {
}
private static boolean assertSuggestionMatchesVoiceResult(AutocompleteMatch a, VoiceResult b) {
return a.getType() == OmniboxSuggestionType.VOICE_SUGGEST && !a.isStarred()
return a.getType() == OmniboxSuggestionType.VOICE_SUGGEST
&& TextUtils.equals(a.getDisplayText(), b.getMatch());
}
......
......@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.omnibox.suggestions.basic;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.eq;
......@@ -31,6 +32,7 @@ import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.UiThreadTest;
import org.chromium.base.test.util.Batch;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.omnibox.OmniboxSuggestionType;
import org.chromium.chrome.browser.omnibox.UrlBarEditingTextStateProvider;
......@@ -104,6 +106,8 @@ public class BasicSuggestionProcessorUnitTest {
LargeIconBridge mIconBridge;
@Mock
UrlBarEditingTextStateProvider mUrlBarText;
@Mock
BookmarkBridge mBookmarkBridge;
private Bitmap mBitmap;
private BasicSuggestionProcessor mProcessor;
......@@ -117,7 +121,7 @@ public class BasicSuggestionProcessorUnitTest {
doReturn("").when(mUrlBarText).getTextWithoutAutocomplete();
mBitmap = Bitmap.createBitmap(1, 1, Config.ALPHA_8);
mProcessor = new BasicSuggestionProcessor(ContextUtils.getApplicationContext(),
mSuggestionHost, mUrlBarText, () -> mIconBridge);
mSuggestionHost, mUrlBarText, () -> mIconBridge, () -> mBookmarkBridge);
}
/**
......@@ -128,14 +132,6 @@ public class BasicSuggestionProcessorUnitTest {
return AutocompleteMatchBuilder.searchWithType(type).setDisplayText(title);
}
/** Create bookmark suggestion for test. */
private void createBookmarkSuggestion(int type, String title) {
mSuggestion =
createSuggestionBuilder(type, title).setIsSearch(false).setIsStarred(true).build();
mModel = mProcessor.createModel();
mProcessor.populateModel(mSuggestion, mModel, 0);
}
/** Create search suggestion for test. */
private void createSearchSuggestion(int type, String title) {
mSuggestion = createSuggestionBuilder(type, title).setIsSearch(true).build();
......@@ -260,9 +256,11 @@ public class BasicSuggestionProcessorUnitTest {
{OmniboxSuggestionType.PEDAL, SuggestionIcon.BOOKMARK},
};
doReturn(true).when(mBookmarkBridge).isBookmarked(any());
mProcessor.onNativeInitialized();
for (int[] testCase : testCases) {
createBookmarkSuggestion(testCase[0], "");
createUrlSuggestion(testCase[0], "");
Assert.assertFalse(mModel.get(SuggestionViewProperties.IS_SEARCH_SUGGESTION));
assertSuggestionTypeAndIcon(testCase[0], testCase[1]);
}
......
......@@ -866,6 +866,13 @@ void BookmarkBridge::EndGroupingUndos(JNIEnv* env,
grouped_bookmark_actions_.reset();
}
bool BookmarkBridge::IsBookmarked(JNIEnv* env,
const JavaParamRef<jobject>& gurl) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
return bookmark_model_->IsBookmarked(
*url::GURLAndroid::ToNativeGURL(env, gurl));
}
base::string16 BookmarkBridge::GetTitle(const BookmarkNode* node) const {
if (partner_bookmarks_shim_->IsPartnerBookmark(node))
return partner_bookmarks_shim_->GetTitle(node);
......
......@@ -23,6 +23,7 @@
#include "components/bookmarks/browser/base_bookmark_model_observer.h"
#include "components/bookmarks/common/android/bookmark_id.h"
#include "components/prefs/pref_change_registrar.h"
#include "url/android/gurl_android.h"
namespace bookmarks {
class BookmarkModel;
......@@ -232,6 +233,9 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
void EndGroupingUndos(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
bool IsBookmarked(JNIEnv* env,
const base::android::JavaParamRef<jobject>& gurl);
base::string16 GetTitle(const bookmarks::BookmarkNode* node) const;
// ProfileObserver override
......
......@@ -235,8 +235,8 @@ ScopedJavaLocalRef<jobject> AutocompleteControllerAndroid::Classify(
if (result.empty())
return ScopedJavaLocalRef<jobject>();
return ScopedJavaLocalRef<jobject>(result.begin()->GetOrCreateJavaObject(
env, provider_client_->GetBookmarkModel()));
return ScopedJavaLocalRef<jobject>(
result.begin()->GetOrCreateJavaObject(env));
}
void AutocompleteControllerAndroid::OnOmniboxFocused(
......@@ -524,8 +524,7 @@ void AutocompleteControllerAndroid::NotifySuggestionsReceived(
for (const auto& match : autocomplete_result) {
Java_AutocompleteController_addOmniboxSuggestionToResult(
env, j_autocomplete_result,
match.GetOrCreateJavaObject(env, provider_client_->GetBookmarkModel()));
env, j_autocomplete_result, match.GetOrCreateJavaObject(env));
}
PopulateOmniboxGroupsDetails(env, j_autocomplete_result,
......@@ -573,9 +572,7 @@ bool AutocompleteControllerAndroid::IsValidMatch(JNIEnv* env,
// match count is very low, we can consider skipping the expensive
// verification step and removing this code.
bool equal = Java_AutocompleteController_isEquivalentOmniboxSuggestion(
env,
result.match_at(selected_index)
.GetOrCreateJavaObject(env, provider_client_->GetBookmarkModel()),
env, result.match_at(selected_index).GetOrCreateJavaObject(env),
hash_code);
UMA_HISTOGRAM_ENUMERATION("Android.Omnibox.InvalidMatch",
equal ? MatchValidationResult::VALID_MATCH
......
......@@ -92,7 +92,6 @@ public class AutocompleteMatch {
private final String mImageDominantColor;
private final int mRelevance;
private final int mTransition;
private final boolean mIsStarred;
private final boolean mIsDeletable;
private final String mPostContentType;
private final byte[] mPostData;
......@@ -107,8 +106,8 @@ public class AutocompleteMatch {
List<MatchClassification> displayTextClassifications, String description,
List<MatchClassification> descriptionClassifications, SuggestionAnswer answer,
String fillIntoEdit, GURL url, GURL imageUrl, String imageDominantColor,
boolean isStarred, boolean isDeletable, String postContentType, byte[] postData,
int groupId, List<QueryTile> queryTiles, byte[] clipboardImageData, boolean hasTabMatch,
boolean isDeletable, String postContentType, byte[] postData, int groupId,
List<QueryTile> queryTiles, byte[] clipboardImageData, boolean hasTabMatch,
List<NavsuggestTile> navsuggestTiles) {
if (subtypes == null) {
subtypes = Collections.emptySet();
......@@ -129,7 +128,6 @@ public class AutocompleteMatch {
assert imageUrl != null;
mImageUrl = imageUrl;
mImageDominantColor = imageDominantColor;
mIsStarred = isStarred;
mIsDeletable = isDeletable;
mPostContentType = postContentType;
mPostData = postData;
......@@ -146,10 +144,10 @@ public class AutocompleteMatch {
int[] contentClassificationOffsets, int[] contentClassificationStyles,
String description, int[] descriptionClassificationOffsets,
int[] descriptionClassificationStyles, SuggestionAnswer answer, String fillIntoEdit,
GURL url, GURL imageUrl, String imageDominantColor, boolean isStarred,
boolean isDeletable, String postContentType, byte[] postData, int groupId,
List<QueryTile> tiles, byte[] clipboardImageData, boolean hasTabMatch,
String[] navsuggestTitles, GURL[] navsuggestUrls) {
GURL url, GURL imageUrl, String imageDominantColor, boolean isDeletable,
String postContentType, byte[] postData, int groupId, List<QueryTile> tiles,
byte[] clipboardImageData, boolean hasTabMatch, String[] navsuggestTitles,
GURL[] navsuggestUrls) {
assert contentClassificationOffsets.length == contentClassificationStyles.length;
List<MatchClassification> contentClassifications = new ArrayList<>();
for (int i = 0; i < contentClassificationOffsets.length; i++) {
......@@ -177,9 +175,8 @@ public class AutocompleteMatch {
return new AutocompleteMatch(nativeType, subtypes, isSearchType, relevance, transition,
contents, contentClassifications, description, descriptionClassifications, answer,
fillIntoEdit, url, imageUrl, imageDominantColor, isStarred, isDeletable,
postContentType, postData, groupId, tiles, clipboardImageData, hasTabMatch,
navsuggestTiles);
fillIntoEdit, url, imageUrl, imageDominantColor, isDeletable, postContentType,
postData, groupId, tiles, clipboardImageData, hasTabMatch, navsuggestTiles);
}
public int getType() {
......@@ -238,13 +235,6 @@ public class AutocompleteMatch {
return mIsSearchType;
}
/**
* @return Whether this suggestion represents a starred/bookmarked URL.
*/
public boolean isStarred() {
return mIsStarred;
}
public boolean isDeletable() {
return mIsDeletable;
}
......@@ -293,7 +283,7 @@ public class AutocompleteMatch {
final int displayTextHash = mDisplayText != null ? mDisplayText.hashCode() : 0;
final int fillIntoEditHash = mFillIntoEdit != null ? mFillIntoEdit.hashCode() : 0;
int hash = 37 * mType + 2017 * displayTextHash + 1901 * fillIntoEditHash
+ (mIsStarred ? 1 : 0) + (mIsDeletable ? 1 : 0);
+ (mIsDeletable ? 1 : 0);
if (mAnswer != null) hash = hash + mAnswer.hashCode();
return hash;
}
......@@ -313,8 +303,7 @@ public class AutocompleteMatch {
&& TextUtils.equals(mDescription, suggestion.mDescription)
&& ObjectsCompat.equals(
mDescriptionClassifications, suggestion.mDescriptionClassifications)
&& mIsStarred == suggestion.mIsStarred && mIsDeletable == suggestion.mIsDeletable
&& mRelevance == suggestion.mRelevance
&& mIsDeletable == suggestion.mIsDeletable && mRelevance == suggestion.mRelevance
&& ObjectsCompat.equals(mAnswer, suggestion.mAnswer)
&& TextUtils.equals(mPostContentType, suggestion.mPostContentType)
&& Arrays.equals(mPostData, suggestion.mPostData) && mGroupId == suggestion.mGroupId
......@@ -344,9 +333,8 @@ public class AutocompleteMatch {
"mDescription=" + mDescription, "mFillIntoEdit=" + mFillIntoEdit, "mUrl=" + mUrl,
"mImageUrl=" + mImageUrl, "mImageDominatColor=" + mImageDominantColor,
"mRelevance=" + mRelevance, "mTransition=" + mTransition,
"mIsStarred=" + mIsStarred, "mIsDeletable=" + mIsDeletable,
"mPostContentType=" + mPostContentType, "mPostData=" + Arrays.toString(mPostData),
"mGroupId=" + mGroupId,
"mIsDeletable=" + mIsDeletable, "mPostContentType=" + mPostContentType,
"mPostData=" + Arrays.toString(mPostData), "mGroupId=" + mGroupId,
"mDisplayTextClassifications=" + mDisplayTextClassifications,
"mDescriptionClassifications=" + mDescriptionClassifications, "mAnswer=" + mAnswer);
return pieces.toString();
......
......@@ -35,7 +35,6 @@ public class AutocompleteMatchBuilder {
private String mImageDominantColor;
private int mRelevance;
private int mTransition;
private boolean mIsStarred;
private boolean mIsDeletable;
private String mPostContentType;
private byte[] mPostData;
......@@ -85,7 +84,6 @@ public class AutocompleteMatchBuilder {
mImageDominantColor = null;
mRelevance = 0;
mTransition = 0;
mIsStarred = false;
mIsDeletable = false;
mPostContentType = null;
mPostData = null;
......@@ -111,8 +109,8 @@ public class AutocompleteMatchBuilder {
return new AutocompleteMatch(mType, mSubtypes, mIsSearchType, mRelevance, mTransition,
mDisplayText, mDisplayTextClassifications, mDescription,
mDescriptionClassifications, mAnswer, mFillIntoEdit, mUrl, mImageUrl,
mImageDominantColor, mIsStarred, mIsDeletable, mPostContentType, mPostData,
mGroupId, mQueryTiles, mClipboardImageData, mHasTabMatch, mNavsuggestTiles);
mImageDominantColor, mIsDeletable, mPostContentType, mPostData, mGroupId,
mQueryTiles, mClipboardImageData, mHasTabMatch, mNavsuggestTiles);
}
/**
......@@ -196,15 +194,6 @@ public class AutocompleteMatchBuilder {
return this;
}
/**
* @param isStarred Whether built suggestion is bookmarked.
* @return Omnibox suggestion builder.
*/
public AutocompleteMatchBuilder setIsStarred(boolean isStarred) {
mIsStarred = isStarred;
return this;
}
/**
* @param answer The answer in the Omnibox suggestion.
* @return Omnibox suggestion builder.
......
......@@ -40,10 +40,6 @@ namespace base {
class Time;
} // namespace base
namespace bookmarks {
class BookmarkModel;
} // namespace bookmarks
namespace gfx {
struct VectorIcon;
} // namespace gfx
......@@ -197,8 +193,7 @@ struct AutocompleteMatch {
// Returns a corresponding Java object, creating it if necessary.
// NOTE: Android specific methods are defined in autocomplete_match_android.cc
base::android::ScopedJavaLocalRef<jobject> GetOrCreateJavaObject(
JNIEnv* env,
bookmarks::BookmarkModel* model) const;
JNIEnv* env) const;
#endif
#if (!defined(OS_ANDROID) || BUILDFLAG(ENABLE_VR)) && !defined(OS_IOS)
......
......@@ -9,7 +9,6 @@
#include "base/android/jni_android.h"
#include "base/android/jni_array.h"
#include "base/android/jni_string.h"
#include "components/bookmarks/browser/bookmark_model.h"
#include "components/omnibox/browser/jni_headers/AutocompleteMatch_jni.h"
#include "components/omnibox/browser/search_suggestion_parser.h"
#include "components/query_tiles/android/tile_conversion_bridge.h"
......@@ -23,8 +22,7 @@ using base::android::ToJavaByteArray;
using base::android::ToJavaIntArray;
ScopedJavaLocalRef<jobject> AutocompleteMatch::GetOrCreateJavaObject(
JNIEnv* env,
bookmarks::BookmarkModel* bookmark_model) const {
JNIEnv* env) const {
// Short circuit if we already built the match.
if (java_match_)
return ScopedJavaLocalRef<jobject>(java_match_);
......@@ -90,9 +88,8 @@ ScopedJavaLocalRef<jobject> AutocompleteMatch::GetOrCreateJavaObject(
ConvertUTF16ToJavaString(env, fill_into_edit),
url::GURLAndroid::FromNativeGURL(env, destination_url),
url::GURLAndroid::FromNativeGURL(env, destination_url),
j_image_dominant_color,
bookmark_model && bookmark_model->IsBookmarked(destination_url),
SupportsDeletion(), j_post_content_type, j_post_content,
j_image_dominant_color, SupportsDeletion(), j_post_content_type,
j_post_content,
suggestion_group_id.value_or(
SearchSuggestionParser::kNoSuggestionGroupId),
j_query_tiles, ToJavaByteArray(env, clipboard_image_data), has_tab_match,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment