Index: components/translate/core/browser/translate_ui_delegate.h |
diff --git a/components/translate/core/browser/translate_ui_delegate.h b/components/translate/core/browser/translate_ui_delegate.h |
index 230a68cd6c973319c5dc5c44c80408990aae1294..399caddbeeb59050fb6fa851c7e188fec523b8be 100644 |
--- a/components/translate/core/browser/translate_ui_delegate.h |
+++ b/components/translate/core/browser/translate_ui_delegate.h |
@@ -77,6 +77,9 @@ class TranslateUIDelegate { |
// Returns the ISO code for the language at |index|. |
std::string GetLanguageCodeAt(size_t index) const; |
+ // Returns the index of |language_code|. |
+ size_t GetLanguageIndex(const std::string& language_code); |
+ |
// Returns the displayable name for the language at |index|. |
base::string16 GetLanguageNameAt(size_t index) const; |
@@ -101,15 +104,30 @@ class TranslateUIDelegate { |
// Returns true if the current language is blocked. |
bool IsLanguageBlocked(); |
+ // Returns true if |language_code| is blocked. |language_code| must not be |
+ // empty. |
+ bool IsLanguageBlocked(const std::string& language_code); |
+ |
// Sets the value if the current language is blocked. |
void SetLanguageBlocked(bool value); |
+ // Blocks/unblocks |language_code| for translation. |language_code| must not |
+ // be empty. |
+ void SetLanguageBlocked(bool value, const std::string& language_code); |
+ |
// Returns true if the current webpage is blacklisted. |
bool IsSiteBlacklisted(); |
+ // Returns true if |page_host| is blacklisted. |page_host| must not be empty. |
+ bool IsSiteBlacklisted(const std::string& page_host); |
+ |
// Sets the value if the current webpage is blacklisted. |
void SetSiteBlacklist(bool value); |
+ // Sets the value if the |page_host| is blacklisted. |page_host| must not be |
+ // empty. |
+ void SetSiteBlacklist(bool value, const std::string& page_host); |
+ |
// Returns true if the webpage in the current original language should be |
// translated into the current target language automatically. |
bool ShouldAlwaysTranslate(); |
@@ -118,6 +136,20 @@ class TranslateUIDelegate { |
// translated into the current target language automatically. |
void SetAlwaysTranslate(bool value); |
+ // If |value| is true, updates the preference to always translate |
+ // |from_language| to |to_language| without prompting. If it is called |
+ // multiple times for the same |from_language|, the last specified |
+ // |to_language| is used. |
+ // If |value| is false, updates the preference not to always translate |
+ // |from_language|. |target_language| is ignored. |
+ void SetAlwaysTranslate(bool value, |
+ const std::string& from_language, |
+ const std::string& to_language); |
+ |
+ // Returns the language to always translate |from_language| to, or empty |
+ // string if no such language has been set. |
+ std::string GetAlwaysTranslateToLanguage(const std::string& from_language); |
+ |
// Returns true if the Always Translate checkbox should be checked by default. |
bool ShouldAlwaysTranslateBeCheckedByDefault(); |