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

Side by Side Diff: Source/modules/filesystem/HTMLInputElementFileSystem.cpp

Issue 22436002: Replace EntryArray type by an Entry[] (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase on master Created 7 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 20 matching lines...) Expand all
31 #include "config.h" 31 #include "config.h"
32 #include "modules/filesystem/HTMLInputElementFileSystem.h" 32 #include "modules/filesystem/HTMLInputElementFileSystem.h"
33 33
34 #include "core/fileapi/FileList.h" 34 #include "core/fileapi/FileList.h"
35 #include "core/html/HTMLInputElement.h" 35 #include "core/html/HTMLInputElement.h"
36 #include "core/platform/FileMetadata.h" 36 #include "core/platform/FileMetadata.h"
37 #include "core/platform/FileSystem.h" 37 #include "core/platform/FileSystem.h"
38 #include "modules/filesystem/DOMFilePath.h" 38 #include "modules/filesystem/DOMFilePath.h"
39 #include "modules/filesystem/DOMFileSystem.h" 39 #include "modules/filesystem/DOMFileSystem.h"
40 #include "modules/filesystem/DirectoryEntry.h" 40 #include "modules/filesystem/DirectoryEntry.h"
41 #include "modules/filesystem/EntryArray.h" 41 #include "modules/filesystem/Entry.h"
42 #include "modules/filesystem/FileEntry.h" 42 #include "modules/filesystem/FileEntry.h"
43 43
44 namespace WebCore { 44 namespace WebCore {
45 45
46 // static 46 // static
47 PassRefPtr<EntryArray> HTMLInputElementFileSystem::webkitEntries(ScriptExecution Context* scriptExecutionContext, HTMLInputElement* input) 47 EntryVector HTMLInputElementFileSystem::webkitEntries(ScriptExecutionContext* sc riptExecutionContext, HTMLInputElement* input)
48 { 48 {
49 RefPtr<EntryArray> array = EntryArray::create(); 49 EntryVector entries;
50 FileList* files = input->files(); 50 FileList* files = input->files();
51 51
52 if (!files) 52 if (!files)
53 return array; 53 return entries;
54 54
55 RefPtr<DOMFileSystem> filesystem = DOMFileSystem::createIsolatedFileSystem(s criptExecutionContext, input->droppedFileSystemId()); 55 RefPtr<DOMFileSystem> filesystem = DOMFileSystem::createIsolatedFileSystem(s criptExecutionContext, input->droppedFileSystemId());
56 if (!filesystem) { 56 if (!filesystem) {
57 // Drag-drop isolated filesystem is not available. 57 // Drag-drop isolated filesystem is not available.
58 return array; 58 return entries;
59 } 59 }
60 60
61 for (unsigned i = 0; i < files->length(); ++i) { 61 for (unsigned i = 0; i < files->length(); ++i) {
62 File* file = files->item(i); 62 File* file = files->item(i);
63 63
64 // FIXME: This involves synchronous file operation. 64 // FIXME: This involves synchronous file operation.
65 FileMetadata metadata; 65 FileMetadata metadata;
66 if (!getFileMetadata(file->path(), metadata)) 66 if (!getFileMetadata(file->path(), metadata))
67 continue; 67 continue;
68 68
69 // The dropped entries are mapped as top-level entries in the isolated f ilesystem. 69 // The dropped entries are mapped as top-level entries in the isolated f ilesystem.
70 String virtualPath = DOMFilePath::append("/", file->name()); 70 String virtualPath = DOMFilePath::append("/", file->name());
71 if (metadata.type == FileMetadata::TypeDirectory) 71 if (metadata.type == FileMetadata::TypeDirectory)
72 array->append(DirectoryEntry::create(filesystem, virtualPath)); 72 entries.append(DirectoryEntry::create(filesystem, virtualPath));
73 else 73 else
74 array->append(FileEntry::create(filesystem, virtualPath)); 74 entries.append(FileEntry::create(filesystem, virtualPath));
75 } 75 }
76 return array; 76 return entries;
77 } 77 }
78 78
79 HTMLInputElementFileSystem::HTMLInputElementFileSystem() 79 HTMLInputElementFileSystem::HTMLInputElementFileSystem()
80 { 80 {
81 } 81 }
82 82
83 HTMLInputElementFileSystem::~HTMLInputElementFileSystem() 83 HTMLInputElementFileSystem::~HTMLInputElementFileSystem()
84 { 84 {
85 } 85 }
86 86
87 } // namespace WebCore 87 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/modules/filesystem/HTMLInputElementFileSystem.h ('k') | Source/modules/filesystem/HTMLInputElementFileSystem.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698