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

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

Issue 25373009: Translate: New Bubble UX (for the view toolkit) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add 'Try again' button; rename enum names Created 7 years, 2 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 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 language_state().set_translation_declined(true); 160 language_state().set_translation_declined(true);
161 161
162 UMA_HISTOGRAM_BOOLEAN(kDeclineTranslate, true); 162 UMA_HISTOGRAM_BOOLEAN(kDeclineTranslate, true);
163 } 163 }
164 164
165 bool TranslateUIDelegate::IsLanguageBlocked() { 165 bool TranslateUIDelegate::IsLanguageBlocked() {
166 return prefs_->IsBlockedLanguage(GetOriginalLanguageCode()); 166 return prefs_->IsBlockedLanguage(GetOriginalLanguageCode());
167 } 167 }
168 168
169 void TranslateUIDelegate::SetLanguageBlocked(bool value) { 169 void TranslateUIDelegate::SetLanguageBlocked(bool value) {
170 if (value) 170 if (value) {
171 prefs_->BlockLanguage(GetOriginalLanguageCode()); 171 prefs_->BlockLanguage(GetOriginalLanguageCode());
172 else 172 TranslateTabHelper* translate_tab_helper =
173 TranslateTabHelper::FromWebContents(web_contents());
174 DCHECK(translate_tab_helper);
175 translate_tab_helper->language_state().SetIsTranslateSuggested(false);
Takashi Toyoshima 2013/10/08 14:54:09 Here, you hide bubble UX immediately. If a user mi
hajimehoshi 2013/10/10 11:07:10 Hiding the icon is, if anything, Kenji's idea. We
176 } else {
173 prefs_->UnblockLanguage(GetOriginalLanguageCode()); 177 prefs_->UnblockLanguage(GetOriginalLanguageCode());
178 }
174 179
175 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateLang, true); 180 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateLang, true);
176 } 181 }
177 182
178 bool TranslateUIDelegate::IsSiteBlacklisted() { 183 bool TranslateUIDelegate::IsSiteBlacklisted() {
179 std::string host = GetPageHost(); 184 std::string host = GetPageHost();
180 return !host.empty() && prefs_->IsSiteBlacklisted(host); 185 return !host.empty() && prefs_->IsSiteBlacklisted(host);
181 } 186 }
182 187
183 void TranslateUIDelegate::SetSiteBlacklist(bool value) { 188 void TranslateUIDelegate::SetSiteBlacklist(bool value) {
184 std::string host = GetPageHost(); 189 std::string host = GetPageHost();
185 if (host.empty()) 190 if (host.empty())
186 return; 191 return;
187 192
188 if (value) 193 if (value) {
189 prefs_->BlacklistSite(host); 194 prefs_->BlacklistSite(host);
190 else 195 TranslateTabHelper* translate_tab_helper =
196 TranslateTabHelper::FromWebContents(web_contents());
197 DCHECK(translate_tab_helper);
198 translate_tab_helper->language_state().SetIsTranslateSuggested(false);
199 } else {
191 prefs_->RemoveSiteFromBlacklist(host); 200 prefs_->RemoveSiteFromBlacklist(host);
201 }
192 202
193 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateSite, true); 203 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateSite, true);
194 } 204 }
195 205
196 bool TranslateUIDelegate::ShouldAlwaysTranslate() { 206 bool TranslateUIDelegate::ShouldAlwaysTranslate() {
197 return prefs_->IsLanguagePairWhitelisted(GetOriginalLanguageCode(), 207 return prefs_->IsLanguagePairWhitelisted(GetOriginalLanguageCode(),
198 GetTargetLanguageCode()); 208 GetTargetLanguageCode());
199 } 209 }
200 210
201 void TranslateUIDelegate::SetAlwaysTranslate(bool value) { 211 void TranslateUIDelegate::SetAlwaysTranslate(bool value) {
202 const std::string& original_lang = GetOriginalLanguageCode(); 212 const std::string& original_lang = GetOriginalLanguageCode();
203 const std::string& target_lang = GetTargetLanguageCode(); 213 const std::string& target_lang = GetTargetLanguageCode();
204 if (value) 214 if (value)
205 prefs_->WhitelistLanguagePair(original_lang, target_lang); 215 prefs_->WhitelistLanguagePair(original_lang, target_lang);
206 else 216 else
207 prefs_->RemoveLanguagePairFromWhitelist(original_lang, target_lang); 217 prefs_->RemoveLanguagePairFromWhitelist(original_lang, target_lang);
208 218
209 UMA_HISTOGRAM_BOOLEAN(kAlwaysTranslateLang, true); 219 UMA_HISTOGRAM_BOOLEAN(kAlwaysTranslateLang, true);
210 } 220 }
211 221
212 std::string TranslateUIDelegate::GetPageHost() { 222 std::string TranslateUIDelegate::GetPageHost() {
213 content::NavigationEntry* entry = 223 content::NavigationEntry* entry =
214 web_contents()->GetController().GetActiveEntry(); 224 web_contents()->GetController().GetActiveEntry();
215 return entry ? entry->GetURL().HostNoBrackets() : std::string(); 225 return entry ? entry->GetURL().HostNoBrackets() : std::string();
216 } 226 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698