Index: components/translate/core/browser/translate_ranker_impl.h |
diff --git a/components/translate/core/browser/translate_ranker_impl.h b/components/translate/core/browser/translate_ranker_impl.h |
index f9d71aba056aa08e2b23ccd87a33298bb0f20f96..97edc000d9fcf7c8e041c1d577a65e57bf3f3c7b 100644 |
--- a/components/translate/core/browser/translate_ranker_impl.h |
+++ b/components/translate/core/browser/translate_ranker_impl.h |
@@ -41,6 +41,7 @@ class TranslatePrefs; |
extern const base::Feature kTranslateRankerQuery; |
extern const base::Feature kTranslateRankerEnforcement; |
extern const base::Feature kTranslateRankerLogging; |
+extern const base::Feature kTranslateRankerDecisionOverride; |
struct TranslateRankerFeatures { |
TranslateRankerFeatures(); |
@@ -99,17 +100,22 @@ class TranslateRankerImpl : public TranslateRanker { |
void EnableLogging(bool value); |
// TranslateRanker... |
- bool IsLoggingEnabled() override; |
- bool IsQueryEnabled() override; |
- bool IsEnforcementEnabled() override; |
- int GetModelVersion() const override; |
- bool ShouldOfferTranslation(const TranslatePrefs& translate_prefs, |
- const std::string& src_lang, |
- const std::string& dst_lang) override; |
- void AddTranslateEvent(const metrics::TranslateEventProto& translate_event, |
- const GURL& url) override; |
+ uint32_t GetModelVersion() const override; |
+ bool ShouldOfferTranslation( |
+ const TranslatePrefs& translate_prefs, |
+ const std::string& src_lang, |
+ const std::string& dst_lang, |
+ metrics::TranslateEventProto* translate_event) override; |
void FlushTranslateEvents( |
std::vector<metrics::TranslateEventProto>* events) override; |
+ void RecordTranslateEvent( |
+ int event_type, |
+ const GURL& url, |
+ metrics::TranslateEventProto* translate_event) override; |
+ bool ShouldOverrideDecision( |
+ int event_type, |
+ const GURL& url, |
+ metrics::TranslateEventProto* translate_event) override; |
void OnModelAvailable( |
std::unique_ptr<chrome_intelligence::RankerModel> model); |
@@ -125,6 +131,10 @@ class TranslateRankerImpl : public TranslateRanker { |
void SendEventToUKM(const metrics::TranslateEventProto& translate_event, |
const GURL& url); |
+ // Caches the translate event. |
+ void AddTranslateEvent(const metrics::TranslateEventProto& translate_event, |
+ const GURL& url); |
+ |
// Used to log URL-keyed metrics. This pointer will outlive |this|. |
ukm::UkmService* ukm_service_; |
@@ -147,6 +157,12 @@ class TranslateRankerImpl : public TranslateRanker { |
// that also enables the code paths for translate ranker querying. |
bool is_enforcement_enabled_ = true; |
+ // Tracks whether or not translate ranker decision override is enabled. This |
+ // will override suppression heuristics and follow ranker's decision. Note |
+ // that that also enables the code paths for translate ranker querying and |
+ // enforcement. |
+ bool is_decision_override_enabled_ = true; |
+ |
// Saved cache of translate event protos. |
std::vector<metrics::TranslateEventProto> event_cache_; |