#include "config.h"
#include "modules/filesystem/DataTransferItemFileSystem.h"
-#include "core/clipboard/Clipboard.h"
#include "core/clipboard/DataObject.h"
+#include "core/clipboard/DataTransfer.h"
#include "core/clipboard/DataTransferItem.h"
#include "core/dom/ExecutionContext.h"
#include "core/fileapi/File.h"
#include "platform/AsyncFileSystemCallbacks.h"
#include "platform/FileMetadata.h"
-namespace WebCore {
+namespace blink {
// static
-PassRefPtrWillBeRawPtr<Entry> DataTransferItemFileSystem::webkitGetAsEntry(ExecutionContext* executionContext, DataTransferItem& item)
+Entry* DataTransferItemFileSystem::webkitGetAsEntry(ExecutionContext* executionContext, DataTransferItem& item)
{
if (!item.dataObjectItem()->isFilename())
- return nullptr;
+ return 0;
// For dragged files getAsFile must be pretty lightweight.
Blob* file = item.getAsFile().get();
// The clipboard may not be in a readable state.
if (!file)
- return nullptr;
+ return 0;
ASSERT(file->isFile());
- DraggedIsolatedFileSystem* filesystem = DraggedIsolatedFileSystem::from(item.clipboard()->dataObject().get());
- DOMFileSystem* domFileSystem = filesystem ? filesystem->getDOMFileSystem(executionContext) : 0;
- if (!filesystem) {
+ DOMFileSystem* domFileSystem = DraggedIsolatedFileSystem::getDOMFileSystem(item.dataTransfer()->dataObject().get(), executionContext);
+ if (!domFileSystem) {
// IsolatedFileSystem may not be enabled.
- return nullptr;
+ return 0;
}
- ASSERT(domFileSystem);
-
// The dropped entries are mapped as top-level entries in the isolated filesystem.
String virtualPath = DOMFilePath::append("/", toFile(file)->name());
// FIXME: This involves synchronous file operation. Consider passing file type data when we dispatch drag event.
FileMetadata metadata;
if (!getFileMetadata(toFile(file)->path(), metadata))
- return nullptr;
+ return 0;
if (metadata.type == FileMetadata::TypeDirectory)
return DirectoryEntry::create(domFileSystem, virtualPath);
return FileEntry::create(domFileSystem, virtualPath);
}
-} // namespace WebCore
+} // namespace blink