Upload upstream chromium 69.0.3497
[platform/framework/web/chromium-efl.git] / components / assist_ranker / predictor_config_definitions.cc
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "components/assist_ranker/predictor_config_definitions.h"
6
7 namespace assist_ranker {
8
9 #if defined(OS_ANDROID)
10 const base::Feature kContextualSearchRankerQuery{
11     "ContextualSearchRankerQuery", base::FEATURE_DISABLED_BY_DEFAULT};
12
13 namespace {
14
15 const char kContextualSearchModelName[] = "contextual_search_model";
16 const char kContextualSearchLoggingName[] = "ContextualSearch";
17 const char kContextualSearchUmaPrefixName[] = "Search.ContextualSearch.Ranker";
18
19 const char kContextualSearchDefaultModelUrl[] =
20     "https://www.gstatic.com/chrome/intelligence/assist/ranker/models/"
21     "contextual_search/test_ranker_model_20171109_short_words_v2.pb.bin";
22
23 const base::FeatureParam<std::string>*
24 GetContextualSearchRankerUrlFeatureParam() {
25   static auto* kContextualSearchRankerUrl = new base::FeatureParam<std::string>(
26       &kContextualSearchRankerQuery, "contextual-search-ranker-model-url",
27       kContextualSearchDefaultModelUrl);
28   return kContextualSearchRankerUrl;
29 }
30
31 // NOTE: This list needs to be kept in sync with tools/metrics/ukm/ukm.xml!
32 // Only features within this list will be logged to UKM.
33 // TODO(chrome-ranker-team) Deprecate the whitelist once it is available through
34 // the UKM generated API.
35 const base::flat_set<std::string>* GetContextualSearchFeatureWhitelist() {
36   static auto* kContextualSearchFeatureWhitelist =
37       new base::flat_set<std::string>({"DidOptIn",
38                                        "DurationAfterScrollMs",
39                                        "EntityImpressionsCount",
40                                        "EntityOpensCount",
41                                        "FontSize",
42                                        "IsEntity",
43                                        "IsEntityEligible",
44                                        "IsHttp",
45                                        "IsLanguageMismatch",
46                                        "IsLongWord",
47                                        "IsSecondTapOverride",
48                                        "IsShortWord",
49                                        "IsWordEdge",
50                                        "OpenCount",
51                                        "OutcomeRankerDidPredict",
52                                        "OutcomeRankerPrediction",
53                                        "OutcomeWasCardsDataShown",
54                                        "OutcomeWasPanelOpened",
55                                        "OutcomeWasQuickActionClicked",
56                                        "OutcomeWasQuickAnswerSeen",
57                                        "PortionOfElement",
58                                        "Previous28DayCtrPercent",
59                                        "Previous28DayImpressionsCount",
60                                        "PreviousWeekCtrPercent",
61                                        "PreviousWeekImpressionsCount",
62                                        "QuickActionImpressionsCount",
63                                        "QuickActionsIgnored",
64                                        "QuickActionsTaken",
65                                        "QuickAnswerCount",
66                                        "ScreenTopDps",
67                                        "TapCount",
68                                        "TapDurationMs",
69                                        "WasScreenBottom"});
70   return kContextualSearchFeatureWhitelist;
71 }
72
73 }  // namespace
74
75 const PredictorConfig GetContextualSearchPredictorConfig() {
76   static auto kContextualSearchPredictorConfig = *(new PredictorConfig(
77       kContextualSearchModelName, kContextualSearchLoggingName,
78       kContextualSearchUmaPrefixName, LOG_UKM,
79       GetContextualSearchFeatureWhitelist(), &kContextualSearchRankerQuery,
80       GetContextualSearchRankerUrlFeatureParam()));
81   return kContextualSearchPredictorConfig;
82 }
83 #endif  // OS_ANDROID
84
85 }  // namespace assist_ranker