Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / filesystem / DataTransferItemFileSystem.cpp
index 50fc033..4da2aaa 100644 (file)
@@ -31,8 +31,8 @@
 #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