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) {
}
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)
file_info.push_back(FileChooserFileInfo(file_names[i]));
ChooseFiles(file_info);
}
void FileChooser::DidChooseFile(const WebVector<SelectedFileInfo>& files) {
Vector<FileChooserFileInfo> file_info;
FileChooserFileInfoList file_info;
for (size_t i = 0; i < files.size(); ++i) {
if (files[i].file_system_url.IsEmpty()) {
file_info.push_back(
......@@ -106,7 +106,7 @@ void FileChooser::DidChooseFile(const WebVector<SelectedFileInfo>& files) {
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.
if (params_.selected_files.size() == files.size()) {
bool was_changed = false;
......
......@@ -65,9 +65,11 @@ struct FileChooserFileInfo {
const FileMetadata metadata;
};
using FileChooserFileInfoList = Vector<FileChooserFileInfo>;
class CORE_EXPORT FileChooserClient : public PopupOpeningObserver {
public:
virtual void FilesChosen(const Vector<FileChooserFileInfo>&) = 0;
virtual void FilesChosen(const FileChooserFileInfoList&) = 0;
virtual LocalFrame* FrameOrNull() const = 0;
~FileChooserClient() override;
......@@ -110,7 +112,7 @@ class FileChooser : public RefCounted<FileChooser>,
// FIXME: We should probably just pass file paths that could be virtual paths
// with proper display names rather than passing structs.
void ChooseFiles(const Vector<FileChooserFileInfo>& files);
void ChooseFiles(const FileChooserFileInfoList& files);
WeakPersistent<FileChooserClient> client_;
WebFileChooserParams params_;
......
......@@ -83,9 +83,9 @@ InputTypeView* FileInputType::CreateView() {
return this;
}
Vector<FileChooserFileInfo> FileInputType::FilesFromFormControlState(
FileChooserFileInfoList FileInputType::FilesFromFormControlState(
const FormControlState& state) {
Vector<FileChooserFileInfo> files;
FileChooserFileInfoList files;
for (size_t i = 0; i < state.ValueSize(); i += 2) {
if (!state[i + 1].IsEmpty())
files.push_back(FileChooserFileInfo(state[i], state[i + 1]));
......@@ -227,9 +227,8 @@ void FileInputType::SetValue(const String&,
GetElement().SetNeedsValidityCheck();
}
FileList* FileInputType::CreateFileList(
const Vector<FileChooserFileInfo>& files,
bool has_webkit_directory_attr) {
FileList* FileInputType::CreateFileList(const FileChooserFileInfoList& files,
bool has_webkit_directory_attr) {
FileList* file_list(FileList::Create());
size_t size = files.size();
......@@ -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,
GetElement().FastHasAttribute(webkitdirectoryAttr)));
if (HasConnectedFileChooser())
......@@ -380,14 +379,14 @@ void FileInputType::SetFilesFromPaths(const Vector<String>& paths) {
return;
}
Vector<FileChooserFileInfo> files;
FileChooserFileInfoList files;
for (const auto& path : paths)
files.push_back(FileChooserFileInfo(path));
if (input.FastHasAttribute(multipleAttr)) {
FilesChosen(files);
} else {
Vector<FileChooserFileInfo> first_file_only;
FileChooserFileInfoList first_file_only;
first_file_only.push_back(files[0]);
FilesChosen(first_file_only);
}
......
......@@ -54,9 +54,9 @@ class CORE_EXPORT FileInputType final : public InputType,
static InputType* Create(HTMLInputElement&);
void Trace(blink::Visitor*) override;
using InputType::GetElement;
static Vector<FileChooserFileInfo> FilesFromFormControlState(
static FileChooserFileInfoList FilesFromFormControlState(
const FormControlState&);
static FileList* CreateFileList(const Vector<FileChooserFileInfo>& files,
static FileList* CreateFileList(const FileChooserFileInfoList& files,
bool has_webkit_directory_attr);
void CountUsage() override;
......@@ -97,7 +97,7 @@ class CORE_EXPORT FileInputType final : public InputType,
void HandleKeyupEvent(KeyboardEvent&) override;
// FileChooserClient implementation.
void FilesChosen(const Vector<FileChooserFileInfo>&) override;
void FilesChosen(const FileChooserFileInfoList&) override;
LocalFrame* FrameOrNull() const override;
// PopupOpeningObserver implementation.
......
......@@ -38,7 +38,7 @@ class WebKitDirectoryChromeClient : public EmptyChromeClient {
} // namespace
TEST(FileInputTypeTest, createFileList) {
Vector<FileChooserFileInfo> files;
FileChooserFileInfoList files;
// Native file.
files.push_back(
......
......@@ -296,7 +296,7 @@ Vector<String> SavedFormState::GetReferencedFilePaths() const {
continue;
const Deque<FormControlState>& queue = form_control.value;
for (const FormControlState& form_control_state : queue) {
const Vector<FileChooserFileInfo>& selected_files =
const FileChooserFileInfoList& selected_files =
HTMLInputElement::FilesFromFileInputFormControlState(
form_control_state);
for (const auto& file : selected_files)
......
......@@ -164,8 +164,7 @@ const AtomicString& HTMLInputElement::GetName() const {
return name_.IsNull() ? g_empty_atom : name_;
}
Vector<FileChooserFileInfo>
HTMLInputElement::FilesFromFileInputFormControlState(
FileChooserFileInfoList HTMLInputElement::FilesFromFileInputFormControlState(
const FormControlState& state) {
return FileInputType::FilesFromFormControlState(state);
}
......
......@@ -268,7 +268,7 @@ class CORE_EXPORT HTMLInputElement
void EndEditing();
static Vector<FileChooserFileInfo> FilesFromFileInputFormControlState(
static FileChooserFileInfoList FilesFromFileInputFormControlState(
const FormControlState&);
bool MatchesReadOnlyPseudoClass() const final;
......
......@@ -211,7 +211,7 @@ TEST_F(HTMLInputElementTest, RepaintAfterClearingFile) {
HTMLInputElement* input =
ToHTMLInputElement(GetDocument().body()->firstChild());
Vector<FileChooserFileInfo> files;
FileChooserFileInfoList files;
files.push_back(
FileChooserFileInfo("/native/path/native-file", "display-name"));
FileList* list = FileInputType::CreateFileList(files, false);
......
......@@ -263,7 +263,7 @@ class MockFileChooserClient
private:
// FilesChosen() and WillOpenPopup() are never called in the test.
void FilesChosen(const Vector<FileChooserFileInfo>&) override {}
void FilesChosen(const FileChooserFileInfoList&) override {}
void WillOpenPopup() override {}
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