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

Unified Diff: chrome/browser/ui/select_file_dialog.h

Issue 10667026: Start consolidating cross-port file selection code into ui/base/dialogs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Attempt to fix win Created 8 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/gtk/select_file_dialog_impl_kde.cc ('k') | chrome/browser/ui/select_file_dialog.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/select_file_dialog.h
diff --git a/chrome/browser/ui/select_file_dialog.h b/chrome/browser/ui/select_file_dialog.h
index 67a848fa7fe54e591b062c773f05b2ea70eedd73..60824230614d45af7cdc4bd2a5b319586b1c9cdf 100644
--- a/chrome/browser/ui/select_file_dialog.h
+++ b/chrome/browser/ui/select_file_dialog.h
@@ -9,12 +9,19 @@
#include <string>
#include <vector>
+#include "base/basictypes.h"
+#include "base/callback_forward.h"
#include "base/file_path.h"
#include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
#include "base/string16.h"
#include "ui/base/dialogs/base_shell_dialog.h"
#include "ui/gfx/native_widget_types.h"
+namespace ui {
+class SelectFilePolicy;
+}
+
namespace content {
class WebContents;
}
@@ -86,8 +93,10 @@ class SelectFileDialog
};
// Creates a dialog box helper. This object is ref-counted, but the returned
- // object will have no reference (refcount is 0).
- static SelectFileDialog* Create(Listener* listener);
+ // object will have no reference (refcount is 0). |policy| is an optional
+ // class that can prevent showing a dialog.
+ static SelectFileDialog* Create(Listener* listener,
+ ui::SelectFilePolicy* policy);
// Holds information about allowed extensions on a file save dialog.
// |extensions| is a list of allowed extensions. For example, it might be
@@ -129,9 +138,6 @@ class SelectFileDialog
// |default_extension| is the default extension to add to the file if the
// user doesn't type one. This should NOT include the '.'. On Windows, if
// you specify this you must also specify |file_types|.
- // |source_contents| is the WebContents the call is originating from, i.e.
- // where the InfoBar should be shown in case file-selection dialogs are
- // forbidden by policy, or NULL if no InfoBar should be shown.
// |owning_window| is the window the dialog is modal to, or NULL for a
// modeless dialog.
// |params| is data from the calling context which will be passed through to
@@ -144,14 +150,14 @@ class SelectFileDialog
const FileTypeInfo* file_types,
int file_type_index,
const FilePath::StringType& default_extension,
- content::WebContents* source_contents,
gfx::NativeWindow owning_window,
void* params);
bool HasMultipleFileTypeChoices();
protected:
friend class base::RefCountedThreadSafe<SelectFileDialog>;
- explicit SelectFileDialog(Listener* listener);
+ explicit SelectFileDialog(Listener* listener,
+ ui::SelectFilePolicy* policy);
virtual ~SelectFileDialog();
// Displays the actual file-selection dialog.
@@ -182,6 +188,10 @@ class SelectFileDialog
// Returns true if the dialog has multiple file type choices.
virtual bool HasMultipleFileTypeChoicesImpl() = 0;
+
+ scoped_ptr<ui::SelectFilePolicy> select_file_policy_;
+
+ DISALLOW_COPY_AND_ASSIGN(SelectFileDialog);
};
#endif // CHROME_BROWSER_UI_SELECT_FILE_DIALOG_H_
« no previous file with comments | « chrome/browser/ui/gtk/select_file_dialog_impl_kde.cc ('k') | chrome/browser/ui/select_file_dialog.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698