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

Side by Side Diff: components/translate/core/browser/translate_ui_delegate.cc

Issue 290573013: LanguageState should be owned by TranslateManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Deleting unwanted forward references Created 6 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/translate/core/browser/translate_ui_delegate.h" 5 #include "components/translate/core/browser/translate_ui_delegate.h"
6 6
7 #include "base/i18n/string_compare.h" 7 #include "base/i18n/string_compare.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 #include "components/translate/core/browser/language_state.h" 9 #include "components/translate/core/browser/language_state.h"
10 #include "components/translate/core/browser/translate_client.h" 10 #include "components/translate/core/browser/translate_client.h"
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 DCHECK_LT(error_type, TranslateErrors::TRANSLATE_ERROR_MAX); 96 DCHECK_LT(error_type, TranslateErrors::TRANSLATE_ERROR_MAX);
97 97
98 if (error_type == TranslateErrors::NONE) 98 if (error_type == TranslateErrors::NONE)
99 return; 99 return;
100 100
101 UMA_HISTOGRAM_ENUMERATION( 101 UMA_HISTOGRAM_ENUMERATION(
102 kShowErrorUI, error_type, TranslateErrors::TRANSLATE_ERROR_MAX); 102 kShowErrorUI, error_type, TranslateErrors::TRANSLATE_ERROR_MAX);
103 } 103 }
104 104
105 const LanguageState& TranslateUIDelegate::GetLanguageState() { 105 const LanguageState& TranslateUIDelegate::GetLanguageState() {
106 return translate_driver_->GetLanguageState(); 106 return translate_manager_->GetLanguageState();
107 } 107 }
108 108
109 size_t TranslateUIDelegate::GetNumberOfLanguages() const { 109 size_t TranslateUIDelegate::GetNumberOfLanguages() const {
110 return languages_.size(); 110 return languages_.size();
111 } 111 }
112 112
113 size_t TranslateUIDelegate::GetOriginalLanguageIndex() const { 113 size_t TranslateUIDelegate::GetOriginalLanguageIndex() const {
114 return original_language_index_; 114 return original_language_index_;
115 } 115 }
116 116
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 if (!translate_driver_->IsOffTheRecord()) { 178 if (!translate_driver_->IsOffTheRecord()) {
179 prefs_->ResetTranslationAcceptedCount(GetOriginalLanguageCode()); 179 prefs_->ResetTranslationAcceptedCount(GetOriginalLanguageCode());
180 prefs_->IncrementTranslationDeniedCount(GetOriginalLanguageCode()); 180 prefs_->IncrementTranslationDeniedCount(GetOriginalLanguageCode());
181 } 181 }
182 182
183 // Remember that the user declined the translation so as to prevent showing a 183 // Remember that the user declined the translation so as to prevent showing a
184 // translate infobar for that page again. (TranslateManager initiates 184 // translate infobar for that page again. (TranslateManager initiates
185 // translations when getting a LANGUAGE_DETERMINED from the page, which 185 // translations when getting a LANGUAGE_DETERMINED from the page, which
186 // happens when a load stops. That could happen multiple times, including 186 // happens when a load stops. That could happen multiple times, including
187 // after the user already declined the translation.) 187 // after the user already declined the translation.)
188 translate_driver_->GetLanguageState().set_translation_declined(true); 188 translate_manager_->GetLanguageState().set_translation_declined(true);
189 189
190 UMA_HISTOGRAM_BOOLEAN(kDeclineTranslate, true); 190 UMA_HISTOGRAM_BOOLEAN(kDeclineTranslate, true);
191 191
192 if (!explicitly_closed) 192 if (!explicitly_closed)
193 UMA_HISTOGRAM_BOOLEAN(kDeclineTranslateDismissUI, true); 193 UMA_HISTOGRAM_BOOLEAN(kDeclineTranslateDismissUI, true);
194 } 194 }
195 195
196 bool TranslateUIDelegate::IsLanguageBlocked() { 196 bool TranslateUIDelegate::IsLanguageBlocked() {
197 return prefs_->IsBlockedLanguage(GetOriginalLanguageCode()); 197 return prefs_->IsBlockedLanguage(GetOriginalLanguageCode());
198 } 198 }
199 199
200 void TranslateUIDelegate::SetLanguageBlocked(bool value) { 200 void TranslateUIDelegate::SetLanguageBlocked(bool value) {
201 if (value) { 201 if (value) {
202 prefs_->BlockLanguage(GetOriginalLanguageCode()); 202 prefs_->BlockLanguage(GetOriginalLanguageCode());
203 translate_driver_->GetLanguageState().SetTranslateEnabled(false); 203 translate_manager_->GetLanguageState().SetTranslateEnabled(false);
204 } else { 204 } else {
205 prefs_->UnblockLanguage(GetOriginalLanguageCode()); 205 prefs_->UnblockLanguage(GetOriginalLanguageCode());
206 } 206 }
207 207
208 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateLang, true); 208 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateLang, true);
209 } 209 }
210 210
211 bool TranslateUIDelegate::IsSiteBlacklisted() { 211 bool TranslateUIDelegate::IsSiteBlacklisted() {
212 std::string host = GetPageHost(); 212 std::string host = GetPageHost();
213 return !host.empty() && prefs_->IsSiteBlacklisted(host); 213 return !host.empty() && prefs_->IsSiteBlacklisted(host);
214 } 214 }
215 215
216 void TranslateUIDelegate::SetSiteBlacklist(bool value) { 216 void TranslateUIDelegate::SetSiteBlacklist(bool value) {
217 std::string host = GetPageHost(); 217 std::string host = GetPageHost();
218 if (host.empty()) 218 if (host.empty())
219 return; 219 return;
220 220
221 if (value) { 221 if (value) {
222 prefs_->BlacklistSite(host); 222 prefs_->BlacklistSite(host);
223 translate_driver_->GetLanguageState().SetTranslateEnabled(false); 223 translate_manager_->GetLanguageState().SetTranslateEnabled(false);
224 } else { 224 } else {
225 prefs_->RemoveSiteFromBlacklist(host); 225 prefs_->RemoveSiteFromBlacklist(host);
226 } 226 }
227 227
228 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateSite, true); 228 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateSite, true);
229 } 229 }
230 230
231 bool TranslateUIDelegate::ShouldAlwaysTranslate() { 231 bool TranslateUIDelegate::ShouldAlwaysTranslate() {
232 return prefs_->IsLanguagePairWhitelisted(GetOriginalLanguageCode(), 232 return prefs_->IsLanguagePairWhitelisted(GetOriginalLanguageCode(),
233 GetTargetLanguageCode()); 233 GetTargetLanguageCode());
234 } 234 }
235 235
236 void TranslateUIDelegate::SetAlwaysTranslate(bool value) { 236 void TranslateUIDelegate::SetAlwaysTranslate(bool value) {
237 const std::string& original_lang = GetOriginalLanguageCode(); 237 const std::string& original_lang = GetOriginalLanguageCode();
238 const std::string& target_lang = GetTargetLanguageCode(); 238 const std::string& target_lang = GetTargetLanguageCode();
239 if (value) 239 if (value)
240 prefs_->WhitelistLanguagePair(original_lang, target_lang); 240 prefs_->WhitelistLanguagePair(original_lang, target_lang);
241 else 241 else
242 prefs_->RemoveLanguagePairFromWhitelist(original_lang, target_lang); 242 prefs_->RemoveLanguagePairFromWhitelist(original_lang, target_lang);
243 243
244 UMA_HISTOGRAM_BOOLEAN(kAlwaysTranslateLang, true); 244 UMA_HISTOGRAM_BOOLEAN(kAlwaysTranslateLang, true);
245 } 245 }
246 246
247 std::string TranslateUIDelegate::GetPageHost() { 247 std::string TranslateUIDelegate::GetPageHost() {
248 if (!translate_driver_->HasCurrentPage()) 248 if (!translate_driver_->HasCurrentPage())
249 return std::string(); 249 return std::string();
250 return translate_driver_->GetActiveURL().HostNoBrackets(); 250 return translate_driver_->GetActiveURL().HostNoBrackets();
251 } 251 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698