Index: Source/modules/filesystem/DraggedIsolatedFileSystem.cpp |
diff --git a/Source/modules/filesystem/DraggedIsolatedFileSystem.cpp b/Source/modules/filesystem/DraggedIsolatedFileSystem.cpp |
index e0abfdc218bcb1dd7bec7faf75867095425e387a..7f0e01cc7e2055b74f283c447e9837eceb74ba46 100644 |
--- a/Source/modules/filesystem/DraggedIsolatedFileSystem.cpp |
+++ b/Source/modules/filesystem/DraggedIsolatedFileSystem.cpp |
@@ -43,12 +43,14 @@ DraggedIsolatedFileSystem::~DraggedIsolatedFileSystem() |
{ |
} |
-DOMFileSystem* DraggedIsolatedFileSystem::getDOMFileSystem(ExecutionContext* executionContext) |
+DOMFileSystem* DraggedIsolatedFileSystem::getDOMFileSystem(DataObject* host, ExecutionContext* executionContext) |
{ |
- ASSERT(!m_filesystemId.isEmpty()); |
- if (!m_filesystem) |
- m_filesystem = DOMFileSystem::createIsolatedFileSystem(executionContext, m_filesystemId); |
- return m_filesystem.get(); |
+ DraggedIsolatedFileSystem* draggedIsolatedFileSystem = from(host); |
+ if (!draggedIsolatedFileSystem) |
+ return 0; |
+ if (!draggedIsolatedFileSystem->m_filesystem) |
+ draggedIsolatedFileSystem->m_filesystem = DOMFileSystem::createIsolatedFileSystem(executionContext, host->filesystemId()); |
+ return draggedIsolatedFileSystem->m_filesystem.get(); |
} |
// static |
@@ -63,9 +65,9 @@ DraggedIsolatedFileSystem* DraggedIsolatedFileSystem::from(DataObject* dataObjec |
return static_cast<DraggedIsolatedFileSystem*>(WillBeHeapSupplement<DataObject>::from(dataObject, supplementName())); |
} |
-DraggedIsolatedFileSystem::DraggedIsolatedFileSystem(const String& filesystemId) |
- : m_filesystemId(filesystemId) |
+DraggedIsolatedFileSystem::DraggedIsolatedFileSystem(DataObject& host, const String& filesystemId) |
{ |
+ host.setFilesystemId(filesystemId); |
} |
void DraggedIsolatedFileSystem::trace(Visitor* visitor) |