1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229
|
// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_OMNIBOX_BROWSER_MOCK_AUTOCOMPLETE_PROVIDER_CLIENT_H_
#define COMPONENTS_OMNIBOX_BROWSER_MOCK_AUTOCOMPLETE_PROVIDER_CLIENT_H_
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "base/memory/raw_ptr.h"
#include "components/history/core/browser/top_sites.h"
#include "components/omnibox/browser/actions/omnibox_pedal_provider.h"
#include "components/omnibox/browser/autocomplete_provider_client.h"
#include "components/omnibox/browser/autocomplete_scheme_classifier.h"
#include "components/omnibox/browser/document_suggestions_service.h"
#include "components/omnibox/browser/keyword_extensions_delegate.h"
#include "components/omnibox/browser/mock_tab_matcher.h"
#include "components/omnibox/browser/remote_suggestions_service.h"
#include "components/omnibox/browser/shortcuts_backend.h"
#include "components/omnibox/browser/unscoped_extension_provider_delegate.h"
#include "components/omnibox/browser/zero_suggest_cache_service.h"
#include "components/saved_tab_groups/public/tab_group_sync_service.h"
#include "components/saved_tab_groups/test_support/mock_tab_group_sync_service.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
#include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
#include "services/network/test/test_url_loader_factory.h"
#include "testing/gmock/include/gmock/gmock.h"
class AutocompleteScoringModelService;
class OnDeviceTailModelService;
class OmniboxTriggeredFeatureService;
struct AutocompleteMatch;
struct ProviderStateService;
class MockAutocompleteProviderClient
: public testing::NiceMock<AutocompleteProviderClient> {
public:
MockAutocompleteProviderClient();
~MockAutocompleteProviderClient();
MockAutocompleteProviderClient(const MockAutocompleteProviderClient&) =
delete;
MockAutocompleteProviderClient& operator=(
const MockAutocompleteProviderClient&) = delete;
// AutocompleteProviderClient:
MOCK_CONST_METHOD0(GetPrefs, PrefService*());
MOCK_METHOD0(GetLocalState, PrefService*());
MOCK_CONST_METHOD0(GetApplicationLocale, std::string());
MOCK_CONST_METHOD0(GetSchemeClassifier,
const AutocompleteSchemeClassifier&());
MOCK_METHOD0(GetAutocompleteClassifier, AutocompleteClassifier*());
MOCK_METHOD0(GetHistoryService, history::HistoryService*());
scoped_refptr<network::SharedURLLoaderFactory> GetURLLoaderFactory()
override {
return shared_factory_;
}
scoped_refptr<history::TopSites> GetTopSites() override { return nullptr; }
MOCK_METHOD0(GetBookmarkModel, bookmarks::BookmarkModel*());
MOCK_METHOD0(GetInMemoryDatabase, history::URLDatabase*());
MOCK_METHOD0(GetInMemoryURLIndex, InMemoryURLIndex*());
TemplateURLService* GetTemplateURLService() override {
return template_url_service_;
}
const TemplateURLService* GetTemplateURLService() const override {
return template_url_service_;
}
RemoteSuggestionsService* GetRemoteSuggestionsService(
bool create_if_necessary) const override {
return remote_suggestions_service_.get();
}
ZeroSuggestCacheService* GetZeroSuggestCacheService() override {
return zero_suggest_cache_service_.get();
}
const ZeroSuggestCacheService* GetZeroSuggestCacheService() const override {
return zero_suggest_cache_service_.get();
}
OmniboxPedalProvider* GetPedalProvider() const override {
return pedal_provider_.get();
}
// Can't mock scoped_refptr :\.
scoped_refptr<ShortcutsBackend> GetShortcutsBackend() override {
return nullptr;
}
scoped_refptr<ShortcutsBackend> GetShortcutsBackendIfExists() override {
return nullptr;
}
std::unique_ptr<KeywordExtensionsDelegate> GetKeywordExtensionsDelegate(
KeywordProvider* keyword_provider) override {
return nullptr;
}
std::unique_ptr<UnscopedExtensionProviderDelegate>
GetUnscopedExtensionProviderDelegate(
UnscopedExtensionProvider* unscoped_extension_provider) override {
return std::move(unscoped_extension_provider_delegate_);
}
OmniboxTriggeredFeatureService* GetOmniboxTriggeredFeatureService()
const override {
return omnibox_triggered_feature_service_.get();
}
component_updater::ComponentUpdateService* GetComponentUpdateService()
override {
return nullptr;
}
const TabMatcher& GetTabMatcher() const override { return tab_matcher_; }
signin::IdentityManager* GetIdentityManager() const override {
return identity_manager_;
}
AutocompleteScoringModelService* GetAutocompleteScoringModelService()
const override {
return nullptr;
}
OnDeviceTailModelService* GetOnDeviceTailModelService() const override {
return nullptr;
}
ProviderStateService* GetProviderStateService() const override {
return provider_state_service_.get();
}
bool in_background_state() const override { return in_background_state_; }
void set_in_background_state(bool in_background_state) override {
in_background_state_ = in_background_state;
}
tab_groups::TabGroupSyncService* GetTabGroupSyncService() const override {
return mock_tab_group_sync_service_.get();
}
MOCK_CONST_METHOD0(GetAcceptLanguages, std::string());
MOCK_CONST_METHOD0(GetEmbedderRepresentationOfAboutScheme, std::string());
MOCK_METHOD0(GetBuiltinURLs, std::vector<std::u16string>());
MOCK_METHOD0(GetBuiltinsToProvideAsUserTypes, std::vector<std::u16string>());
MOCK_CONST_METHOD0(IsOffTheRecord, bool());
MOCK_CONST_METHOD0(IsIncognitoProfile, bool());
MOCK_CONST_METHOD0(IsGuestSession, bool());
MOCK_CONST_METHOD0(SearchSuggestEnabled, bool());
MOCK_CONST_METHOD0(IsUrlDataCollectionActive, bool());
MOCK_CONST_METHOD0(IsPersonalizedUrlDataCollectionActive, bool());
MOCK_CONST_METHOD0(IsAuthenticated, bool());
MOCK_CONST_METHOD0(IsSyncActive, bool());
MOCK_CONST_METHOD0(IsHistoryEmbeddingsEnabled, bool());
MOCK_CONST_METHOD0(IsHistoryEmbeddingsSettingVisible, bool());
MOCK_CONST_METHOD0(IsLensEnabled, bool());
MOCK_CONST_METHOD0(AreLensEntrypointsVisible, bool());
MOCK_CONST_METHOD0(IsPagePaywalled, std::optional<bool>());
MOCK_CONST_METHOD1(GetLensSuggestInputsWhenReady,
base::CallbackListSubscription(
LensOverlaySuggestInputsCallback callback));
MOCK_METHOD6(
Classify,
void(const std::u16string& text,
bool prefer_keyword,
bool allow_exact_keyword_match,
metrics::OmniboxEventProto::PageClassification page_classification,
AutocompleteMatch* match,
GURL* alternate_nav_url));
MOCK_METHOD2(DeleteMatchingURLsForKeywordFromHistory,
void(history::KeywordID keyword_id, const std::u16string& term));
MOCK_METHOD1(PrefetchImage, void(const GURL& url));
void set_pedal_provider(
std::unique_ptr<OmniboxPedalProvider> pedal_provider) {
pedal_provider_ = std::move(pedal_provider);
}
void set_unscoped_extension_provider_delegate(
std::unique_ptr<UnscopedExtensionProviderDelegate> delegate) {
unscoped_extension_provider_delegate_ = std::move(delegate);
}
void set_template_url_service(TemplateURLService* template_url_service) {
template_url_service_ = template_url_service;
}
void set_identity_manager(signin::IdentityManager* identity_manager) {
identity_manager_ = identity_manager;
}
network::TestURLLoaderFactory* test_url_loader_factory() {
return &test_url_loader_factory_;
}
MOCK_METHOD0(OpenSharingHub, void());
MOCK_METHOD0(NewIncognitoWindow, void());
MOCK_METHOD0(OpenIncognitoClearBrowsingDataDialog, void());
MOCK_METHOD0(CloseIncognitoWindows, void());
MOCK_METHOD0(PromptPageTranslation, void());
MOCK_METHOD1(OpenLensOverlay, void(bool));
MOCK_METHOD3(IssueContextualSearchRequest,
void(const GURL& destination_url,
AutocompleteMatchType::Type match_type,
bool is_zero_prefix_suggestion));
private:
network::TestURLLoaderFactory test_url_loader_factory_;
scoped_refptr<network::SharedURLLoaderFactory> shared_factory_;
bool in_background_state_ = false;
raw_ptr<TemplateURLService> template_url_service_;
std::unique_ptr<DocumentSuggestionsService> document_suggestions_service_;
std::unique_ptr<RemoteSuggestionsService> remote_suggestions_service_;
std::unique_ptr<ZeroSuggestCacheService> zero_suggest_cache_service_;
std::unique_ptr<OmniboxPedalProvider> pedal_provider_;
std::unique_ptr<OmniboxTriggeredFeatureService>
omnibox_triggered_feature_service_;
std::unique_ptr<ProviderStateService> provider_state_service_;
std::unique_ptr<UnscopedExtensionProviderDelegate>
unscoped_extension_provider_delegate_;
MockTabMatcher tab_matcher_;
raw_ptr<signin::IdentityManager> identity_manager_ = nullptr; // Not owned.
std::unique_ptr<tab_groups::MockTabGroupSyncService>
mock_tab_group_sync_service_;
};
#endif // COMPONENTS_OMNIBOX_BROWSER_MOCK_AUTOCOMPLETE_PROVIDER_CLIENT_H_
|