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/profiles/profile.h" | |
10 #include "chrome/browser/translate/translate_infobar_delegate.h" | 9 #include "chrome/browser/translate/translate_infobar_delegate.h" |
11 #include "chrome/common/url_constants.h" | 10 #include "chrome/common/url_constants.h" |
12 #include "content/public/browser/navigation_controller.h" | |
13 #include "content/public/browser/navigation_entry.h" | |
14 #include "content/public/browser/web_contents.h" | 11 #include "content/public/browser/web_contents.h" |
15 #include "grit/component_strings.h" | 12 #include "grit/component_strings.h" |
16 #include "grit/locale_settings.h" | 13 #include "grit/locale_settings.h" |
17 #include "ui/base/l10n/l10n_util.h" | 14 #include "ui/base/l10n/l10n_util.h" |
18 | 15 |
19 using content::NavigationEntry; | 16 using content::NavigationEntry; |
20 using content::OpenURLParams; | 17 using content::OpenURLParams; |
21 using content::Referrer; | 18 using content::Referrer; |
22 using content::WebContents; | 19 using content::WebContents; |
23 | 20 |
24 OptionsMenuModel::OptionsMenuModel( | 21 OptionsMenuModel::OptionsMenuModel( |
25 TranslateInfoBarDelegate* translate_delegate) | 22 TranslateInfoBarDelegate* translate_delegate) |
26 : ui::SimpleMenuModel(this), | 23 : ui::SimpleMenuModel(this), |
27 translate_infobar_delegate_(translate_delegate) { | 24 translate_infobar_delegate_(translate_delegate) { |
28 // |translate_delegate| must already be owned. | 25 // |translate_delegate| must already be owned. |
29 DCHECK(translate_infobar_delegate_->GetWebContents()); | 26 DCHECK(translate_infobar_delegate_->GetWebContents()); |
30 | 27 |
31 base::string16 original_language = translate_delegate->language_name_at( | 28 base::string16 original_language = translate_delegate->language_name_at( |
32 translate_delegate->original_language_index()); | 29 translate_delegate->original_language_index()); |
33 base::string16 target_language = translate_delegate->language_name_at( | 30 base::string16 target_language = translate_delegate->language_name_at( |
34 translate_delegate->target_language_index()); | 31 translate_delegate->target_language_index()); |
35 | 32 |
36 bool autodetermined_source_language = | 33 bool autodetermined_source_language = |
37 translate_delegate->original_language_index() == | 34 translate_delegate->original_language_index() == |
38 TranslateInfoBarDelegate::kNoIndex; | 35 TranslateInfoBarDelegate::kNoIndex; |
39 | 36 |
40 // Populate the menu. | 37 // Populate the menu. |
41 // Incognito mode does not get any preferences related items. | 38 // Incognito mode does not get any preferences related items. |
42 if (!translate_delegate->GetWebContents()->GetBrowserContext()-> | 39 if (!translate_delegate->is_off_the_record()) { |
43 IsOffTheRecord()) { | |
44 if (!autodetermined_source_language) { | 40 if (!autodetermined_source_language) { |
45 AddCheckItem(IDC_TRANSLATE_OPTIONS_ALWAYS, | 41 AddCheckItem(IDC_TRANSLATE_OPTIONS_ALWAYS, |
46 l10n_util::GetStringFUTF16(IDS_TRANSLATE_INFOBAR_OPTIONS_ALWAYS, | 42 l10n_util::GetStringFUTF16(IDS_TRANSLATE_INFOBAR_OPTIONS_ALWAYS, |
47 original_language, target_language)); | 43 original_language, target_language)); |
48 AddCheckItem(IDC_TRANSLATE_OPTIONS_NEVER_TRANSLATE_LANG, | 44 AddCheckItem(IDC_TRANSLATE_OPTIONS_NEVER_TRANSLATE_LANG, |
49 l10n_util::GetStringFUTF16( | 45 l10n_util::GetStringFUTF16( |
50 IDS_TRANSLATE_INFOBAR_OPTIONS_NEVER_TRANSLATE_LANG, | 46 IDS_TRANSLATE_INFOBAR_OPTIONS_NEVER_TRANSLATE_LANG, |
51 original_language)); | 47 original_language)); |
52 } | 48 } |
53 AddCheckItem(IDC_TRANSLATE_OPTIONS_NEVER_TRANSLATE_SITE, | 49 AddCheckItem(IDC_TRANSLATE_OPTIONS_NEVER_TRANSLATE_SITE, |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 web_contents->OpenURL(params); | 129 web_contents->OpenURL(params); |
134 } | 130 } |
135 break; | 131 break; |
136 } | 132 } |
137 | 133 |
138 default: | 134 default: |
139 NOTREACHED() << "Invalid command id from menu."; | 135 NOTREACHED() << "Invalid command id from menu."; |
140 break; | 136 break; |
141 } | 137 } |
142 } | 138 } |
OLD | NEW |