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/options_menu_model.h" | 5 #include "chrome/browser/translate/options_menu_model.h" |
6 | 6 |
7 #include "base/metrics/histogram.h" | 7 #include "base/metrics/histogram.h" |
8 #include "chrome/app/chrome_command_ids.h" | 8 #include "chrome/app/chrome_command_ids.h" |
9 #include "chrome/browser/translate/translate_infobar_delegate.h" | 9 #include "chrome/browser/translate/translate_infobar_delegate.h" |
10 #include "chrome/common/url_constants.h" | 10 #include "components/translate/core/browser/translate_driver.h" |
11 #include "content/public/browser/web_contents.h" | |
12 #include "grit/component_strings.h" | 11 #include "grit/component_strings.h" |
13 #include "grit/locale_settings.h" | 12 #include "grit/locale_settings.h" |
14 #include "ui/base/l10n/l10n_util.h" | 13 #include "ui/base/l10n/l10n_util.h" |
15 | 14 |
16 using content::NavigationEntry; | 15 namespace { |
17 using content::OpenURLParams; | 16 |
18 using content::Referrer; | 17 const char kAboutGoogleTranslateURL[] = |
19 using content::WebContents; | 18 #if defined(OS_CHROMEOS) |
| 19 "https://support.google.com/chromeos/?p=ib_translation_bar"; |
| 20 #else |
| 21 "https://support.google.com/chrome/?p=ib_translation_bar"; |
| 22 #endif |
| 23 |
| 24 } // namespace |
20 | 25 |
21 OptionsMenuModel::OptionsMenuModel( | 26 OptionsMenuModel::OptionsMenuModel( |
22 TranslateInfoBarDelegate* translate_delegate) | 27 TranslateInfoBarDelegate* translate_delegate) |
23 : ui::SimpleMenuModel(this), | 28 : ui::SimpleMenuModel(this), |
24 translate_infobar_delegate_(translate_delegate) { | 29 translate_infobar_delegate_(translate_delegate) { |
25 // |translate_delegate| must already be owned. | 30 // |translate_delegate| must already be owned. |
26 DCHECK(translate_infobar_delegate_->GetWebContents()); | 31 DCHECK(translate_infobar_delegate_->GetTranslateDriver()); |
27 | 32 |
28 base::string16 original_language = translate_delegate->language_name_at( | 33 base::string16 original_language = translate_delegate->language_name_at( |
29 translate_delegate->original_language_index()); | 34 translate_delegate->original_language_index()); |
30 base::string16 target_language = translate_delegate->language_name_at( | 35 base::string16 target_language = translate_delegate->language_name_at( |
31 translate_delegate->target_language_index()); | 36 translate_delegate->target_language_index()); |
32 | 37 |
33 bool autodetermined_source_language = | 38 bool autodetermined_source_language = |
34 translate_delegate->original_language_index() == | 39 translate_delegate->original_language_index() == |
35 TranslateInfoBarDelegate::kNoIndex; | 40 TranslateInfoBarDelegate::kNoIndex; |
36 | 41 |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 | 119 |
115 case IDC_TRANSLATE_OPTIONS_ALWAYS: | 120 case IDC_TRANSLATE_OPTIONS_ALWAYS: |
116 translate_infobar_delegate_->ToggleAlwaysTranslate(); | 121 translate_infobar_delegate_->ToggleAlwaysTranslate(); |
117 break; | 122 break; |
118 | 123 |
119 case IDC_TRANSLATE_REPORT_BAD_LANGUAGE_DETECTION: | 124 case IDC_TRANSLATE_REPORT_BAD_LANGUAGE_DETECTION: |
120 translate_infobar_delegate_->ReportLanguageDetectionError(); | 125 translate_infobar_delegate_->ReportLanguageDetectionError(); |
121 break; | 126 break; |
122 | 127 |
123 case IDC_TRANSLATE_OPTIONS_ABOUT: { | 128 case IDC_TRANSLATE_OPTIONS_ABOUT: { |
124 WebContents* web_contents = translate_infobar_delegate_->GetWebContents(); | 129 TranslateDriver* translate_driver = |
125 if (web_contents) { | 130 translate_infobar_delegate_->GetTranslateDriver(); |
126 OpenURLParams params( | 131 if (translate_driver) |
127 GURL(chrome::kAboutGoogleTranslateURL), Referrer(), | 132 translate_driver->OpenUrlInNewTab(GURL(kAboutGoogleTranslateURL)); |
128 NEW_FOREGROUND_TAB, content::PAGE_TRANSITION_LINK, false); | |
129 web_contents->OpenURL(params); | |
130 } | |
131 break; | 133 break; |
132 } | 134 } |
133 | 135 |
134 default: | 136 default: |
135 NOTREACHED() << "Invalid command id from menu."; | 137 NOTREACHED() << "Invalid command id from menu."; |
136 break; | 138 break; |
137 } | 139 } |
138 } | 140 } |
OLD | NEW |