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

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: Bug fix: view id on tests Created 7 years, 1 month 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
« no previous file with comments | « chrome/browser/translate/translate_tab_helper.cc ('k') | chrome/browser/ui/browser.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 84
85 size_t TranslateUIDelegate::GetNumberOfLanguages() const { 85 size_t TranslateUIDelegate::GetNumberOfLanguages() const {
86 return languages_.size(); 86 return languages_.size();
87 } 87 }
88 88
89 size_t TranslateUIDelegate::GetOriginalLanguageIndex() const { 89 size_t TranslateUIDelegate::GetOriginalLanguageIndex() const {
90 return original_language_index_; 90 return original_language_index_;
91 } 91 }
92 92
93 void TranslateUIDelegate::SetOriginalLanguageIndex(size_t language_index) { 93 void TranslateUIDelegate::SetOriginalLanguageIndex(size_t language_index) {
94 DCHECK_LT(language_index, GetNumberOfLanguages());
95 original_language_index_ = language_index; 94 original_language_index_ = language_index;
96 } 95 }
97 96
98 size_t TranslateUIDelegate::GetTargetLanguageIndex() const { 97 size_t TranslateUIDelegate::GetTargetLanguageIndex() const {
99 return target_language_index_; 98 return target_language_index_;
100 } 99 }
101 100
102 void TranslateUIDelegate::SetTargetLanguageIndex(size_t language_index) { 101 void TranslateUIDelegate::SetTargetLanguageIndex(size_t language_index) {
103 DCHECK_LT(language_index, GetNumberOfLanguages()); 102 DCHECK_LT(language_index, GetNumberOfLanguages());
104 target_language_index_ = language_index; 103 target_language_index_ = language_index;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 language_state().set_translation_declined(true); 159 language_state().set_translation_declined(true);
161 160
162 UMA_HISTOGRAM_BOOLEAN(kDeclineTranslate, true); 161 UMA_HISTOGRAM_BOOLEAN(kDeclineTranslate, true);
163 } 162 }
164 163
165 bool TranslateUIDelegate::IsLanguageBlocked() { 164 bool TranslateUIDelegate::IsLanguageBlocked() {
166 return prefs_->IsBlockedLanguage(GetOriginalLanguageCode()); 165 return prefs_->IsBlockedLanguage(GetOriginalLanguageCode());
167 } 166 }
168 167
169 void TranslateUIDelegate::SetLanguageBlocked(bool value) { 168 void TranslateUIDelegate::SetLanguageBlocked(bool value) {
170 if (value) 169 if (value) {
171 prefs_->BlockLanguage(GetOriginalLanguageCode()); 170 prefs_->BlockLanguage(GetOriginalLanguageCode());
172 else 171 TranslateTabHelper* translate_tab_helper =
172 TranslateTabHelper::FromWebContents(web_contents());
173 DCHECK(translate_tab_helper);
174 translate_tab_helper->language_state().SetTranslateEnabled(false);
175 } else {
173 prefs_->UnblockLanguage(GetOriginalLanguageCode()); 176 prefs_->UnblockLanguage(GetOriginalLanguageCode());
177 }
174 178
175 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateLang, true); 179 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateLang, true);
176 } 180 }
177 181
178 bool TranslateUIDelegate::IsSiteBlacklisted() { 182 bool TranslateUIDelegate::IsSiteBlacklisted() {
179 std::string host = GetPageHost(); 183 std::string host = GetPageHost();
180 return !host.empty() && prefs_->IsSiteBlacklisted(host); 184 return !host.empty() && prefs_->IsSiteBlacklisted(host);
181 } 185 }
182 186
183 void TranslateUIDelegate::SetSiteBlacklist(bool value) { 187 void TranslateUIDelegate::SetSiteBlacklist(bool value) {
184 std::string host = GetPageHost(); 188 std::string host = GetPageHost();
185 if (host.empty()) 189 if (host.empty())
186 return; 190 return;
187 191
188 if (value) 192 if (value) {
189 prefs_->BlacklistSite(host); 193 prefs_->BlacklistSite(host);
190 else 194 TranslateTabHelper* translate_tab_helper =
195 TranslateTabHelper::FromWebContents(web_contents());
196 DCHECK(translate_tab_helper);
197 translate_tab_helper->language_state().SetTranslateEnabled(false);
198 } else {
191 prefs_->RemoveSiteFromBlacklist(host); 199 prefs_->RemoveSiteFromBlacklist(host);
200 }
192 201
193 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateSite, true); 202 UMA_HISTOGRAM_BOOLEAN(kNeverTranslateSite, true);
194 } 203 }
195 204
196 bool TranslateUIDelegate::ShouldAlwaysTranslate() { 205 bool TranslateUIDelegate::ShouldAlwaysTranslate() {
197 return prefs_->IsLanguagePairWhitelisted(GetOriginalLanguageCode(), 206 return prefs_->IsLanguagePairWhitelisted(GetOriginalLanguageCode(),
198 GetTargetLanguageCode()); 207 GetTargetLanguageCode());
199 } 208 }
200 209
201 void TranslateUIDelegate::SetAlwaysTranslate(bool value) { 210 void TranslateUIDelegate::SetAlwaysTranslate(bool value) {
202 const std::string& original_lang = GetOriginalLanguageCode(); 211 const std::string& original_lang = GetOriginalLanguageCode();
203 const std::string& target_lang = GetTargetLanguageCode(); 212 const std::string& target_lang = GetTargetLanguageCode();
204 if (value) 213 if (value)
205 prefs_->WhitelistLanguagePair(original_lang, target_lang); 214 prefs_->WhitelistLanguagePair(original_lang, target_lang);
206 else 215 else
207 prefs_->RemoveLanguagePairFromWhitelist(original_lang, target_lang); 216 prefs_->RemoveLanguagePairFromWhitelist(original_lang, target_lang);
208 217
209 UMA_HISTOGRAM_BOOLEAN(kAlwaysTranslateLang, true); 218 UMA_HISTOGRAM_BOOLEAN(kAlwaysTranslateLang, true);
210 } 219 }
211 220
212 std::string TranslateUIDelegate::GetPageHost() { 221 std::string TranslateUIDelegate::GetPageHost() {
213 content::NavigationEntry* entry = 222 content::NavigationEntry* entry =
214 web_contents()->GetController().GetActiveEntry(); 223 web_contents()->GetController().GetActiveEntry();
215 return entry ? entry->GetURL().HostNoBrackets() : std::string(); 224 return entry ? entry->GetURL().HostNoBrackets() : std::string();
216 } 225 }
OLDNEW
« no previous file with comments | « chrome/browser/translate/translate_tab_helper.cc ('k') | chrome/browser/ui/browser.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698