0

[omnibox][ML] Add AC scoring model service to AC Provider Client

Browser profile information is only available in //chrome.  This CL adds
the AutocompleteScoringModelService getter to the
AutocompleteProviderClient to provide access from the //components side.

Bug: 1405555
Change-Id: If918180b1f8bde53fb779eb8aa87ee813bd5de66
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4236108
Reviewed-by: Stepan Khapugin <stkhapugin@chromium.org>
Reviewed-by: manuk hovanesian <manukh@chromium.org>
Commit-Queue: Angela Yoeurng <yoangela@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1105199}
This commit is contained in:
Angela Yoeurng
2023-02-14 19:36:12 +00:00
committed by Chromium LUCI CQ
parent 16a3e22660
commit 7f3908643d
6 changed files with 38 additions and 0 deletions

@@ -87,6 +87,11 @@
#include "chrome/browser/upgrade_detector/upgrade_detector.h"
#endif
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
#include "chrome/browser/autocomplete/autocomplete_scoring_model_service_factory.h"
#include "components/omnibox/browser/autocomplete_scoring_model_service.h"
#endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB)
namespace {
#if !BUILDFLAG(IS_ANDROID)
@@ -315,6 +320,16 @@ signin::IdentityManager* ChromeAutocompleteProviderClient::GetIdentityManager()
return IdentityManagerFactory::GetForProfile(profile_);
}
AutocompleteScoringModelService*
ChromeAutocompleteProviderClient::GetAutocompleteScoringModelService() const {
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
return AutocompleteScoringModelServiceFactory::GetInstance()->GetForProfile(
profile_);
#else
return nullptr;
#endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB)
}
bool ChromeAutocompleteProviderClient::IsOffTheRecord() const {
return profile_->IsOffTheRecord();
}

@@ -22,6 +22,7 @@
class Profile;
class TabMatcher;
class AutocompleteScoringModelService;
namespace content {
class StoragePartition;
@@ -79,6 +80,8 @@ class ChromeAutocompleteProviderClient : public AutocompleteProviderClient {
OmniboxTriggeredFeatureService* GetOmniboxTriggeredFeatureService()
const override;
signin::IdentityManager* GetIdentityManager() const override;
AutocompleteScoringModelService* GetAutocompleteScoringModelService()
const override;
bool IsOffTheRecord() const override;
bool IsIncognitoProfile() const override;
bool IsGuestSession() const override;

@@ -13,6 +13,7 @@
#include "base/memory/weak_ptr.h"
#include "components/history/core/browser/keyword_id.h"
#include "components/omnibox/browser/actions/omnibox_action.h"
#include "components/optimization_guide/machine_learning_tflite_buildflags.h"
#include "third_party/metrics_proto/omnibox_event.pb.h"
struct AutocompleteMatch;
@@ -30,6 +31,7 @@ class PrefService;
class ShortcutsBackend;
class TabMatcher;
class ZeroSuggestCacheService;
class AutocompleteScoringModelService;
namespace bookmarks {
class BookmarkModel;
@@ -96,6 +98,8 @@ class AutocompleteProviderClient : public OmniboxAction::Client {
virtual query_tiles::TileService* GetQueryTileService() const = 0;
virtual OmniboxTriggeredFeatureService* GetOmniboxTriggeredFeatureService()
const = 0;
virtual AutocompleteScoringModelService* GetAutocompleteScoringModelService()
const = 0;
// The value to use for Accept-Languages HTTP header when making an HTTP
// request.

@@ -15,6 +15,7 @@
#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/autocomplete_scoring_model_service.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"
@@ -27,6 +28,8 @@
#include "services/network/test/test_url_loader_factory.h"
#include "testing/gmock/include/gmock/gmock.h"
class AutocompleteScoringModelService;
struct AutocompleteMatch;
class MockAutocompleteProviderClient
@@ -110,6 +113,11 @@ class MockAutocompleteProviderClient
return identity_manager_;
}
AutocompleteScoringModelService* GetAutocompleteScoringModelService()
const override {
return nullptr;
}
MOCK_CONST_METHOD0(GetAcceptLanguages, std::string());
MOCK_CONST_METHOD0(GetEmbedderRepresentationOfAboutScheme, std::string());
MOCK_METHOD0(GetBuiltinURLs, std::vector<std::u16string>());

@@ -11,6 +11,7 @@
#include "ios/chrome/browser/autocomplete/tab_matcher_impl.h"
class ChromeBrowserState;
class AutocompleteScoringModelService;
namespace unified_consent {
class UrlKeyedDataCollectionConsentHelper;
@@ -61,6 +62,8 @@ class AutocompleteProviderClientImpl : public AutocompleteProviderClient {
query_tiles::TileService* GetQueryTileService() const override;
OmniboxTriggeredFeatureService* GetOmniboxTriggeredFeatureService()
const override;
AutocompleteScoringModelService* GetAutocompleteScoringModelService()
const override;
std::string GetAcceptLanguages() const override;
std::string GetEmbedderRepresentationOfAboutScheme() const override;
std::vector<std::u16string> GetBuiltinURLs() override;

@@ -178,6 +178,11 @@ AutocompleteProviderClientImpl::GetOmniboxTriggeredFeatureService() const {
return omnibox_triggered_feature_service_.get();
}
AutocompleteScoringModelService*
AutocompleteProviderClientImpl::GetAutocompleteScoringModelService() const {
return nullptr;
}
std::string AutocompleteProviderClientImpl::GetAcceptLanguages() const {
return browser_state_->GetPrefs()->GetString(
language::prefs::kAcceptLanguages);