summaryrefslogtreecommitdiffstats
path: root/WebCore/fileapi/DirectoryReader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/fileapi/DirectoryReader.cpp')
-rw-r--r--WebCore/fileapi/DirectoryReader.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/WebCore/fileapi/DirectoryReader.cpp b/WebCore/fileapi/DirectoryReader.cpp
index b0eef1c..3437675 100644
--- a/WebCore/fileapi/DirectoryReader.cpp
+++ b/WebCore/fileapi/DirectoryReader.cpp
@@ -33,23 +33,27 @@
#if ENABLE(FILE_SYSTEM)
-#include "DOMFileSystem.h"
#include "EntriesCallback.h"
+#include "EntryArray.h"
#include "ErrorCallback.h"
+#include "FileError.h"
namespace WebCore {
-DirectoryReader::DirectoryReader(PassRefPtr<DOMFileSystem> fileSystem, const String& fullPath)
- : m_fileSystem(fileSystem)
- , m_fullPath(fullPath)
+DirectoryReader::DirectoryReader(DOMFileSystemBase* fileSystem, const String& fullPath)
+ : DirectoryReaderBase(fileSystem, fullPath)
{
}
void DirectoryReader::readEntries(PassRefPtr<EntriesCallback> entriesCallback, PassRefPtr<ErrorCallback> errorCallback)
{
- m_fileSystem->readDirectory(m_fullPath, entriesCallback, errorCallback);
+ if (!m_hasMoreEntries) {
+ filesystem()->scheduleCallback(entriesCallback, EntryArray::create());
+ return;
+ }
+ filesystem()->readDirectory(this, m_fullPath, entriesCallback, errorCallback);
}
-} // namespace
+}
#endif // ENABLE(FILE_SYSTEM)