OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_infobar_delegate.h" | 5 #include "chrome/browser/translate/translate_infobar_delegate.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 DCHECK_GE(language_index, 0U); | 107 DCHECK_GE(language_index, 0U); |
108 target_language_index_ = language_index; | 108 target_language_index_ = language_index; |
109 if (infobar_view_) | 109 if (infobar_view_) |
110 infobar_view_->TargetLanguageChanged(); | 110 infobar_view_->TargetLanguageChanged(); |
111 if (type_ == AFTER_TRANSLATE) | 111 if (type_ == AFTER_TRANSLATE) |
112 Translate(); | 112 Translate(); |
113 } | 113 } |
114 | 114 |
115 void TranslateInfoBarDelegate::Translate() { | 115 void TranslateInfoBarDelegate::Translate() { |
116 const std::string& original_language_code = GetOriginalLanguageCode(); | 116 const std::string& original_language_code = GetOriginalLanguageCode(); |
117 if (!owner()->web_contents()->GetBrowserContext()->IsOffTheRecord()) { | 117 if (!owner()->GetWebContents()->GetBrowserContext()->IsOffTheRecord()) { |
118 prefs_.ResetTranslationDeniedCount(original_language_code); | 118 prefs_.ResetTranslationDeniedCount(original_language_code); |
119 prefs_.IncrementTranslationAcceptedCount(original_language_code); | 119 prefs_.IncrementTranslationAcceptedCount(original_language_code); |
120 } | 120 } |
121 | 121 |
122 TranslateManager::GetInstance()->TranslatePage(owner()->web_contents(), | 122 TranslateManager::GetInstance()->TranslatePage(owner()->GetWebContents(), |
123 GetLanguageCodeAt(original_language_index()), | 123 GetLanguageCodeAt(original_language_index()), |
124 GetLanguageCodeAt(target_language_index())); | 124 GetLanguageCodeAt(target_language_index())); |
125 } | 125 } |
126 | 126 |
127 void TranslateInfoBarDelegate::RevertTranslation() { | 127 void TranslateInfoBarDelegate::RevertTranslation() { |
128 TranslateManager::GetInstance()->RevertTranslation(owner()->web_contents()); | 128 TranslateManager::GetInstance()->RevertTranslation(owner()->GetWebContents()); |
129 RemoveSelf(); | 129 RemoveSelf(); |
130 } | 130 } |
131 | 131 |
132 void TranslateInfoBarDelegate::ReportLanguageDetectionError() { | 132 void TranslateInfoBarDelegate::ReportLanguageDetectionError() { |
133 TranslateManager::GetInstance()-> | 133 TranslateManager::GetInstance()-> |
134 ReportLanguageDetectionError(owner()->web_contents()); | 134 ReportLanguageDetectionError(owner()->GetWebContents()); |
135 } | 135 } |
136 | 136 |
137 void TranslateInfoBarDelegate::TranslationDeclined() { | 137 void TranslateInfoBarDelegate::TranslationDeclined() { |
138 const std::string& original_language_code = GetOriginalLanguageCode(); | 138 const std::string& original_language_code = GetOriginalLanguageCode(); |
139 if (!owner()->web_contents()->GetBrowserContext()->IsOffTheRecord()) { | 139 if (!owner()->GetWebContents()->GetBrowserContext()->IsOffTheRecord()) { |
140 prefs_.ResetTranslationAcceptedCount(original_language_code); | 140 prefs_.ResetTranslationAcceptedCount(original_language_code); |
141 prefs_.IncrementTranslationDeniedCount(original_language_code); | 141 prefs_.IncrementTranslationDeniedCount(original_language_code); |
142 } | 142 } |
143 | 143 |
144 // Remember that the user declined the translation so as to prevent showing a | 144 // Remember that the user declined the translation so as to prevent showing a |
145 // translate infobar for that page again. (TranslateManager initiates | 145 // translate infobar for that page again. (TranslateManager initiates |
146 // translations when getting a LANGUAGE_DETERMINED from the page, which | 146 // translations when getting a LANGUAGE_DETERMINED from the page, which |
147 // happens when a load stops. That could happen multiple times, including | 147 // happens when a load stops. That could happen multiple times, including |
148 // after the user already declined the translation.) | 148 // after the user already declined the translation.) |
149 TranslateTabHelper* helper = TabContents::FromWebContents( | 149 TranslateTabHelper* helper = TabContents::FromWebContents( |
150 owner()->web_contents())->translate_tab_helper(); | 150 owner()->GetWebContents())->translate_tab_helper(); |
151 helper->language_state().set_translation_declined(true); | 151 helper->language_state().set_translation_declined(true); |
152 } | 152 } |
153 | 153 |
154 bool TranslateInfoBarDelegate::IsLanguageBlacklisted() { | 154 bool TranslateInfoBarDelegate::IsLanguageBlacklisted() { |
155 return prefs_.IsLanguageBlacklisted(GetOriginalLanguageCode()); | 155 return prefs_.IsLanguageBlacklisted(GetOriginalLanguageCode()); |
156 } | 156 } |
157 | 157 |
158 void TranslateInfoBarDelegate::ToggleLanguageBlacklist() { | 158 void TranslateInfoBarDelegate::ToggleLanguageBlacklist() { |
159 const std::string& original_lang = GetOriginalLanguageCode(); | 159 const std::string& original_lang = GetOriginalLanguageCode(); |
160 if (prefs_.IsLanguageBlacklisted(original_lang)) { | 160 if (prefs_.IsLanguageBlacklisted(original_lang)) { |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 return string16(); | 256 return string16(); |
257 } | 257 } |
258 | 258 |
259 void TranslateInfoBarDelegate::MessageInfoBarButtonPressed() { | 259 void TranslateInfoBarDelegate::MessageInfoBarButtonPressed() { |
260 DCHECK_EQ(TRANSLATION_ERROR, type_); | 260 DCHECK_EQ(TRANSLATION_ERROR, type_); |
261 if (error_ == TranslateErrors::UNSUPPORTED_LANGUAGE) { | 261 if (error_ == TranslateErrors::UNSUPPORTED_LANGUAGE) { |
262 RevertTranslation(); | 262 RevertTranslation(); |
263 return; | 263 return; |
264 } | 264 } |
265 // This is the "Try again..." case. | 265 // This is the "Try again..." case. |
266 TranslateManager::GetInstance()->TranslatePage(owner()->web_contents(), | 266 TranslateManager::GetInstance()->TranslatePage(owner()->GetWebContents(), |
267 GetOriginalLanguageCode(), GetTargetLanguageCode()); | 267 GetOriginalLanguageCode(), GetTargetLanguageCode()); |
268 } | 268 } |
269 | 269 |
270 bool TranslateInfoBarDelegate::ShouldShowMessageInfoBarButton() { | 270 bool TranslateInfoBarDelegate::ShouldShowMessageInfoBarButton() { |
271 return !GetMessageInfoBarButtonText().empty(); | 271 return !GetMessageInfoBarButtonText().empty(); |
272 } | 272 } |
273 | 273 |
274 bool TranslateInfoBarDelegate::ShouldShowNeverTranslateButton() { | 274 bool TranslateInfoBarDelegate::ShouldShowNeverTranslateButton() { |
275 DCHECK_EQ(BEFORE_TRANSLATE, type_); | 275 DCHECK_EQ(BEFORE_TRANSLATE, type_); |
276 return !owner()->web_contents()->GetBrowserContext()->IsOffTheRecord() && | 276 return !owner()->GetWebContents()->GetBrowserContext()->IsOffTheRecord() && |
277 (prefs_.GetTranslationDeniedCount(GetOriginalLanguageCode()) >= 3); | 277 (prefs_.GetTranslationDeniedCount(GetOriginalLanguageCode()) >= 3); |
278 } | 278 } |
279 | 279 |
280 bool TranslateInfoBarDelegate::ShouldShowAlwaysTranslateButton() { | 280 bool TranslateInfoBarDelegate::ShouldShowAlwaysTranslateButton() { |
281 DCHECK_EQ(BEFORE_TRANSLATE, type_); | 281 DCHECK_EQ(BEFORE_TRANSLATE, type_); |
282 return !owner()->web_contents()->GetBrowserContext()->IsOffTheRecord() && | 282 return !owner()->GetWebContents()->GetBrowserContext()->IsOffTheRecord() && |
283 (prefs_.GetTranslationAcceptedCount(GetOriginalLanguageCode()) >= 3); | 283 (prefs_.GetTranslationAcceptedCount(GetOriginalLanguageCode()) >= 3); |
284 } | 284 } |
285 | 285 |
286 void TranslateInfoBarDelegate::UpdateBackgroundAnimation( | 286 void TranslateInfoBarDelegate::UpdateBackgroundAnimation( |
287 TranslateInfoBarDelegate* previous_infobar) { | 287 TranslateInfoBarDelegate* previous_infobar) { |
288 if (!previous_infobar || previous_infobar->IsError() == IsError()) | 288 if (!previous_infobar || previous_infobar->IsError() == IsError()) |
289 background_animation_ = NONE; | 289 background_animation_ = NONE; |
290 else | 290 else |
291 background_animation_ = IsError() ? NORMAL_TO_ERROR : ERROR_TO_NORMAL; | 291 background_animation_ = IsError() ? NORMAL_TO_ERROR : ERROR_TO_NORMAL; |
292 } | 292 } |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
395 return PAGE_ACTION_TYPE; | 395 return PAGE_ACTION_TYPE; |
396 } | 396 } |
397 | 397 |
398 TranslateInfoBarDelegate* | 398 TranslateInfoBarDelegate* |
399 TranslateInfoBarDelegate::AsTranslateInfoBarDelegate() { | 399 TranslateInfoBarDelegate::AsTranslateInfoBarDelegate() { |
400 return this; | 400 return this; |
401 } | 401 } |
402 | 402 |
403 std::string TranslateInfoBarDelegate::GetPageHost() { | 403 std::string TranslateInfoBarDelegate::GetPageHost() { |
404 NavigationEntry* entry = | 404 NavigationEntry* entry = |
405 owner()->web_contents()->GetController().GetActiveEntry(); | 405 owner()->GetWebContents()->GetController().GetActiveEntry(); |
406 return entry ? entry->GetURL().HostNoBrackets() : std::string(); | 406 return entry ? entry->GetURL().HostNoBrackets() : std::string(); |
407 } | 407 } |
OLD | NEW |