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

Side by Side Diff: chrome/browser/translate/options_menu_model.cc

Issue 10830353: Introduce InfoBarTabService API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Respond to review comments, merge to LKGR Created 8 years, 4 months 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 | Annotate | Revision Log
OLDNEW
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/infobars/infobar_tab_helper.h" 9 #include "chrome/browser/infobars/infobar_tab_helper.h"
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
(...skipping 15 matching lines...) Expand all
26 TranslateInfoBarDelegate* translate_delegate) 26 TranslateInfoBarDelegate* translate_delegate)
27 : ALLOW_THIS_IN_INITIALIZER_LIST(ui::SimpleMenuModel(this)), 27 : ALLOW_THIS_IN_INITIALIZER_LIST(ui::SimpleMenuModel(this)),
28 translate_infobar_delegate_(translate_delegate) { 28 translate_infobar_delegate_(translate_delegate) {
29 string16 original_language = translate_delegate->GetLanguageDisplayableNameAt( 29 string16 original_language = translate_delegate->GetLanguageDisplayableNameAt(
30 translate_delegate->original_language_index()); 30 translate_delegate->original_language_index());
31 string16 target_language = translate_delegate->GetLanguageDisplayableNameAt( 31 string16 target_language = translate_delegate->GetLanguageDisplayableNameAt(
32 translate_delegate->target_language_index()); 32 translate_delegate->target_language_index());
33 33
34 // Populate the menu. 34 // Populate the menu.
35 // Incognito mode does not get any preferences related items. 35 // Incognito mode does not get any preferences related items.
36 if (!translate_delegate->owner()->web_contents()-> 36 if (!translate_delegate->owner()->GetWebContents()->
37 GetBrowserContext()->IsOffTheRecord()) { 37 GetBrowserContext()->IsOffTheRecord()) {
38 AddCheckItem(IDC_TRANSLATE_OPTIONS_ALWAYS, 38 AddCheckItem(IDC_TRANSLATE_OPTIONS_ALWAYS,
39 l10n_util::GetStringFUTF16(IDS_TRANSLATE_INFOBAR_OPTIONS_ALWAYS, 39 l10n_util::GetStringFUTF16(IDS_TRANSLATE_INFOBAR_OPTIONS_ALWAYS,
40 original_language, target_language)); 40 original_language, target_language));
41 AddCheckItem(IDC_TRANSLATE_OPTIONS_NEVER_TRANSLATE_LANG, 41 AddCheckItem(IDC_TRANSLATE_OPTIONS_NEVER_TRANSLATE_LANG,
42 l10n_util::GetStringFUTF16( 42 l10n_util::GetStringFUTF16(
43 IDS_TRANSLATE_INFOBAR_OPTIONS_NEVER_TRANSLATE_LANG, 43 IDS_TRANSLATE_INFOBAR_OPTIONS_NEVER_TRANSLATE_LANG,
44 original_language)); 44 original_language));
45 AddCheckItem(IDC_TRANSLATE_OPTIONS_NEVER_TRANSLATE_SITE, 45 AddCheckItem(IDC_TRANSLATE_OPTIONS_NEVER_TRANSLATE_SITE,
46 l10n_util::GetStringUTF16( 46 l10n_util::GetStringUTF16(
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 83
84 case IDC_TRANSLATE_OPTIONS_ALWAYS : 84 case IDC_TRANSLATE_OPTIONS_ALWAYS :
85 return (!translate_infobar_delegate_->IsLanguageBlacklisted() && 85 return (!translate_infobar_delegate_->IsLanguageBlacklisted() &&
86 !translate_infobar_delegate_->IsSiteBlacklisted()); 86 !translate_infobar_delegate_->IsSiteBlacklisted());
87 87
88 case IDC_TRANSLATE_REPORT_BAD_LANGUAGE_DETECTION : { 88 case IDC_TRANSLATE_REPORT_BAD_LANGUAGE_DETECTION : {
89 // Until we have a secure URL for reporting language detection errors, 89 // Until we have a secure URL for reporting language detection errors,
90 // we don't report errors that happened on secure URLs. 90 // we don't report errors that happened on secure URLs.
91 DCHECK(translate_infobar_delegate_ != NULL); 91 DCHECK(translate_infobar_delegate_ != NULL);
92 DCHECK(translate_infobar_delegate_->owner() != NULL); 92 DCHECK(translate_infobar_delegate_->owner() != NULL);
93 DCHECK(translate_infobar_delegate_->owner()->web_contents() != NULL); 93 DCHECK(translate_infobar_delegate_->owner()->GetWebContents() != NULL);
94 NavigationEntry* entry = translate_infobar_delegate_->owner()-> 94 NavigationEntry* entry = translate_infobar_delegate_->owner()->
95 web_contents()->GetController().GetActiveEntry(); 95 GetWebContents()->GetController().GetActiveEntry();
96 // Delegate and tab contents should never be NULL, but active entry 96 // Delegate and tab contents should never be NULL, but active entry
97 // can be NULL when running tests. We want to return false if NULL. 97 // can be NULL when running tests. We want to return false if NULL.
98 return (entry != NULL) && !entry->GetURL().SchemeIsSecure(); 98 return (entry != NULL) && !entry->GetURL().SchemeIsSecure();
99 } 99 }
100 default: 100 default:
101 break; 101 break;
102 } 102 }
103 return true; 103 return true;
104 } 104 }
105 105
(...skipping 18 matching lines...) Expand all
124 UMA_HISTOGRAM_COUNTS("Translate.AlwaysTranslateLang", 1); 124 UMA_HISTOGRAM_COUNTS("Translate.AlwaysTranslateLang", 1);
125 translate_infobar_delegate_->ToggleAlwaysTranslate(); 125 translate_infobar_delegate_->ToggleAlwaysTranslate();
126 break; 126 break;
127 127
128 case IDC_TRANSLATE_REPORT_BAD_LANGUAGE_DETECTION: 128 case IDC_TRANSLATE_REPORT_BAD_LANGUAGE_DETECTION:
129 translate_infobar_delegate_->ReportLanguageDetectionError(); 129 translate_infobar_delegate_->ReportLanguageDetectionError();
130 break; 130 break;
131 131
132 case IDC_TRANSLATE_OPTIONS_ABOUT: { 132 case IDC_TRANSLATE_OPTIONS_ABOUT: {
133 WebContents* web_contents = 133 WebContents* web_contents =
134 translate_infobar_delegate_->owner()->web_contents(); 134 translate_infobar_delegate_->owner()->GetWebContents();
135 if (web_contents) { 135 if (web_contents) {
136 OpenURLParams params( 136 OpenURLParams params(
137 GURL(chrome::kAboutGoogleTranslateURL), Referrer(), 137 GURL(chrome::kAboutGoogleTranslateURL), Referrer(),
138 NEW_FOREGROUND_TAB, content::PAGE_TRANSITION_LINK, false); 138 NEW_FOREGROUND_TAB, content::PAGE_TRANSITION_LINK, false);
139 web_contents->OpenURL(params); 139 web_contents->OpenURL(params);
140 } 140 }
141 break; 141 break;
142 } 142 }
143 143
144 default: 144 default:
145 NOTREACHED() << "Invalid command id from menu."; 145 NOTREACHED() << "Invalid command id from menu.";
146 break; 146 break;
147 } 147 }
148 } 148 }
OLDNEW
« no previous file with comments | « chrome/browser/task_manager/task_manager_browsertest.cc ('k') | chrome/browser/translate/translate_infobar_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698