| 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 cda4d5750f4e8315f0f120dc1576ed4baaecfc7e..d3627f3f5e7941418cf056efcd834c323607c79f 100644
|
| --- a/third_party/WebKit/Source/modules/filesystem/DirectoryReader.cpp
|
| +++ b/third_party/WebKit/Source/modules/filesystem/DirectoryReader.cpp
|
| @@ -34,6 +34,7 @@
|
| #include "modules/filesystem/EntriesCallback.h"
|
| #include "modules/filesystem/Entry.h"
|
| #include "modules/filesystem/ErrorCallback.h"
|
| +#include "modules/filesystem/FileSystemCallbacks.h"
|
|
|
| namespace blink {
|
|
|
| @@ -60,14 +61,14 @@ private:
|
| Member<DirectoryReader> m_reader;
|
| };
|
|
|
| -class DirectoryReader::ErrorCallbackHelper final : public ErrorCallback {
|
| +class DirectoryReader::ErrorCallbackHelper final : public ErrorCallbackBase {
|
| public:
|
| explicit ErrorCallbackHelper(DirectoryReader* reader)
|
| : m_reader(reader)
|
| {
|
| }
|
|
|
| - void handleEvent(FileError* error) override
|
| + void invoke(FileError::ErrorCode error) override
|
| {
|
| m_reader->onError(error);
|
| }
|
| @@ -75,7 +76,7 @@ public:
|
| DEFINE_INLINE_VIRTUAL_TRACE()
|
| {
|
| visitor->trace(m_reader);
|
| - ErrorCallback::trace(visitor);
|
| + ErrorCallbackBase::trace(visitor);
|
| }
|
|
|
| private:
|
| @@ -100,13 +101,13 @@ void DirectoryReader::readEntries(EntriesCallback* entriesCallback, ErrorCallbac
|
| }
|
|
|
| if (m_error) {
|
| - filesystem()->reportError(errorCallback, m_error.get());
|
| + filesystem()->reportError(ScriptErrorCallback::wrap(errorCallback), m_error);
|
| return;
|
| }
|
|
|
| if (m_entriesCallback) {
|
| // Non-null m_entriesCallback means multiple readEntries() calls are made concurrently. We don't allow doing it.
|
| - filesystem()->reportError(errorCallback, FileError::create(FileError::INVALID_STATE_ERR));
|
| + filesystem()->reportError(ScriptErrorCallback::wrap(errorCallback), FileError::INVALID_STATE_ERR);
|
| return;
|
| }
|
|
|
| @@ -133,20 +134,17 @@ void DirectoryReader::addEntries(const EntryHeapVector& entries)
|
| }
|
| }
|
|
|
| -void DirectoryReader::onError(FileError* error)
|
| +void DirectoryReader::onError(FileError::ErrorCode error)
|
| {
|
| m_error = error;
|
| m_entriesCallback = nullptr;
|
| - if (m_errorCallback) {
|
| - ErrorCallback* errorCallback = m_errorCallback.release();
|
| - errorCallback->handleEvent(error);
|
| - }
|
| + if (m_errorCallback)
|
| + m_errorCallback->handleEvent(FileError::createDOMException(error));
|
| }
|
|
|
| DEFINE_TRACE(DirectoryReader)
|
| {
|
| visitor->trace(m_entries);
|
| - visitor->trace(m_error);
|
| visitor->trace(m_entriesCallback);
|
| visitor->trace(m_errorCallback);
|
| DirectoryReaderBase::trace(visitor);
|
|
|