Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1790)

Unified Diff: Source/web/WebFileChooserCompletionImpl.cpp

Issue 640723006: Pass the selected non-native file information from the browser to FileInputType. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698