Commit bc06b14c authored by Kent Tamura's avatar Kent Tamura Committed by Commit Bot

Forms: Define an alias type of WTF::Vector<blink::FileChooserFileInfo>.

We'll switch it to WTF::Vector<blink::mojom::blink::FileChooserFileInfoPtr>
in a later CL. This CL will make it easier.

This CL has no behavior changes.

Bug: 869257
Change-Id: I4c2b75d72cd80795b84f3ce3f5e2086f0e2059dc
Reviewed-on: https://chromium-review.googlesource.com/1226533Reviewed-by: default avatarYoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591282}
parent b3d334b5
...@@ -81,14 +81,14 @@ bool FileChooser::OpenFileChooser(ChromeClientImpl& chrome_client_impl) { ...@@ -81,14 +81,14 @@ bool FileChooser::OpenFileChooser(ChromeClientImpl& chrome_client_impl) {
} }
void FileChooser::DidChooseFile(const WebVector<WebString>& file_names) { void FileChooser::DidChooseFile(const WebVector<WebString>& file_names) {
Vector<FileChooserFileInfo> file_info; FileChooserFileInfoList file_info;
for (size_t i = 0; i < file_names.size(); ++i) for (size_t i = 0; i < file_names.size(); ++i)
file_info.push_back(FileChooserFileInfo(file_names[i])); file_info.push_back(FileChooserFileInfo(file_names[i]));
ChooseFiles(file_info); ChooseFiles(file_info);
} }
void FileChooser::DidChooseFile(const WebVector<SelectedFileInfo>& files) { void FileChooser::DidChooseFile(const WebVector<SelectedFileInfo>& files) {
Vector<FileChooserFileInfo> file_info; FileChooserFileInfoList file_info;
for (size_t i = 0; i < files.size(); ++i) { for (size_t i = 0; i < files.size(); ++i) {
if (files[i].file_system_url.IsEmpty()) { if (files[i].file_system_url.IsEmpty()) {
file_info.push_back( file_info.push_back(
...@@ -106,7 +106,7 @@ void FileChooser::DidChooseFile(const WebVector<SelectedFileInfo>& files) { ...@@ -106,7 +106,7 @@ void FileChooser::DidChooseFile(const WebVector<SelectedFileInfo>& files) {
ChooseFiles(file_info); ChooseFiles(file_info);
} }
void FileChooser::ChooseFiles(const Vector<FileChooserFileInfo>& files) { void FileChooser::ChooseFiles(const FileChooserFileInfoList& files) {
// FIXME: This is inelegant. We should not be looking at params_ here. // FIXME: This is inelegant. We should not be looking at params_ here.
if (params_.selected_files.size() == files.size()) { if (params_.selected_files.size() == files.size()) {
bool was_changed = false; bool was_changed = false;
......
...@@ -65,9 +65,11 @@ struct FileChooserFileInfo { ...@@ -65,9 +65,11 @@ struct FileChooserFileInfo {
const FileMetadata metadata; const FileMetadata metadata;
}; };
using FileChooserFileInfoList = Vector<FileChooserFileInfo>;
class CORE_EXPORT FileChooserClient : public PopupOpeningObserver { class CORE_EXPORT FileChooserClient : public PopupOpeningObserver {
public: public:
virtual void FilesChosen(const Vector<FileChooserFileInfo>&) = 0; virtual void FilesChosen(const FileChooserFileInfoList&) = 0;
virtual LocalFrame* FrameOrNull() const = 0; virtual LocalFrame* FrameOrNull() const = 0;
~FileChooserClient() override; ~FileChooserClient() override;
...@@ -110,7 +112,7 @@ class FileChooser : public RefCounted<FileChooser>, ...@@ -110,7 +112,7 @@ class FileChooser : public RefCounted<FileChooser>,
// FIXME: We should probably just pass file paths that could be virtual paths // FIXME: We should probably just pass file paths that could be virtual paths
// with proper display names rather than passing structs. // with proper display names rather than passing structs.
void ChooseFiles(const Vector<FileChooserFileInfo>& files); void ChooseFiles(const FileChooserFileInfoList& files);
WeakPersistent<FileChooserClient> client_; WeakPersistent<FileChooserClient> client_;
WebFileChooserParams params_; WebFileChooserParams params_;
......
...@@ -83,9 +83,9 @@ InputTypeView* FileInputType::CreateView() { ...@@ -83,9 +83,9 @@ InputTypeView* FileInputType::CreateView() {
return this; return this;
} }
Vector<FileChooserFileInfo> FileInputType::FilesFromFormControlState( FileChooserFileInfoList FileInputType::FilesFromFormControlState(
const FormControlState& state) { const FormControlState& state) {
Vector<FileChooserFileInfo> files; FileChooserFileInfoList files;
for (size_t i = 0; i < state.ValueSize(); i += 2) { for (size_t i = 0; i < state.ValueSize(); i += 2) {
if (!state[i + 1].IsEmpty()) if (!state[i + 1].IsEmpty())
files.push_back(FileChooserFileInfo(state[i], state[i + 1])); files.push_back(FileChooserFileInfo(state[i], state[i + 1]));
...@@ -227,9 +227,8 @@ void FileInputType::SetValue(const String&, ...@@ -227,9 +227,8 @@ void FileInputType::SetValue(const String&,
GetElement().SetNeedsValidityCheck(); GetElement().SetNeedsValidityCheck();
} }
FileList* FileInputType::CreateFileList( FileList* FileInputType::CreateFileList(const FileChooserFileInfoList& files,
const Vector<FileChooserFileInfo>& files, bool has_webkit_directory_attr) {
bool has_webkit_directory_attr) {
FileList* file_list(FileList::Create()); FileList* file_list(FileList::Create());
size_t size = files.size(); size_t size = files.size();
...@@ -345,7 +344,7 @@ void FileInputType::SetFiles(FileList* files) { ...@@ -345,7 +344,7 @@ void FileInputType::SetFiles(FileList* files) {
} }
} }
void FileInputType::FilesChosen(const Vector<FileChooserFileInfo>& files) { void FileInputType::FilesChosen(const FileChooserFileInfoList& files) {
SetFiles(CreateFileList(files, SetFiles(CreateFileList(files,
GetElement().FastHasAttribute(webkitdirectoryAttr))); GetElement().FastHasAttribute(webkitdirectoryAttr)));
if (HasConnectedFileChooser()) if (HasConnectedFileChooser())
...@@ -380,14 +379,14 @@ void FileInputType::SetFilesFromPaths(const Vector<String>& paths) { ...@@ -380,14 +379,14 @@ void FileInputType::SetFilesFromPaths(const Vector<String>& paths) {
return; return;
} }
Vector<FileChooserFileInfo> files; FileChooserFileInfoList files;
for (const auto& path : paths) for (const auto& path : paths)
files.push_back(FileChooserFileInfo(path)); files.push_back(FileChooserFileInfo(path));
if (input.FastHasAttribute(multipleAttr)) { if (input.FastHasAttribute(multipleAttr)) {
FilesChosen(files); FilesChosen(files);
} else { } else {
Vector<FileChooserFileInfo> first_file_only; FileChooserFileInfoList first_file_only;
first_file_only.push_back(files[0]); first_file_only.push_back(files[0]);
FilesChosen(first_file_only); FilesChosen(first_file_only);
} }
......
...@@ -54,9 +54,9 @@ class CORE_EXPORT FileInputType final : public InputType, ...@@ -54,9 +54,9 @@ class CORE_EXPORT FileInputType final : public InputType,
static InputType* Create(HTMLInputElement&); static InputType* Create(HTMLInputElement&);
void Trace(blink::Visitor*) override; void Trace(blink::Visitor*) override;
using InputType::GetElement; using InputType::GetElement;
static Vector<FileChooserFileInfo> FilesFromFormControlState( static FileChooserFileInfoList FilesFromFormControlState(
const FormControlState&); const FormControlState&);
static FileList* CreateFileList(const Vector<FileChooserFileInfo>& files, static FileList* CreateFileList(const FileChooserFileInfoList& files,
bool has_webkit_directory_attr); bool has_webkit_directory_attr);
void CountUsage() override; void CountUsage() override;
...@@ -97,7 +97,7 @@ class CORE_EXPORT FileInputType final : public InputType, ...@@ -97,7 +97,7 @@ class CORE_EXPORT FileInputType final : public InputType,
void HandleKeyupEvent(KeyboardEvent&) override; void HandleKeyupEvent(KeyboardEvent&) override;
// FileChooserClient implementation. // FileChooserClient implementation.
void FilesChosen(const Vector<FileChooserFileInfo>&) override; void FilesChosen(const FileChooserFileInfoList&) override;
LocalFrame* FrameOrNull() const override; LocalFrame* FrameOrNull() const override;
// PopupOpeningObserver implementation. // PopupOpeningObserver implementation.
......
...@@ -38,7 +38,7 @@ class WebKitDirectoryChromeClient : public EmptyChromeClient { ...@@ -38,7 +38,7 @@ class WebKitDirectoryChromeClient : public EmptyChromeClient {
} // namespace } // namespace
TEST(FileInputTypeTest, createFileList) { TEST(FileInputTypeTest, createFileList) {
Vector<FileChooserFileInfo> files; FileChooserFileInfoList files;
// Native file. // Native file.
files.push_back( files.push_back(
......
...@@ -296,7 +296,7 @@ Vector<String> SavedFormState::GetReferencedFilePaths() const { ...@@ -296,7 +296,7 @@ Vector<String> SavedFormState::GetReferencedFilePaths() const {
continue; continue;
const Deque<FormControlState>& queue = form_control.value; const Deque<FormControlState>& queue = form_control.value;
for (const FormControlState& form_control_state : queue) { for (const FormControlState& form_control_state : queue) {
const Vector<FileChooserFileInfo>& selected_files = const FileChooserFileInfoList& selected_files =
HTMLInputElement::FilesFromFileInputFormControlState( HTMLInputElement::FilesFromFileInputFormControlState(
form_control_state); form_control_state);
for (const auto& file : selected_files) for (const auto& file : selected_files)
......
...@@ -164,8 +164,7 @@ const AtomicString& HTMLInputElement::GetName() const { ...@@ -164,8 +164,7 @@ const AtomicString& HTMLInputElement::GetName() const {
return name_.IsNull() ? g_empty_atom : name_; return name_.IsNull() ? g_empty_atom : name_;
} }
Vector<FileChooserFileInfo> FileChooserFileInfoList HTMLInputElement::FilesFromFileInputFormControlState(
HTMLInputElement::FilesFromFileInputFormControlState(
const FormControlState& state) { const FormControlState& state) {
return FileInputType::FilesFromFormControlState(state); return FileInputType::FilesFromFormControlState(state);
} }
......
...@@ -268,7 +268,7 @@ class CORE_EXPORT HTMLInputElement ...@@ -268,7 +268,7 @@ class CORE_EXPORT HTMLInputElement
void EndEditing(); void EndEditing();
static Vector<FileChooserFileInfo> FilesFromFileInputFormControlState( static FileChooserFileInfoList FilesFromFileInputFormControlState(
const FormControlState&); const FormControlState&);
bool MatchesReadOnlyPseudoClass() const final; bool MatchesReadOnlyPseudoClass() const final;
......
...@@ -211,7 +211,7 @@ TEST_F(HTMLInputElementTest, RepaintAfterClearingFile) { ...@@ -211,7 +211,7 @@ TEST_F(HTMLInputElementTest, RepaintAfterClearingFile) {
HTMLInputElement* input = HTMLInputElement* input =
ToHTMLInputElement(GetDocument().body()->firstChild()); ToHTMLInputElement(GetDocument().body()->firstChild());
Vector<FileChooserFileInfo> files; FileChooserFileInfoList files;
files.push_back( files.push_back(
FileChooserFileInfo("/native/path/native-file", "display-name")); FileChooserFileInfo("/native/path/native-file", "display-name"));
FileList* list = FileInputType::CreateFileList(files, false); FileList* list = FileInputType::CreateFileList(files, false);
......
...@@ -263,7 +263,7 @@ class MockFileChooserClient ...@@ -263,7 +263,7 @@ class MockFileChooserClient
private: private:
// FilesChosen() and WillOpenPopup() are never called in the test. // FilesChosen() and WillOpenPopup() are never called in the test.
void FilesChosen(const Vector<FileChooserFileInfo>&) override {} void FilesChosen(const FileChooserFileInfoList&) override {}
void WillOpenPopup() override {} void WillOpenPopup() override {}
LocalFrame* FrameOrNull() const override { return frame_; } LocalFrame* FrameOrNull() const override { return frame_; }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment