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

Side by Side Diff: chrome/browser/ui/chrome_select_file_policy.cc

Issue 1520543004: Add method for identifying different InfoBars (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Nit again Created 4 years, 11 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
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/ui/chrome_select_file_policy.h" 5 #include "chrome/browser/ui/chrome_select_file_policy.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
11 #include "chrome/browser/browser_process.h" 11 #include "chrome/browser/browser_process.h"
12 #include "chrome/browser/infobars/infobar_service.h" 12 #include "chrome/browser/infobars/infobar_service.h"
13 #include "chrome/common/pref_names.h" 13 #include "chrome/common/pref_names.h"
14 #include "chrome/grit/generated_resources.h" 14 #include "chrome/grit/generated_resources.h"
15 #include "components/infobars/core/infobar_delegate.h"
15 #include "components/infobars/core/simple_alert_infobar_delegate.h" 16 #include "components/infobars/core/simple_alert_infobar_delegate.h"
16 #include "ui/base/l10n/l10n_util.h" 17 #include "ui/base/l10n/l10n_util.h"
17 #include "ui/gfx/vector_icons_public.h" 18 #include "ui/gfx/vector_icons_public.h"
18 19
19 ChromeSelectFilePolicy::ChromeSelectFilePolicy( 20 ChromeSelectFilePolicy::ChromeSelectFilePolicy(
20 content::WebContents* source_contents) 21 content::WebContents* source_contents)
21 : source_contents_(source_contents) { 22 : source_contents_(source_contents) {
22 } 23 }
23 24
24 ChromeSelectFilePolicy::~ChromeSelectFilePolicy() {} 25 ChromeSelectFilePolicy::~ChromeSelectFilePolicy() {}
25 26
26 bool ChromeSelectFilePolicy::CanOpenSelectFileDialog() { 27 bool ChromeSelectFilePolicy::CanOpenSelectFileDialog() {
27 return FileSelectDialogsAllowed(); 28 return FileSelectDialogsAllowed();
28 } 29 }
29 30
30 void ChromeSelectFilePolicy::SelectFileDenied() { 31 void ChromeSelectFilePolicy::SelectFileDenied() {
31 // Show the InfoBar saying that file-selection dialogs are disabled. 32 // Show the InfoBar saying that file-selection dialogs are disabled.
32 if (source_contents_) { 33 if (source_contents_) {
33 SimpleAlertInfoBarDelegate::Create( 34 SimpleAlertInfoBarDelegate::Create(
34 InfoBarService::FromWebContents(source_contents_), 35 InfoBarService::FromWebContents(source_contents_),
36 infobars::InfoBarDelegate::CHROME_SELECT_FILE_POLICY,
35 infobars::InfoBarDelegate::kNoIconID, 37 infobars::InfoBarDelegate::kNoIconID,
36 gfx::VectorIconId::VECTOR_ICON_NONE, 38 gfx::VectorIconId::VECTOR_ICON_NONE,
37 l10n_util::GetStringUTF16(IDS_FILE_SELECTION_DIALOG_INFOBAR), true); 39 l10n_util::GetStringUTF16(IDS_FILE_SELECTION_DIALOG_INFOBAR), true);
38 } else { 40 } else {
39 LOG(WARNING) << "File-selection dialogs are disabled but no WebContents " 41 LOG(WARNING) << "File-selection dialogs are disabled but no WebContents "
40 << "is given to display the InfoBar."; 42 << "is given to display the InfoBar.";
41 } 43 }
42 } 44 }
43 45
44 // static 46 // static
45 bool ChromeSelectFilePolicy::FileSelectDialogsAllowed() { 47 bool ChromeSelectFilePolicy::FileSelectDialogsAllowed() {
46 DCHECK(g_browser_process); 48 DCHECK(g_browser_process);
47 49
48 // local_state() can return NULL for tests. 50 // local_state() can return NULL for tests.
49 if (!g_browser_process->local_state()) 51 if (!g_browser_process->local_state())
50 return false; 52 return false;
51 53
52 return !g_browser_process->local_state()->FindPreference( 54 return !g_browser_process->local_state()->FindPreference(
53 prefs::kAllowFileSelectionDialogs) || 55 prefs::kAllowFileSelectionDialogs) ||
54 g_browser_process->local_state()->GetBoolean( 56 g_browser_process->local_state()->GetBoolean(
55 prefs::kAllowFileSelectionDialogs); 57 prefs::kAllowFileSelectionDialogs);
56 } 58 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698