Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "chrome/browser/translate/chrome_translate_client.h" | 5 #include "chrome/browser/translate/chrome_translate_client.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 183 if (error_type != translate::TranslateErrors::NONE) | 183 if (error_type != translate::TranslateErrors::NONE) |
| 184 step = translate::TRANSLATE_STEP_TRANSLATE_ERROR; | 184 step = translate::TRANSLATE_STEP_TRANSLATE_ERROR; |
| 185 | 185 |
| 186 #if !defined(USE_AURA) | 186 #if !defined(USE_AURA) |
| 187 if (!TranslateService::IsTranslateBubbleEnabled()) { | 187 if (!TranslateService::IsTranslateBubbleEnabled()) { |
| 188 // Infobar UI. | 188 // Infobar UI. |
| 189 translate::TranslateInfoBarDelegate::Create( | 189 translate::TranslateInfoBarDelegate::Create( |
| 190 step != translate::TRANSLATE_STEP_BEFORE_TRANSLATE, | 190 step != translate::TRANSLATE_STEP_BEFORE_TRANSLATE, |
| 191 translate_manager_->GetWeakPtr(), | 191 translate_manager_->GetWeakPtr(), |
| 192 InfoBarService::FromWebContents(web_contents()), | 192 InfoBarService::FromWebContents(web_contents()), |
| 193 web_contents()->GetBrowserContext()->IsOffTheRecord(), | 193 web_contents()->GetBrowserContext()->IsOffTheRecord(), step, |
| 194 step, | 194 source_language, target_language, error_type, triggered_from_menu); |
| 195 source_language, | |
| 196 target_language, | |
| 197 error_type, | |
| 198 triggered_from_menu); | |
| 199 return; | 195 return; |
| 200 } | 196 } |
| 201 #endif | 197 #endif |
| 202 | 198 |
| 203 // Bubble UI. | 199 // Bubble UI. |
| 204 if (step == translate::TRANSLATE_STEP_BEFORE_TRANSLATE) { | 200 if (step == translate::TRANSLATE_STEP_BEFORE_TRANSLATE) { |
| 205 // TODO(droger): Move this logic out of UI code. | 201 // TODO(droger): Move this logic out of UI code. |
| 206 GetLanguageState().SetTranslateEnabled(true); | 202 GetLanguageState().SetTranslateEnabled(true); |
| 207 if (!GetLanguageState().HasLanguageChanged()) | 203 if (!base::FeatureList::IsEnabled(translate::kTranslateUI2016Q2) && |
|
msw
2016/05/03 22:33:34
Why does this only bail for the old UI? Maybe add
ftang
2016/05/03 23:55:41
The problem is currently it stop offer translate i
msw
2016/05/04 00:19:20
I don't understand why this is okay for the new UI
| |
| 204 !GetLanguageState().HasLanguageChanged()) { | |
| 208 return; | 205 return; |
| 206 } | |
| 209 | 207 |
| 210 if (!triggered_from_menu) { | 208 if (!triggered_from_menu) { |
| 211 if (web_contents()->GetBrowserContext()->IsOffTheRecord()) | 209 if (web_contents()->GetBrowserContext()->IsOffTheRecord()) |
| 212 return; | 210 return; |
| 213 if (GetTranslatePrefs()->IsTooOftenDenied(source_language)) | 211 if (GetTranslatePrefs()->IsTooOftenDenied(source_language)) |
| 214 return; | 212 return; |
| 215 } | 213 } |
| 216 } | 214 } |
| 217 ShowBubble(step, error_type); | 215 ShowBubble(step, error_type); |
| 218 } | 216 } |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 261 // Android does not support reporting language detection errors. | 259 // Android does not support reporting language detection errors. |
| 262 NOTREACHED(); | 260 NOTREACHED(); |
| 263 #else | 261 #else |
| 264 // We'll open the URL in a new tab so that the user can tell us more. | 262 // We'll open the URL in a new tab so that the user can tell us more. |
| 265 Browser* browser = chrome::FindBrowserWithWebContents(web_contents()); | 263 Browser* browser = chrome::FindBrowserWithWebContents(web_contents()); |
| 266 if (!browser) { | 264 if (!browser) { |
| 267 NOTREACHED(); | 265 NOTREACHED(); |
| 268 return; | 266 return; |
| 269 } | 267 } |
| 270 | 268 |
| 271 chrome::AddSelectedTabWithURL( | 269 chrome::AddSelectedTabWithURL(browser, report_url, |
| 272 browser, report_url, ui::PAGE_TRANSITION_AUTO_BOOKMARK); | 270 ui::PAGE_TRANSITION_AUTO_BOOKMARK); |
| 273 #endif // defined(OS_ANDROID) | 271 #endif // defined(OS_ANDROID) |
| 274 } | 272 } |
| 275 | 273 |
| 276 void ChromeTranslateClient::WebContentsDestroyed() { | 274 void ChromeTranslateClient::WebContentsDestroyed() { |
| 277 // Translation process can be interrupted. | 275 // Translation process can be interrupted. |
| 278 // Destroying the TranslateManager now guarantees that it never has to deal | 276 // Destroying the TranslateManager now guarantees that it never has to deal |
| 279 // with NULL WebContents. | 277 // with NULL WebContents. |
| 280 translate_manager_.reset(); | 278 translate_manager_.reset(); |
| 281 } | 279 } |
| 282 | 280 |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 334 if (browser != chrome::FindLastActive()) | 332 if (browser != chrome::FindLastActive()) |
| 335 return; | 333 return; |
| 336 | 334 |
| 337 // During auto-translating, the bubble should not be shown. | 335 // During auto-translating, the bubble should not be shown. |
| 338 if (step == translate::TRANSLATE_STEP_TRANSLATING || | 336 if (step == translate::TRANSLATE_STEP_TRANSLATING || |
| 339 step == translate::TRANSLATE_STEP_AFTER_TRANSLATE) { | 337 step == translate::TRANSLATE_STEP_AFTER_TRANSLATE) { |
| 340 if (GetLanguageState().InTranslateNavigation()) | 338 if (GetLanguageState().InTranslateNavigation()) |
| 341 return; | 339 return; |
| 342 } | 340 } |
| 343 | 341 |
| 344 TranslateBubbleFactory::Show( | 342 TranslateBubbleFactory::Show(browser->window(), web_contents(), step, |
| 345 browser->window(), web_contents(), step, error_type); | 343 error_type); |
| 346 #else | 344 #else |
| 347 NOTREACHED(); | 345 NOTREACHED(); |
| 348 #endif | 346 #endif |
| 349 } | 347 } |
| OLD | NEW |