Chromium Code Reviews| Index: components/translate/core/browser/translate_manager.cc |
| diff --git a/components/translate/core/browser/translate_manager.cc b/components/translate/core/browser/translate_manager.cc |
| index e97fd49fe99ebad094ebf296b42890aa0f1cf43e..09dfcfd761ae4cc7e7d432bdb7f25c04a556cd03 100644 |
| --- a/components/translate/core/browser/translate_manager.cc |
| +++ b/components/translate/core/browser/translate_manager.cc |
| @@ -29,6 +29,7 @@ |
| #include "components/translate/core/common/translate_pref_names.h" |
| #include "components/translate/core/common/translate_switches.h" |
| #include "components/translate/core/common/translate_util.h" |
| +#include "google_apis/google_api_keys.h" |
| #include "net/base/url_util.h" |
| #include "net/http/http_status_code.h" |
| @@ -95,6 +96,17 @@ void TranslateManager::InitiateTranslation(const std::string& page_lang) { |
| return; |
| } |
| + if (!ignore_missing_key_for_testing_ && |
|
Miguel Garcia
2015/06/25 07:10:26
can you add a flag to enable it manually? the defa
|
| + !::google_apis::HasKeysConfigured()) { |
| + // Without an API key, translate won't work, so don't offer to translate |
| + // in the first place. Leave prefs::kEnableTranslate on, though, because |
| + // that settings syncs and we don't want to turn off translate everywhere |
| + // else. |
| + TranslateBrowserMetrics::ReportInitiationStatus( |
| + TranslateBrowserMetrics::INITIATION_STATUS_DISABLED_BY_KEY); |
| + return; |
| + } |
| + |
| PrefService* prefs = translate_client_->GetPrefs(); |
| if (!prefs->GetBoolean(prefs::kEnableTranslate)) { |
| TranslateBrowserMetrics::ReportInitiationStatus( |
| @@ -391,4 +403,11 @@ LanguageState& TranslateManager::GetLanguageState() { |
| return language_state_; |
| } |
| +bool TranslateManager::ignore_missing_key_for_testing_ = false; |
| + |
| +// static |
| +void TranslateManager::SetIgnoreMissingKeyForTesting(bool ignore) { |
| + ignore_missing_key_for_testing_ = ignore; |
| +} |
| + |
| } // namespace translate |