| Index: Source/web/WebFileChooserCompletionImpl.cpp
|
| diff --git a/Source/web/WebFileChooserCompletionImpl.cpp b/Source/web/WebFileChooserCompletionImpl.cpp
|
| index 0791fb08cb1feb5541904464c54bd6350174914f..3a1f4b3743133a522f5bd50315ba949eb2a4ebc3 100644
|
| --- a/Source/web/WebFileChooserCompletionImpl.cpp
|
| +++ b/Source/web/WebFileChooserCompletionImpl.cpp
|
| @@ -30,6 +30,7 @@
|
|
|
| #include "config.h"
|
| #include "web/WebFileChooserCompletionImpl.h"
|
| +#include "platform/FileMetadata.h"
|
|
|
| namespace blink {
|
|
|
| @@ -55,8 +56,17 @@ void WebFileChooserCompletionImpl::didChooseFile(const WebVector<WebString>& fil
|
| void WebFileChooserCompletionImpl::didChooseFile(const WebVector<SelectedFileInfo>& files)
|
| {
|
| Vector<FileChooserFileInfo> fileInfo;
|
| - for (size_t i = 0; i < files.size(); ++i)
|
| - fileInfo.append(FileChooserFileInfo(files[i].path, files[i].displayName));
|
| + for (size_t i = 0; i < files.size(); ++i) {
|
| + if (files[i].fileSystemURL.isEmpty()) {
|
| + fileInfo.append(FileChooserFileInfo(files[i].path, files[i].displayName));
|
| + } else {
|
| + FileMetadata metadata;
|
| + metadata.modificationTime = files[i].modificationTime;
|
| + metadata.length = files[i].length;
|
| + metadata.type = files[i].isDirectory ? FileMetadata::TypeDirectory : FileMetadata::TypeFile;
|
| + fileInfo.append(FileChooserFileInfo(files[i].fileSystemURL, metadata));
|
| + }
|
| + }
|
| m_fileChooser->chooseFiles(fileInfo);
|
| // This object is no longer needed.
|
| delete this;
|
|
|