| Index: third_party/WebKit/Source/modules/filesystem/FileSystemCallbacks.cpp
|
| diff --git a/third_party/WebKit/Source/modules/filesystem/FileSystemCallbacks.cpp b/third_party/WebKit/Source/modules/filesystem/FileSystemCallbacks.cpp
|
| index 23b529acbed83201b71b311e0c15426a2814d2d9..dba8b965795b58484e805d06ca0b04ee7d9d0c83 100644
|
| --- a/third_party/WebKit/Source/modules/filesystem/FileSystemCallbacks.cpp
|
| +++ b/third_party/WebKit/Source/modules/filesystem/FileSystemCallbacks.cpp
|
| @@ -36,19 +36,19 @@
|
| #include "core/fileapi/FileError.h"
|
| #include "core/html/VoidCallback.h"
|
| #include "modules/filesystem/DOMFilePath.h"
|
| -#include "modules/filesystem/DOMFileSystem.h"
|
| -#include "modules/filesystem/DOMFileSystemBase.h"
|
| -#include "modules/filesystem/DirectoryEntry.h"
|
| -#include "modules/filesystem/DirectoryReader.h"
|
| -#include "modules/filesystem/Entry.h"
|
| -#include "modules/filesystem/EntryCallback.h"
|
| #include "modules/filesystem/ErrorCallback.h"
|
| -#include "modules/filesystem/FileEntry.h"
|
| +#include "modules/filesystem/FileSystem.h"
|
| +#include "modules/filesystem/FileSystemBase.h"
|
| #include "modules/filesystem/FileSystemCallback.h"
|
| +#include "modules/filesystem/FileSystemDirectoryEntry.h"
|
| +#include "modules/filesystem/FileSystemDirectoryReader.h"
|
| +#include "modules/filesystem/FileSystemEntry.h"
|
| +#include "modules/filesystem/FileSystemEntryCallback.h"
|
| +#include "modules/filesystem/FileSystemFileEntry.h"
|
| +#include "modules/filesystem/FileSystemMetadata.h"
|
| +#include "modules/filesystem/FileSystemMetadataCallback.h"
|
| #include "modules/filesystem/FileWriterBase.h"
|
| #include "modules/filesystem/FileWriterBaseCallback.h"
|
| -#include "modules/filesystem/Metadata.h"
|
| -#include "modules/filesystem/MetadataCallback.h"
|
| #include "platform/FileMetadata.h"
|
| #include "public/platform/WebFileWriter.h"
|
| #include "wtf/PtrUtil.h"
|
| @@ -58,7 +58,7 @@ namespace blink {
|
|
|
| FileSystemCallbacksBase::FileSystemCallbacksBase(
|
| ErrorCallbackBase* errorCallback,
|
| - DOMFileSystemBase* fileSystem,
|
| + FileSystemBase* fileSystem,
|
| ExecutionContext* context)
|
| : m_errorCallback(errorCallback),
|
| m_fileSystem(fileSystem),
|
| @@ -89,7 +89,7 @@ void FileSystemCallbacksBase::invokeOrScheduleCallback(CB* callback,
|
| DCHECK(callback);
|
| if (callback) {
|
| if (shouldScheduleCallback())
|
| - DOMFileSystem::scheduleCallback(
|
| + FileSystem::scheduleCallback(
|
| m_executionContext.get(),
|
| createSameThreadTask(&CB::invoke, wrapPersistent(callback), arg));
|
| else
|
| @@ -104,7 +104,7 @@ void FileSystemCallbacksBase::handleEventOrScheduleCallback(CB* callback,
|
| DCHECK(callback);
|
| if (callback) {
|
| if (shouldScheduleCallback())
|
| - DOMFileSystem::scheduleCallback(
|
| + FileSystem::scheduleCallback(
|
| m_executionContext.get(),
|
| createSameThreadTask(&CB::handleEvent, wrapPersistent(callback),
|
| wrapPersistent(arg)));
|
| @@ -119,7 +119,7 @@ void FileSystemCallbacksBase::handleEventOrScheduleCallback(CB* callback) {
|
| DCHECK(callback);
|
| if (callback) {
|
| if (shouldScheduleCallback())
|
| - DOMFileSystem::scheduleCallback(
|
| + FileSystem::scheduleCallback(
|
| m_executionContext.get(),
|
| createSameThreadTask(&CB::handleEvent, wrapPersistent(callback)));
|
| else
|
| @@ -132,7 +132,7 @@ void FileSystemCallbacksBase::handleEventOrScheduleCallback(CB* callback) {
|
|
|
| // static
|
| ScriptErrorCallback* ScriptErrorCallback::wrap(ErrorCallback* callback) {
|
| - // DOMFileSystem operations take an optional (nullable) callback. If a
|
| + // FileSystem operations take an optional (nullable) callback. If a
|
| // script callback was not passed, don't bother creating a dummy wrapper
|
| // and checking during invoke().
|
| if (!callback)
|
| @@ -155,20 +155,20 @@ ScriptErrorCallback::ScriptErrorCallback(ErrorCallback* callback)
|
| // EntryCallbacks -------------------------------------------------------------
|
|
|
| std::unique_ptr<AsyncFileSystemCallbacks> EntryCallbacks::create(
|
| - EntryCallback* successCallback,
|
| + FileSystemEntryCallback* successCallback,
|
| ErrorCallbackBase* errorCallback,
|
| ExecutionContext* context,
|
| - DOMFileSystemBase* fileSystem,
|
| + FileSystemBase* fileSystem,
|
| const String& expectedPath,
|
| bool isDirectory) {
|
| return wrapUnique(new EntryCallbacks(successCallback, errorCallback, context,
|
| fileSystem, expectedPath, isDirectory));
|
| }
|
|
|
| -EntryCallbacks::EntryCallbacks(EntryCallback* successCallback,
|
| +EntryCallbacks::EntryCallbacks(FileSystemEntryCallback* successCallback,
|
| ErrorCallbackBase* errorCallback,
|
| ExecutionContext* context,
|
| - DOMFileSystemBase* fileSystem,
|
| + FileSystemBase* fileSystem,
|
| const String& expectedPath,
|
| bool isDirectory)
|
| : FileSystemCallbacksBase(errorCallback, fileSystem, context),
|
| @@ -178,34 +178,36 @@ EntryCallbacks::EntryCallbacks(EntryCallback* successCallback,
|
|
|
| void EntryCallbacks::didSucceed() {
|
| if (m_successCallback) {
|
| - if (m_isDirectory)
|
| + if (m_isDirectory) {
|
| handleEventOrScheduleCallback(
|
| m_successCallback.release(),
|
| - DirectoryEntry::create(m_fileSystem, m_expectedPath));
|
| - else
|
| + FileSystemDirectoryEntry::create(m_fileSystem, m_expectedPath));
|
| + } else {
|
| handleEventOrScheduleCallback(
|
| m_successCallback.release(),
|
| - FileEntry::create(m_fileSystem, m_expectedPath));
|
| + FileSystemFileEntry::create(m_fileSystem, m_expectedPath));
|
| + }
|
| }
|
| }
|
|
|
| // EntriesCallbacks -----------------------------------------------------------
|
|
|
| std::unique_ptr<AsyncFileSystemCallbacks> EntriesCallbacks::create(
|
| - EntriesCallback* successCallback,
|
| + FileSystemEntriesCallback* successCallback,
|
| ErrorCallbackBase* errorCallback,
|
| ExecutionContext* context,
|
| - DirectoryReaderBase* directoryReader,
|
| + FileSystemDirectoryReaderBase* directoryReader,
|
| const String& basePath) {
|
| return wrapUnique(new EntriesCallbacks(successCallback, errorCallback,
|
| context, directoryReader, basePath));
|
| }
|
|
|
| -EntriesCallbacks::EntriesCallbacks(EntriesCallback* successCallback,
|
| - ErrorCallbackBase* errorCallback,
|
| - ExecutionContext* context,
|
| - DirectoryReaderBase* directoryReader,
|
| - const String& basePath)
|
| +EntriesCallbacks::EntriesCallbacks(
|
| + FileSystemEntriesCallback* successCallback,
|
| + ErrorCallbackBase* errorCallback,
|
| + ExecutionContext* context,
|
| + FileSystemDirectoryReaderBase* directoryReader,
|
| + const String& basePath)
|
| : FileSystemCallbacksBase(errorCallback,
|
| directoryReader->filesystem(),
|
| context),
|
| @@ -217,13 +219,15 @@ EntriesCallbacks::EntriesCallbacks(EntriesCallback* successCallback,
|
|
|
| void EntriesCallbacks::didReadDirectoryEntry(const String& name,
|
| bool isDirectory) {
|
| - if (isDirectory)
|
| + if (isDirectory) {
|
| + m_entries.append(FileSystemDirectoryEntry::create(
|
| + m_directoryReader->filesystem(),
|
| + DOMFilePath::append(m_basePath, name)));
|
| + } else {
|
| m_entries.append(
|
| - DirectoryEntry::create(m_directoryReader->filesystem(),
|
| - DOMFilePath::append(m_basePath, name)));
|
| - else
|
| - m_entries.append(FileEntry::create(m_directoryReader->filesystem(),
|
| - DOMFilePath::append(m_basePath, name)));
|
| + FileSystemFileEntry::create(m_directoryReader->filesystem(),
|
| + DOMFilePath::append(m_basePath, name)));
|
| + }
|
| }
|
|
|
| void EntriesCallbacks::didReadDirectoryEntries(bool hasMore) {
|
| @@ -256,25 +260,27 @@ FileSystemCallbacks::FileSystemCallbacks(FileSystemCallback* successCallback,
|
|
|
| void FileSystemCallbacks::didOpenFileSystem(const String& name,
|
| const KURL& rootURL) {
|
| - if (m_successCallback)
|
| + if (m_successCallback) {
|
| handleEventOrScheduleCallback(
|
| m_successCallback.release(),
|
| - DOMFileSystem::create(m_executionContext.get(), name, m_type, rootURL));
|
| + FileSystem::create(m_executionContext.get(), name, m_type, rootURL));
|
| + }
|
| }
|
|
|
| // ResolveURICallbacks --------------------------------------------------------
|
|
|
| std::unique_ptr<AsyncFileSystemCallbacks> ResolveURICallbacks::create(
|
| - EntryCallback* successCallback,
|
| + FileSystemEntryCallback* successCallback,
|
| ErrorCallbackBase* errorCallback,
|
| ExecutionContext* context) {
|
| return wrapUnique(
|
| new ResolveURICallbacks(successCallback, errorCallback, context));
|
| }
|
|
|
| -ResolveURICallbacks::ResolveURICallbacks(EntryCallback* successCallback,
|
| - ErrorCallbackBase* errorCallback,
|
| - ExecutionContext* context)
|
| +ResolveURICallbacks::ResolveURICallbacks(
|
| + FileSystemEntryCallback* successCallback,
|
| + ErrorCallbackBase* errorCallback,
|
| + ExecutionContext* context)
|
| : FileSystemCallbacksBase(errorCallback, nullptr, context),
|
| m_successCallback(successCallback) {}
|
|
|
| @@ -283,49 +289,52 @@ void ResolveURICallbacks::didResolveURL(const String& name,
|
| FileSystemType type,
|
| const String& filePath,
|
| bool isDirectory) {
|
| - DOMFileSystem* filesystem =
|
| - DOMFileSystem::create(m_executionContext.get(), name, type, rootURL);
|
| - DirectoryEntry* root = filesystem->root();
|
| + FileSystem* filesystem =
|
| + FileSystem::create(m_executionContext.get(), name, type, rootURL);
|
| + FileSystemDirectoryEntry* root = filesystem->root();
|
|
|
| String absolutePath;
|
| - if (!DOMFileSystemBase::pathToAbsolutePath(type, root, filePath,
|
| - absolutePath)) {
|
| + if (!FileSystemBase::pathToAbsolutePath(type, root, filePath, absolutePath)) {
|
| invokeOrScheduleCallback(m_errorCallback.release(),
|
| FileError::kInvalidModificationErr);
|
| return;
|
| }
|
|
|
| - if (isDirectory)
|
| + if (isDirectory) {
|
| handleEventOrScheduleCallback(
|
| m_successCallback.release(),
|
| - DirectoryEntry::create(filesystem, absolutePath));
|
| - else
|
| - handleEventOrScheduleCallback(m_successCallback.release(),
|
| - FileEntry::create(filesystem, absolutePath));
|
| + FileSystemDirectoryEntry::create(filesystem, absolutePath));
|
| + } else {
|
| + handleEventOrScheduleCallback(
|
| + m_successCallback.release(),
|
| + FileSystemFileEntry::create(filesystem, absolutePath));
|
| + }
|
| }
|
|
|
| // MetadataCallbacks ----------------------------------------------------------
|
|
|
| std::unique_ptr<AsyncFileSystemCallbacks> MetadataCallbacks::create(
|
| - MetadataCallback* successCallback,
|
| + FileSystemMetadataCallback* successCallback,
|
| ErrorCallbackBase* errorCallback,
|
| ExecutionContext* context,
|
| - DOMFileSystemBase* fileSystem) {
|
| + FileSystemBase* fileSystem) {
|
| return wrapUnique(new MetadataCallbacks(successCallback, errorCallback,
|
| context, fileSystem));
|
| }
|
|
|
| -MetadataCallbacks::MetadataCallbacks(MetadataCallback* successCallback,
|
| - ErrorCallbackBase* errorCallback,
|
| - ExecutionContext* context,
|
| - DOMFileSystemBase* fileSystem)
|
| +MetadataCallbacks::MetadataCallbacks(
|
| + FileSystemMetadataCallback* successCallback,
|
| + ErrorCallbackBase* errorCallback,
|
| + ExecutionContext* context,
|
| + FileSystemBase* fileSystem)
|
| : FileSystemCallbacksBase(errorCallback, fileSystem, context),
|
| m_successCallback(successCallback) {}
|
|
|
| void MetadataCallbacks::didReadMetadata(const FileMetadata& metadata) {
|
| - if (m_successCallback)
|
| + if (m_successCallback) {
|
| handleEventOrScheduleCallback(m_successCallback.release(),
|
| - Metadata::create(metadata));
|
| + FileSystemMetadata::create(metadata));
|
| + }
|
| }
|
|
|
| // FileWriterBaseCallbacks ----------------------------------------------------
|
| @@ -360,7 +369,7 @@ void FileWriterBaseCallbacks::didCreateFileWriter(
|
| // SnapshotFileCallback -------------------------------------------------------
|
|
|
| std::unique_ptr<AsyncFileSystemCallbacks> SnapshotFileCallback::create(
|
| - DOMFileSystemBase* filesystem,
|
| + FileSystemBase* filesystem,
|
| const String& name,
|
| const KURL& url,
|
| BlobCallback* successCallback,
|
| @@ -370,7 +379,7 @@ std::unique_ptr<AsyncFileSystemCallbacks> SnapshotFileCallback::create(
|
| filesystem, name, url, successCallback, errorCallback, context));
|
| }
|
|
|
| -SnapshotFileCallback::SnapshotFileCallback(DOMFileSystemBase* filesystem,
|
| +SnapshotFileCallback::SnapshotFileCallback(FileSystemBase* filesystem,
|
| const String& name,
|
| const KURL& url,
|
| BlobCallback* successCallback,
|
| @@ -396,8 +405,8 @@ void SnapshotFileCallback::didCreateSnapshotFile(
|
|
|
| handleEventOrScheduleCallback(
|
| m_successCallback.release(),
|
| - DOMFileSystemBase::createFile(metadata, m_url, m_fileSystem->type(),
|
| - m_name));
|
| + FileSystemBase::createFile(metadata, m_url, m_fileSystem->type(),
|
| + m_name));
|
| }
|
|
|
| // VoidCallbacks --------------------------------------------------------------
|
| @@ -406,7 +415,7 @@ std::unique_ptr<AsyncFileSystemCallbacks> VoidCallbacks::create(
|
| VoidCallback* successCallback,
|
| ErrorCallbackBase* errorCallback,
|
| ExecutionContext* context,
|
| - DOMFileSystemBase* fileSystem) {
|
| + FileSystemBase* fileSystem) {
|
| return wrapUnique(
|
| new VoidCallbacks(successCallback, errorCallback, context, fileSystem));
|
| }
|
| @@ -414,7 +423,7 @@ std::unique_ptr<AsyncFileSystemCallbacks> VoidCallbacks::create(
|
| VoidCallbacks::VoidCallbacks(VoidCallback* successCallback,
|
| ErrorCallbackBase* errorCallback,
|
| ExecutionContext* context,
|
| - DOMFileSystemBase* fileSystem)
|
| + FileSystemBase* fileSystem)
|
| : FileSystemCallbacksBase(errorCallback, fileSystem, context),
|
| m_successCallback(successCallback) {}
|
|
|
|
|