| Index: content/renderer/pepper/pepper_file_chooser_host.cc
|
| diff --git a/content/renderer/pepper/pepper_file_chooser_host.cc b/content/renderer/pepper/pepper_file_chooser_host.cc
|
| index f2f8be3b2e57fa5ff2b060c9051a9007b7bedf0d..fb4efbe26d1241e556e7e2406acbfeba295645bc 100644
|
| --- a/content/renderer/pepper/pepper_file_chooser_host.cc
|
| +++ b/content/renderer/pepper/pepper_file_chooser_host.cc
|
| @@ -9,6 +9,7 @@
|
| #include "base/files/file_path.h"
|
| #include "base/macros.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| +#include "content/public/common/file_chooser_params.h"
|
| #include "content/public/renderer/renderer_ppapi_host.h"
|
| #include "content/renderer/pepper/pepper_file_ref_renderer_host.h"
|
| #include "content/renderer/render_view_impl.h"
|
| @@ -19,7 +20,6 @@
|
| #include "third_party/WebKit/public/platform/WebString.h"
|
| #include "third_party/WebKit/public/platform/WebVector.h"
|
| #include "third_party/WebKit/public/web/WebFileChooserCompletion.h"
|
| -#include "third_party/WebKit/public/web/WebFileChooserParams.h"
|
|
|
| namespace content {
|
|
|
| @@ -135,29 +135,27 @@ int32_t PepperFileChooserHost::OnShow(
|
| return PP_ERROR_NO_USER_GESTURE;
|
| }
|
|
|
| - blink::WebFileChooserParams params;
|
| + FileChooserParams params;
|
| if (save_as) {
|
| - params.saveAs = true;
|
| - params.initialValue = blink::WebString::fromUTF8(
|
| - suggested_file_name.data(), suggested_file_name.size());
|
| + params.mode = FileChooserParams::Save;
|
| + params.default_file_name =
|
| + base::FilePath::FromUTF8Unsafe(suggested_file_name).BaseName();
|
| } else {
|
| - params.multiSelect = open_multiple;
|
| + params.mode = open_multiple ? FileChooserParams::OpenMultiple
|
| + : FileChooserParams::Open;
|
| }
|
| - std::vector<blink::WebString> mime_types(accept_mime_types.size());
|
| - for (size_t i = 0; i < accept_mime_types.size(); i++) {
|
| - mime_types[i] = blink::WebString::fromUTF8(accept_mime_types[i].data(),
|
| - accept_mime_types[i].size());
|
| - }
|
| - params.acceptTypes = mime_types;
|
| - params.directory = false;
|
| - params.needLocalPath = true;
|
| + params.accept_types.reserve(accept_mime_types.size());
|
| + for (const auto& mime_type : accept_mime_types)
|
| + params.accept_types.push_back(base::UTF8ToUTF16(mime_type));
|
| + params.need_local_path = true;
|
| +
|
| params.requestor = renderer_ppapi_host_->GetDocumentURL(pp_instance());
|
|
|
| handler_ = new CompletionHandler(AsWeakPtr());
|
| RenderFrameImpl* render_frame = static_cast<RenderFrameImpl*>(
|
| renderer_ppapi_host_->GetRenderFrameForInstance(pp_instance()));
|
|
|
| - if (!render_frame || !render_frame->runFileChooser(params, handler_)) {
|
| + if (!render_frame || !render_frame->ScheduleFileChooser(params, handler_)) {
|
| delete handler_;
|
| handler_ = NULL;
|
| return PP_ERROR_NOACCESS;
|
|
|