Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(480)

Unified Diff: third_party/WebKit/Source/modules/filesystem/FileSystemCallbacks.cpp

Issue 2297043002: Web expose FileSystemFileEntry, FileSystemDirectoryEntry and friends (Closed)
Patch Set: Rebased Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {}

Powered by Google App Engine
This is Rietveld 408576698