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

Side by Side Diff: chrome/browser/translate/translate_ui_delegate.cc

Issue 133273029: Move LanguageState to the translate component (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review comments Created 6 years, 11 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/translate/translate_ui_delegate.h" 5 #include "chrome/browser/translate/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 "chrome/browser/browser_process.h" 9 #include "chrome/browser/browser_process.h"
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 prefs_->ResetTranslationAcceptedCount(GetOriginalLanguageCode()); 174 prefs_->ResetTranslationAcceptedCount(GetOriginalLanguageCode());
175 prefs_->IncrementTranslationDeniedCount(GetOriginalLanguageCode()); 175 prefs_->IncrementTranslationDeniedCount(GetOriginalLanguageCode());
176 } 176 }
177 177
178 // Remember that the user declined the translation so as to prevent showing a 178 // Remember that the user declined the translation so as to prevent showing a
179 // translate infobar for that page again. (TranslateManager initiates 179 // translate infobar for that page again. (TranslateManager initiates
180 // translations when getting a LANGUAGE_DETERMINED from the page, which 180 // translations when getting a LANGUAGE_DETERMINED from the page, which
181 // happens when a load stops. That could happen multiple times, including 181 // happens when a load stops. That could happen multiple times, including
182 // after the user already declined the translation.) 182 // after the user already declined the translation.)
183 TranslateTabHelper::FromWebContents(web_contents())-> 183 TranslateTabHelper::FromWebContents(web_contents())->
184 language_state().set_translation_declined(true); 184 GetLanguageState().set_translation_declined(true);
185 185
186 UMA_HISTOGRAM_BOOLEAN(kDeclineTranslate, true); 186 UMA_HISTOGRAM_BOOLEAN(kDeclineTranslate, true);
187 187
188 if (!explicitly_closed) 188 if (!explicitly_closed)
189 UMA_HISTOGRAM_BOOLEAN(kDeclineTranslateDismissUI, true); 189 UMA_HISTOGRAM_BOOLEAN(kDeclineTranslateDismissUI, true);
190 } 190 }
191 191
192 bool TranslateUIDelegate::IsLanguageBlocked() { 192 bool TranslateUIDelegate::IsLanguageBlocked() {
193 return prefs_->IsBlockedLanguage(GetOriginalLanguageCode()); 193 return prefs_->IsBlockedLanguage(GetOriginalLanguageCode());
194 } 194 }
195 195
196 void TranslateUIDelegate::SetLanguageBlocked(bool value) { 196 void TranslateUIDelegate::SetLanguageBlocked(bool value) {
197 if (value) { 197 if (value) {
198 prefs_->BlockLanguage(GetOriginalLanguageCode()); 198 prefs_->BlockLanguage(GetOriginalLanguageCode());
199 TranslateTabHelper* translate_tab_helper = 199 TranslateTabHelper* translate_tab_helper =
200 TranslateTabHelper::FromWebContents(web_contents()); 200 TranslateTabHelper::FromWebContents(web_contents());
201 DCHECK(translate_tab_helper); 201 DCHECK(translate_tab_helper);
202 translate_tab_helper->language_state().SetTranslateEnabled(false); 202 translate_tab_helper->GetLanguageState().SetTranslateEnabled(false);
203 } else { 203 } else {
204 prefs_->UnblockLanguage(GetOriginalLanguageCode()); 204 prefs_->UnblockLanguage(GetOriginalLanguageCode());
205 } 205 }
206 206
207 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateLang, true); 207 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateLang, true);
208 } 208 }
209 209
210 bool TranslateUIDelegate::IsSiteBlacklisted() { 210 bool TranslateUIDelegate::IsSiteBlacklisted() {
211 std::string host = GetPageHost(); 211 std::string host = GetPageHost();
212 return !host.empty() && prefs_->IsSiteBlacklisted(host); 212 return !host.empty() && prefs_->IsSiteBlacklisted(host);
213 } 213 }
214 214
215 void TranslateUIDelegate::SetSiteBlacklist(bool value) { 215 void TranslateUIDelegate::SetSiteBlacklist(bool value) {
216 std::string host = GetPageHost(); 216 std::string host = GetPageHost();
217 if (host.empty()) 217 if (host.empty())
218 return; 218 return;
219 219
220 if (value) { 220 if (value) {
221 prefs_->BlacklistSite(host); 221 prefs_->BlacklistSite(host);
222 TranslateTabHelper* translate_tab_helper = 222 TranslateTabHelper* translate_tab_helper =
223 TranslateTabHelper::FromWebContents(web_contents()); 223 TranslateTabHelper::FromWebContents(web_contents());
224 DCHECK(translate_tab_helper); 224 DCHECK(translate_tab_helper);
225 translate_tab_helper->language_state().SetTranslateEnabled(false); 225 translate_tab_helper->GetLanguageState().SetTranslateEnabled(false);
226 } else { 226 } else {
227 prefs_->RemoveSiteFromBlacklist(host); 227 prefs_->RemoveSiteFromBlacklist(host);
228 } 228 }
229 229
230 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateSite, true); 230 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateSite, true);
231 } 231 }
232 232
233 bool TranslateUIDelegate::ShouldAlwaysTranslate() { 233 bool TranslateUIDelegate::ShouldAlwaysTranslate() {
234 return prefs_->IsLanguagePairWhitelisted(GetOriginalLanguageCode(), 234 return prefs_->IsLanguagePairWhitelisted(GetOriginalLanguageCode(),
235 GetTargetLanguageCode()); 235 GetTargetLanguageCode());
236 } 236 }
237 237
238 void TranslateUIDelegate::SetAlwaysTranslate(bool value) { 238 void TranslateUIDelegate::SetAlwaysTranslate(bool value) {
239 const std::string& original_lang = GetOriginalLanguageCode(); 239 const std::string& original_lang = GetOriginalLanguageCode();
240 const std::string& target_lang = GetTargetLanguageCode(); 240 const std::string& target_lang = GetTargetLanguageCode();
241 if (value) 241 if (value)
242 prefs_->WhitelistLanguagePair(original_lang, target_lang); 242 prefs_->WhitelistLanguagePair(original_lang, target_lang);
243 else 243 else
244 prefs_->RemoveLanguagePairFromWhitelist(original_lang, target_lang); 244 prefs_->RemoveLanguagePairFromWhitelist(original_lang, target_lang);
245 245
246 UMA_HISTOGRAM_BOOLEAN(kAlwaysTranslateLang, true); 246 UMA_HISTOGRAM_BOOLEAN(kAlwaysTranslateLang, true);
247 } 247 }
248 248
249 std::string TranslateUIDelegate::GetPageHost() { 249 std::string TranslateUIDelegate::GetPageHost() {
250 content::NavigationEntry* entry = 250 content::NavigationEntry* entry =
251 web_contents()->GetController().GetActiveEntry(); 251 web_contents()->GetController().GetActiveEntry();
252 return entry ? entry->GetURL().HostNoBrackets() : std::string(); 252 return entry ? entry->GetURL().HostNoBrackets() : std::string();
253 } 253 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698