| Index: content/renderer/render_view_impl.cc
|
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
|
| index b658ee00ca049e8d7be3a38956316a598da2d3de..e6ceb580df77a3ae7fc40fcd18d8568cfe3d9fec 100644
|
| --- a/content/renderer/render_view_impl.cc
|
| +++ b/content/renderer/render_view_impl.cc
|
| @@ -61,8 +61,6 @@
|
| #include "content/public/common/content_switches.h"
|
| #include "content/public/common/drop_data.h"
|
| #include "content/public/common/favicon_url.h"
|
| -#include "content/public/common/file_chooser_file_info.h"
|
| -#include "content/public/common/file_chooser_params.h"
|
| #include "content/public/common/page_importance_signals.h"
|
| #include "content/public/common/page_state.h"
|
| #include "content/public/common/page_zoom.h"
|
| @@ -392,15 +390,6 @@ static void ConvertToFaviconSizes(
|
|
|
| ///////////////////////////////////////////////////////////////////////////////
|
|
|
| -struct RenderViewImpl::PendingFileChooser {
|
| - PendingFileChooser(const FileChooserParams& p, WebFileChooserCompletion* c)
|
| - : params(p),
|
| - completion(c) {
|
| - }
|
| - FileChooserParams params;
|
| - WebFileChooserCompletion* completion; // MAY BE NULL to skip callback.
|
| -};
|
| -
|
| namespace {
|
|
|
| WebDragData DropDataToWebDragData(const DropData& drop_data) {
|
| @@ -809,15 +798,6 @@ RenderViewImpl::~RenderViewImpl() {
|
| ++it)
|
| delete it->second;
|
|
|
| - // If file chooser is still waiting for answer, dispatch empty answer.
|
| - while (!file_chooser_completions_.empty()) {
|
| - if (file_chooser_completions_.front()->completion) {
|
| - file_chooser_completions_.front()->completion->didChooseFile(
|
| - WebVector<WebString>());
|
| - }
|
| - file_chooser_completions_.pop_front();
|
| - }
|
| -
|
| #if defined(OS_ANDROID)
|
| // The date/time picker client is both a std::unique_ptr member of this class
|
| // and a RenderViewObserver. Reset it to prevent double deletion.
|
| @@ -1276,7 +1256,6 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) {
|
| IPC_MESSAGE_HANDLER(ViewMsg_UpdateWebPreferences, OnUpdateWebPreferences)
|
| IPC_MESSAGE_HANDLER(ViewMsg_EnumerateDirectoryResponse,
|
| OnEnumerateDirectoryResponse)
|
| - IPC_MESSAGE_HANDLER(ViewMsg_RunFileChooserResponse, OnFileChooserResponse)
|
| IPC_MESSAGE_HANDLER(ViewMsg_ClosePage, OnClosePage)
|
| IPC_MESSAGE_HANDLER(ViewMsg_ThemeChanged, OnThemeChanged)
|
| IPC_MESSAGE_HANDLER(ViewMsg_MoveOrResizeStarted, OnMoveOrResizeStarted)
|
| @@ -1667,36 +1646,6 @@ bool RenderViewImpl::handleCurrentKeyboardEvent() {
|
| return did_execute_command;
|
| }
|
|
|
| -bool RenderViewImpl::runFileChooser(
|
| - const blink::WebFileChooserParams& params,
|
| - WebFileChooserCompletion* chooser_completion) {
|
| - // Do not open the file dialog in a hidden RenderView.
|
| - if (is_hidden())
|
| - return false;
|
| - FileChooserParams ipc_params;
|
| - if (params.directory)
|
| - ipc_params.mode = FileChooserParams::UploadFolder;
|
| - else if (params.multiSelect)
|
| - ipc_params.mode = FileChooserParams::OpenMultiple;
|
| - else if (params.saveAs)
|
| - ipc_params.mode = FileChooserParams::Save;
|
| - else
|
| - ipc_params.mode = FileChooserParams::Open;
|
| - ipc_params.title = params.title;
|
| - ipc_params.default_file_name =
|
| - blink::WebStringToFilePath(params.initialValue).BaseName();
|
| - ipc_params.accept_types.reserve(params.acceptTypes.size());
|
| - for (size_t i = 0; i < params.acceptTypes.size(); ++i)
|
| - ipc_params.accept_types.push_back(params.acceptTypes[i]);
|
| - ipc_params.need_local_path = params.needLocalPath;
|
| -#if defined(OS_ANDROID)
|
| - ipc_params.capture = params.useMediaCapture;
|
| -#endif
|
| - ipc_params.requestor = params.requestor;
|
| -
|
| - return ScheduleFileChooser(ipc_params, chooser_completion);
|
| -}
|
| -
|
| void RenderViewImpl::SetValidationMessageDirection(
|
| base::string16* wrapped_main_text,
|
| blink::WebTextDirection main_text_hint,
|
| @@ -2443,42 +2392,6 @@ void RenderViewImpl::OnEnumerateDirectoryResponse(
|
| enumeration_completions_.erase(id);
|
| }
|
|
|
| -void RenderViewImpl::OnFileChooserResponse(
|
| - const std::vector<content::FileChooserFileInfo>& files) {
|
| - // This could happen if we navigated to a different page before the user
|
| - // closed the chooser.
|
| - if (file_chooser_completions_.empty())
|
| - return;
|
| -
|
| - // Convert Chrome's SelectedFileInfo list to WebKit's.
|
| - WebVector<WebFileChooserCompletion::SelectedFileInfo> selected_files(
|
| - files.size());
|
| - for (size_t i = 0; i < files.size(); ++i) {
|
| - WebFileChooserCompletion::SelectedFileInfo selected_file;
|
| - selected_file.path = files[i].file_path.AsUTF16Unsafe();
|
| - selected_file.displayName =
|
| - base::FilePath(files[i].display_name).AsUTF16Unsafe();
|
| - if (files[i].file_system_url.is_valid()) {
|
| - selected_file.fileSystemURL = files[i].file_system_url;
|
| - selected_file.length = files[i].length;
|
| - selected_file.modificationTime = files[i].modification_time.ToDoubleT();
|
| - selected_file.isDirectory = files[i].is_directory;
|
| - }
|
| - selected_files[i] = selected_file;
|
| - }
|
| -
|
| - if (file_chooser_completions_.front()->completion)
|
| - file_chooser_completions_.front()->completion->didChooseFile(
|
| - selected_files);
|
| - file_chooser_completions_.pop_front();
|
| -
|
| - // If there are more pending file chooser requests, schedule one now.
|
| - if (!file_chooser_completions_.empty()) {
|
| - Send(new ViewHostMsg_RunFileChooser(
|
| - GetRoutingID(), file_chooser_completions_.front()->params));
|
| - }
|
| -}
|
| -
|
| void RenderViewImpl::OnEnableAutoResize(const gfx::Size& min_size,
|
| const gfx::Size& max_size) {
|
| DCHECK(disable_scrollbars_size_limit_.IsEmpty());
|
| @@ -2957,31 +2870,6 @@ void RenderViewImpl::SetScreenMetricsEmulationParameters(
|
| }
|
| }
|
|
|
| -bool RenderViewImpl::ScheduleFileChooser(
|
| - const FileChooserParams& params,
|
| - WebFileChooserCompletion* completion) {
|
| - static const size_t kMaximumPendingFileChooseRequests = 4;
|
| - if (file_chooser_completions_.size() > kMaximumPendingFileChooseRequests) {
|
| - // This sanity check prevents too many file choose requests from getting
|
| - // queued which could DoS the user. Getting these is most likely a
|
| - // programming error (there are many ways to DoS the user so it's not
|
| - // considered a "real" security check), either in JS requesting many file
|
| - // choosers to pop up, or in a plugin.
|
| - //
|
| - // TODO(brettw) we might possibly want to require a user gesture to open
|
| - // a file picker, which will address this issue in a better way.
|
| - return false;
|
| - }
|
| -
|
| - file_chooser_completions_.push_back(
|
| - base::WrapUnique(new PendingFileChooser(params, completion)));
|
| - if (file_chooser_completions_.size() == 1) {
|
| - // Actually show the browse dialog when this is the first request.
|
| - Send(new ViewHostMsg_RunFileChooser(GetRoutingID(), params));
|
| - }
|
| - return true;
|
| -}
|
| -
|
| blink::WebSpeechRecognizer* RenderViewImpl::speechRecognizer() {
|
| if (!speech_recognition_dispatcher_)
|
| speech_recognition_dispatcher_ = new SpeechRecognitionDispatcher(this);
|
|
|