EntrySyncVector DirectoryReaderSync::readEntries(ExceptionState& es)
{
    if (!m_hasMoreEntries)
        return EntrySyncVector();

    EntriesSyncCallbackHelper helper;
    if (!m_fileSystem->readDirectory(this, m_fullPath, helper.successCallback(), helper.errorCallback(), DOMFileSystemBase::Synchronous)) {
        es.throwDOMException(InvalidModificationError, ExceptionMessages::failedToExecute("readEntries", "DirectoryReaderSync"));
        setHasMoreEntries(false);
        return EntrySyncVector();
    }
    return helper.getResult(es);
}
Example #2
0
EntrySyncVector DirectoryReaderSync::readEntries(ExceptionState& exceptionState)
{
    if (!m_hasMoreEntries)
        return EntrySyncVector();

    EntriesSyncCallbackHelper helper;
    if (!m_fileSystem->readDirectory(this, m_fullPath, helper.successCallback(), helper.errorCallback(), DOMFileSystemBase::Synchronous)) {
        exceptionState.throwDOMException(InvalidModificationError, "Failed to read the directory.");
        setHasMoreEntries(false);
        return EntrySyncVector();
    }
    return helper.getResult(exceptionState);
}
PassRefPtr<EntryArraySync> DirectoryReaderSync::readEntries(ExceptionCode& ec)
{
    ec = 0;
    if (!m_hasMoreEntries)
        return EntryArraySync::create();

    EntriesSyncCallbackHelper helper(m_fileSystem->asyncFileSystem());
    if (!m_fileSystem->readDirectory(this, m_fullPath, helper.successCallback(), helper.errorCallback())) {
        ec = FileException::INVALID_MODIFICATION_ERR;
        setHasMoreEntries(false);
        return 0;
    }
    return helper.getResult(ec);
}