Index: third_party/WebKit/Source/modules/filesystem/DirectoryReader.cpp |
diff --git a/third_party/WebKit/Source/modules/filesystem/DirectoryReader.cpp b/third_party/WebKit/Source/modules/filesystem/DirectoryReader.cpp |
index 8143c8d2eec64d1e5ee12a7ff4b6774cb4090853..cda4d5750f4e8315f0f120dc1576ed4baaecfc7e 100644 |
--- a/third_party/WebKit/Source/modules/filesystem/DirectoryReader.cpp |
+++ b/third_party/WebKit/Source/modules/filesystem/DirectoryReader.cpp |
@@ -100,18 +100,19 @@ void DirectoryReader::readEntries(EntriesCallback* entriesCallback, ErrorCallbac |
} |
if (m_error) { |
- filesystem()->scheduleCallback(errorCallback, m_error); |
+ filesystem()->reportError(errorCallback, m_error.get()); |
return; |
} |
if (m_entriesCallback) { |
// Non-null m_entriesCallback means multiple readEntries() calls are made concurrently. We don't allow doing it. |
- filesystem()->scheduleCallback(errorCallback, FileError::create(FileError::INVALID_STATE_ERR)); |
+ filesystem()->reportError(errorCallback, FileError::create(FileError::INVALID_STATE_ERR)); |
return; |
} |
if (!m_hasMoreEntries || !m_entries.isEmpty()) { |
- filesystem()->scheduleCallback(entriesCallback, m_entries); |
+ if (entriesCallback) |
+ DOMFileSystem::scheduleCallback(filesystem()->getExecutionContext(), createSameThreadTask(&EntriesCallback::handleEvent, wrapPersistent(entriesCallback), PersistentHeapVector<Member<Entry>>(m_entries))); |
m_entries.clear(); |
return; |
} |