Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(169)

Unified Diff: components/translate/core/browser/translate_ranker_impl.h

Issue 2697703004: Allow TranslateRanker to override decisions taken by heuristics. (Closed)
Patch Set: Make ShouldSuppressBubbleUI easier to read. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698