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

Unified Diff: chrome/browser/tab_contents/tab_contents.cc

Issue 2825051: Add support for a directory file chooser command, which creates a file list b... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/tab_contents/tab_contents.cc
===================================================================
--- chrome/browser/tab_contents/tab_contents.cc (revision 57114)
+++ chrome/browser/tab_contents/tab_contents.cc (working copy)
@@ -72,6 +72,7 @@
#include "chrome/browser/tab_contents/navigation_entry.h"
#include "chrome/browser/tab_contents/provisional_load_details.h"
#include "chrome/browser/tab_contents/tab_contents_delegate.h"
+#include "chrome/browser/tab_contents/tab_contents_file_select_helper.h"
#include "chrome/browser/tab_contents/tab_contents_ssl_helper.h"
#include "chrome/browser/tab_contents/tab_contents_view.h"
#include "chrome/browser/tab_contents/thumbnail_generator.h"
@@ -325,7 +326,6 @@
plugin_installer_(),
bookmark_drag_(NULL),
ALLOW_THIS_IN_INITIALIZER_LIST(fav_icon_helper_(this)),
- select_file_dialog_(),
is_loading_(false),
is_crashed_(false),
waiting_for_response_(false),
@@ -454,11 +454,6 @@
if (blocked_popups_)
blocked_popups_->Destroy();
- // There may be pending file dialogs, we need to tell them that we've gone
- // away so they don't try and call back to us.
- if (select_file_dialog_.get())
- select_file_dialog_->ListenerDestroyed();
-
// Notify any observer that have a reference on this tab contents.
NotificationService::current()->Notify(
NotificationType::TAB_CONTENTS_DESTROYED,
@@ -2262,6 +2257,12 @@
return GetSSLHelper();
}
+RenderViewHostDelegate::FileSelect* TabContents::GetFileSelectDelegate() {
+ if (file_select_helper_.get() == NULL)
+ file_select_helper_.reset(new TabContentsFileSelectHelper(this));
+ return file_select_helper_.get();
+}
+
AutomationResourceRoutingDelegate*
TabContents::GetAutomationResourceRoutingDelegate() {
return delegate();
@@ -2629,35 +2630,6 @@
delegate()->ForwardMessageToExternalHost(message, origin, target);
}
-void TabContents::RunFileChooser(
- const ViewHostMsg_RunFileChooser_Params &params) {
- if (!select_file_dialog_.get())
- select_file_dialog_ = SelectFileDialog::Create(this);
-
- SelectFileDialog::Type dialog_type;
- switch (params.mode) {
- case ViewHostMsg_RunFileChooser_Params::Open:
- dialog_type = SelectFileDialog::SELECT_OPEN_FILE;
- break;
- case ViewHostMsg_RunFileChooser_Params::OpenMultiple:
- dialog_type = SelectFileDialog::SELECT_OPEN_MULTI_FILE;
- break;
- case ViewHostMsg_RunFileChooser_Params::Save:
- dialog_type = SelectFileDialog::SELECT_SAVEAS_FILE;
- break;
- default:
- dialog_type = SelectFileDialog::SELECT_OPEN_FILE; // Prevent warning.
- NOTREACHED();
- }
- FilePath default_file_name = params.default_file_name;
- if (default_file_name.empty())
- default_file_name = profile()->last_selected_directory();
- select_file_dialog_->SelectFile(dialog_type, params.title,
- default_file_name,
- NULL, 0, FILE_PATH_LITERAL(""),
- view_->GetTopLevelNativeWindow(), NULL);
-}
-
void TabContents::RunJavaScriptMessage(
const std::wstring& message,
const std::wstring& default_prompt,
@@ -2915,27 +2887,6 @@
delegate()->ContentTypeChanged(this);
}
-void TabContents::FileSelected(const FilePath& path,
- int index, void* params) {
- profile()->set_last_selected_directory(path.DirName());
- std::vector<FilePath> files;
- files.push_back(path);
- render_view_host()->FilesSelectedInChooser(files);
-}
-
-void TabContents::MultiFilesSelected(const std::vector<FilePath>& files,
- void* params) {
- if (!files.empty())
- profile()->set_last_selected_directory(files[0].DirName());
- render_view_host()->FilesSelectedInChooser(files);
-}
-
-void TabContents::FileSelectionCanceled(void* params) {
- // If the user cancels choosing a file to upload we pass back an
- // empty vector.
- render_view_host()->FilesSelectedInChooser(std::vector<FilePath>());
-}
-
void TabContents::BeforeUnloadFiredFromRenderManager(
bool proceed,
bool* proceed_to_fire_unload) {
« no previous file with comments | « chrome/browser/tab_contents/tab_contents.h ('k') | chrome/browser/tab_contents/tab_contents_file_select_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698