| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 29 */ | 29 */ |
| 30 | 30 |
| 31 #include "config.h" | 31 #include "config.h" |
| 32 #include "modules/filesystem/FileSystemCallbacks.h" | 32 #include "modules/filesystem/FileSystemCallbacks.h" |
| 33 | 33 |
| 34 #include "core/dom/ScriptExecutionContext.h" | 34 #include "core/dom/ScriptExecutionContext.h" |
| 35 #include "core/fileapi/FileError.h" | 35 #include "core/fileapi/FileError.h" |
| 36 #include "core/html/VoidCallback.h" | 36 #include "core/html/VoidCallback.h" |
| 37 #include "core/platform/AsyncFileSystem.h" | |
| 38 #include "core/platform/FileMetadata.h" | 37 #include "core/platform/FileMetadata.h" |
| 39 #include "modules/filesystem/DOMFilePath.h" | 38 #include "modules/filesystem/DOMFilePath.h" |
| 40 #include "modules/filesystem/DOMFileSystemBase.h" | 39 #include "modules/filesystem/DOMFileSystemBase.h" |
| 41 #include "modules/filesystem/DirectoryEntry.h" | 40 #include "modules/filesystem/DirectoryEntry.h" |
| 42 #include "modules/filesystem/DirectoryReader.h" | 41 #include "modules/filesystem/DirectoryReader.h" |
| 43 #include "modules/filesystem/EntriesCallback.h" | 42 #include "modules/filesystem/EntriesCallback.h" |
| 44 #include "modules/filesystem/Entry.h" | 43 #include "modules/filesystem/Entry.h" |
| 45 #include "modules/filesystem/EntryCallback.h" | 44 #include "modules/filesystem/EntryCallback.h" |
| 46 #include "modules/filesystem/ErrorCallback.h" | 45 #include "modules/filesystem/ErrorCallback.h" |
| 47 #include "modules/filesystem/FileEntry.h" | 46 #include "modules/filesystem/FileEntry.h" |
| 48 #include "modules/filesystem/FileSystemCallback.h" | 47 #include "modules/filesystem/FileSystemCallback.h" |
| 49 #include "modules/filesystem/FileWriterBase.h" | 48 #include "modules/filesystem/FileWriterBase.h" |
| 50 #include "modules/filesystem/FileWriterBaseCallback.h" | 49 #include "modules/filesystem/FileWriterBaseCallback.h" |
| 51 #include "modules/filesystem/Metadata.h" | 50 #include "modules/filesystem/Metadata.h" |
| 52 #include "modules/filesystem/MetadataCallback.h" | 51 #include "modules/filesystem/MetadataCallback.h" |
| 53 #include "public/platform/WebFileWriter.h" | 52 #include "public/platform/WebFileWriter.h" |
| 54 | 53 |
| 55 namespace WebCore { | 54 namespace WebCore { |
| 56 | 55 |
| 57 FileSystemCallbacksBase::FileSystemCallbacksBase(PassRefPtr<ErrorCallback> error
Callback) | 56 FileSystemCallbacksBase::FileSystemCallbacksBase(PassRefPtr<ErrorCallback> error
Callback) |
| 58 : m_errorCallback(errorCallback) | 57 : m_errorCallback(errorCallback) |
| 59 , m_blockUntilCompletion(false) | |
| 60 { | 58 { |
| 61 } | 59 } |
| 62 | 60 |
| 63 FileSystemCallbacksBase::~FileSystemCallbacksBase() | 61 FileSystemCallbacksBase::~FileSystemCallbacksBase() |
| 64 { | 62 { |
| 65 } | 63 } |
| 66 | 64 |
| 67 void FileSystemCallbacksBase::didFail(int code) | 65 void FileSystemCallbacksBase::didFail(int code) |
| 68 { | 66 { |
| 69 if (m_errorCallback) { | 67 if (m_errorCallback) { |
| 70 m_errorCallback->handleEvent(FileError::create(static_cast<FileError::Er
rorCode>(code)).get()); | 68 m_errorCallback->handleEvent(FileError::create(static_cast<FileError::Er
rorCode>(code)).get()); |
| 71 m_errorCallback.clear(); | 69 m_errorCallback.clear(); |
| 72 } | 70 } |
| 73 } | 71 } |
| 74 | 72 |
| 75 // EntryCallbacks ------------------------------------------------------------- | 73 // EntryCallbacks ------------------------------------------------------------- |
| 76 | 74 |
| 77 PassOwnPtr<EntryCallbacks> EntryCallbacks::create(PassRefPtr<EntryCallback> succ
essCallback, PassRefPtr<ErrorCallback> errorCallback, PassRefPtr<DOMFileSystemBa
se> fileSystem, const String& expectedPath, bool isDirectory) | 75 PassOwnPtr<AsyncFileSystemCallbacks> EntryCallbacks::create(PassRefPtr<EntryCall
back> successCallback, PassRefPtr<ErrorCallback> errorCallback, PassRefPtr<DOMFi
leSystemBase> fileSystem, const String& expectedPath, bool isDirectory) |
| 78 { | 76 { |
| 79 return adoptPtr(new EntryCallbacks(successCallback, errorCallback, fileSyste
m, expectedPath, isDirectory)); | 77 return adoptPtr(static_cast<AsyncFileSystemCallbacks*>(new EntryCallbacks(su
ccessCallback, errorCallback, fileSystem, expectedPath, isDirectory))); |
| 80 } | 78 } |
| 81 | 79 |
| 82 EntryCallbacks::EntryCallbacks(PassRefPtr<EntryCallback> successCallback, PassRe
fPtr<ErrorCallback> errorCallback, PassRefPtr<DOMFileSystemBase> fileSystem, con
st String& expectedPath, bool isDirectory) | 80 EntryCallbacks::EntryCallbacks(PassRefPtr<EntryCallback> successCallback, PassRe
fPtr<ErrorCallback> errorCallback, PassRefPtr<DOMFileSystemBase> fileSystem, con
st String& expectedPath, bool isDirectory) |
| 83 : FileSystemCallbacksBase(errorCallback) | 81 : FileSystemCallbacksBase(errorCallback) |
| 84 , m_successCallback(successCallback) | 82 , m_successCallback(successCallback) |
| 85 , m_fileSystem(fileSystem) | 83 , m_fileSystem(fileSystem) |
| 86 , m_expectedPath(expectedPath) | 84 , m_expectedPath(expectedPath) |
| 87 , m_isDirectory(isDirectory) | 85 , m_isDirectory(isDirectory) |
| 88 { | 86 { |
| 89 } | 87 } |
| 90 | 88 |
| 91 void EntryCallbacks::didSucceed() | 89 void EntryCallbacks::didSucceed() |
| 92 { | 90 { |
| 93 if (m_successCallback) { | 91 if (m_successCallback) { |
| 94 if (m_isDirectory) | 92 if (m_isDirectory) |
| 95 m_successCallback->handleEvent(DirectoryEntry::create(m_fileSystem,
m_expectedPath).get()); | 93 m_successCallback->handleEvent(DirectoryEntry::create(m_fileSystem,
m_expectedPath).get()); |
| 96 else | 94 else |
| 97 m_successCallback->handleEvent(FileEntry::create(m_fileSystem, m_exp
ectedPath).get()); | 95 m_successCallback->handleEvent(FileEntry::create(m_fileSystem, m_exp
ectedPath).get()); |
| 98 } | 96 } |
| 99 m_successCallback.clear(); | 97 m_successCallback.clear(); |
| 100 } | 98 } |
| 101 | 99 |
| 102 // EntriesCallbacks ----------------------------------------------------------- | 100 // EntriesCallbacks ----------------------------------------------------------- |
| 103 | 101 |
| 104 PassOwnPtr<EntriesCallbacks> EntriesCallbacks::create(PassRefPtr<EntriesCallback
> successCallback, PassRefPtr<ErrorCallback> errorCallback, PassRefPtr<Directory
ReaderBase> directoryReader, const String& basePath) | 102 PassOwnPtr<AsyncFileSystemCallbacks> EntriesCallbacks::create(PassRefPtr<Entries
Callback> successCallback, PassRefPtr<ErrorCallback> errorCallback, PassRefPtr<D
irectoryReaderBase> directoryReader, const String& basePath) |
| 105 { | 103 { |
| 106 return adoptPtr(new EntriesCallbacks(successCallback, errorCallback, directo
ryReader, basePath)); | 104 return adoptPtr(static_cast<AsyncFileSystemCallbacks*>(new EntriesCallbacks(
successCallback, errorCallback, directoryReader, basePath))); |
| 107 } | 105 } |
| 108 | 106 |
| 109 EntriesCallbacks::EntriesCallbacks(PassRefPtr<EntriesCallback> successCallback,
PassRefPtr<ErrorCallback> errorCallback, PassRefPtr<DirectoryReaderBase> directo
ryReader, const String& basePath) | 107 EntriesCallbacks::EntriesCallbacks(PassRefPtr<EntriesCallback> successCallback,
PassRefPtr<ErrorCallback> errorCallback, PassRefPtr<DirectoryReaderBase> directo
ryReader, const String& basePath) |
| 110 : FileSystemCallbacksBase(errorCallback) | 108 : FileSystemCallbacksBase(errorCallback) |
| 111 , m_successCallback(successCallback) | 109 , m_successCallback(successCallback) |
| 112 , m_directoryReader(directoryReader) | 110 , m_directoryReader(directoryReader) |
| 113 , m_basePath(basePath) | 111 , m_basePath(basePath) |
| 114 { | 112 { |
| 115 ASSERT(m_directoryReader); | 113 ASSERT(m_directoryReader); |
| 116 } | 114 } |
| 117 | 115 |
| 118 void EntriesCallbacks::didReadDirectoryEntry(const String& name, bool isDirector
y) | 116 void EntriesCallbacks::didReadDirectoryEntry(const String& name, bool isDirector
y) |
| 119 { | 117 { |
| 120 if (isDirectory) | 118 if (isDirectory) |
| 121 m_entries.append(DirectoryEntry::create(m_directoryReader->filesystem(),
DOMFilePath::append(m_basePath, name))); | 119 m_entries.append(DirectoryEntry::create(m_directoryReader->filesystem(),
DOMFilePath::append(m_basePath, name))); |
| 122 else | 120 else |
| 123 m_entries.append(FileEntry::create(m_directoryReader->filesystem(), DOMF
ilePath::append(m_basePath, name))); | 121 m_entries.append(FileEntry::create(m_directoryReader->filesystem(), DOMF
ilePath::append(m_basePath, name))); |
| 124 } | 122 } |
| 125 | 123 |
| 126 void EntriesCallbacks::didReadDirectoryEntries(bool hasMore) | 124 void EntriesCallbacks::didReadDirectoryEntries(bool hasMore) |
| 127 { | 125 { |
| 128 m_directoryReader->setHasMoreEntries(hasMore); | 126 m_directoryReader->setHasMoreEntries(hasMore); |
| 129 if (m_successCallback) | 127 if (m_successCallback) |
| 130 m_successCallback->handleEvent(m_entries); | 128 m_successCallback->handleEvent(m_entries); |
| 131 } | 129 } |
| 132 | 130 |
| 133 // FileSystemCallbacks -------------------------------------------------------- | 131 // FileSystemCallbacks -------------------------------------------------------- |
| 134 | 132 |
| 135 PassOwnPtr<FileSystemCallbacks> FileSystemCallbacks::create(PassRefPtr<FileSyste
mCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback, ScriptExecu
tionContext* scriptExecutionContext, FileSystemType type) | 133 PassOwnPtr<AsyncFileSystemCallbacks> FileSystemCallbacks::create(PassRefPtr<File
SystemCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback, Script
ExecutionContext* scriptExecutionContext, FileSystemType type) |
| 136 { | 134 { |
| 137 return adoptPtr(new FileSystemCallbacks(successCallback, errorCallback, scri
ptExecutionContext, type)); | 135 return adoptPtr(static_cast<AsyncFileSystemCallbacks*>(new FileSystemCallbac
ks(successCallback, errorCallback, scriptExecutionContext, type))); |
| 138 } | 136 } |
| 139 | 137 |
| 140 FileSystemCallbacks::FileSystemCallbacks(PassRefPtr<FileSystemCallback> successC
allback, PassRefPtr<ErrorCallback> errorCallback, ScriptExecutionContext* contex
t, FileSystemType type) | 138 FileSystemCallbacks::FileSystemCallbacks(PassRefPtr<FileSystemCallback> successC
allback, PassRefPtr<ErrorCallback> errorCallback, ScriptExecutionContext* contex
t, FileSystemType type) |
| 141 : FileSystemCallbacksBase(errorCallback) | 139 : FileSystemCallbacksBase(errorCallback) |
| 142 , m_successCallback(successCallback) | 140 , m_successCallback(successCallback) |
| 143 , m_scriptExecutionContext(context) | 141 , m_scriptExecutionContext(context) |
| 144 , m_type(type) | 142 , m_type(type) |
| 145 { | 143 { |
| 146 } | 144 } |
| 147 | 145 |
| 148 void FileSystemCallbacks::didOpenFileSystem(const String& name, const KURL& root
URL, PassOwnPtr<AsyncFileSystem> asyncFileSystem) | 146 void FileSystemCallbacks::didOpenFileSystem(const String& name, const KURL& root
URL) |
| 149 { | 147 { |
| 150 if (m_successCallback) { | 148 if (m_successCallback) { |
| 151 ASSERT(asyncFileSystem); | 149 RefPtr<DOMFileSystem> fileSystem = DOMFileSystem::create(m_scriptExecuti
onContext.get(), name, m_type, rootURL); |
| 152 RefPtr<DOMFileSystem> fileSystem = DOMFileSystem::create(m_scriptExecuti
onContext.get(), name, m_type, rootURL, asyncFileSystem); | |
| 153 m_successCallback->handleEvent(fileSystem.get()); | 150 m_successCallback->handleEvent(fileSystem.get()); |
| 154 m_scriptExecutionContext.clear(); | 151 m_scriptExecutionContext.clear(); |
| 155 } | 152 } |
| 156 m_successCallback.clear(); | 153 m_successCallback.clear(); |
| 157 } | 154 } |
| 158 | 155 |
| 159 // ResolveURICallbacks -------------------------------------------------------- | 156 // ResolveURICallbacks -------------------------------------------------------- |
| 160 | 157 |
| 161 namespace { | 158 namespace { |
| 162 | 159 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 188 } | 185 } |
| 189 | 186 |
| 190 RefPtr<EntryCallback> m_successCallback; | 187 RefPtr<EntryCallback> m_successCallback; |
| 191 RefPtr<ErrorCallback> m_errorCallback; | 188 RefPtr<ErrorCallback> m_errorCallback; |
| 192 RefPtr<DirectoryEntry> m_root; | 189 RefPtr<DirectoryEntry> m_root; |
| 193 String m_filePath; | 190 String m_filePath; |
| 194 }; | 191 }; |
| 195 | 192 |
| 196 } // namespace | 193 } // namespace |
| 197 | 194 |
| 198 PassOwnPtr<ResolveURICallbacks> ResolveURICallbacks::create(PassRefPtr<EntryCall
back> successCallback, PassRefPtr<ErrorCallback> errorCallback, ScriptExecutionC
ontext* scriptExecutionContext, FileSystemType type, const String& filePath) | 195 PassOwnPtr<AsyncFileSystemCallbacks> ResolveURICallbacks::create(PassRefPtr<Entr
yCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback, ScriptExecu
tionContext* scriptExecutionContext, FileSystemType type, const String& filePath
) |
| 199 { | 196 { |
| 200 return adoptPtr(new ResolveURICallbacks(successCallback, errorCallback, scri
ptExecutionContext, type, filePath)); | 197 return adoptPtr(static_cast<AsyncFileSystemCallbacks*>(new ResolveURICallbac
ks(successCallback, errorCallback, scriptExecutionContext, type, filePath))); |
| 201 } | 198 } |
| 202 | 199 |
| 203 ResolveURICallbacks::ResolveURICallbacks(PassRefPtr<EntryCallback> successCallba
ck, PassRefPtr<ErrorCallback> errorCallback, ScriptExecutionContext* context, Fi
leSystemType type, const String& filePath) | 200 ResolveURICallbacks::ResolveURICallbacks(PassRefPtr<EntryCallback> successCallba
ck, PassRefPtr<ErrorCallback> errorCallback, ScriptExecutionContext* context, Fi
leSystemType type, const String& filePath) |
| 204 : FileSystemCallbacksBase(errorCallback) | 201 : FileSystemCallbacksBase(errorCallback) |
| 205 , m_successCallback(successCallback) | 202 , m_successCallback(successCallback) |
| 206 , m_scriptExecutionContext(context) | 203 , m_scriptExecutionContext(context) |
| 207 , m_type(type) | 204 , m_type(type) |
| 208 , m_filePath(filePath) | 205 , m_filePath(filePath) |
| 209 { | 206 { |
| 210 } | 207 } |
| 211 | 208 |
| 212 void ResolveURICallbacks::didOpenFileSystem(const String& name, const KURL& root
URL, PassOwnPtr<AsyncFileSystem> asyncFileSystem) | 209 void ResolveURICallbacks::didOpenFileSystem(const String& name, const KURL& root
URL) |
| 213 { | 210 { |
| 214 ASSERT(asyncFileSystem); | 211 RefPtr<DirectoryEntry> root = DOMFileSystem::create(m_scriptExecutionContext
.get(), name, m_type, rootURL)->root(); |
| 215 RefPtr<DirectoryEntry> root = DOMFileSystem::create(m_scriptExecutionContext
.get(), name, m_type, rootURL, asyncFileSystem)->root(); | |
| 216 root->getDirectory(m_filePath, Dictionary(), m_successCallback, ErrorCallbac
kWrapper::create(m_successCallback, m_errorCallback, root, m_filePath)); | 212 root->getDirectory(m_filePath, Dictionary(), m_successCallback, ErrorCallbac
kWrapper::create(m_successCallback, m_errorCallback, root, m_filePath)); |
| 217 } | 213 } |
| 218 | 214 |
| 219 // MetadataCallbacks ---------------------------------------------------------- | 215 // MetadataCallbacks ---------------------------------------------------------- |
| 220 | 216 |
| 221 PassOwnPtr<MetadataCallbacks> MetadataCallbacks::create(PassRefPtr<MetadataCallb
ack> successCallback, PassRefPtr<ErrorCallback> errorCallback) | 217 PassOwnPtr<AsyncFileSystemCallbacks> MetadataCallbacks::create(PassRefPtr<Metada
taCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback) |
| 222 { | 218 { |
| 223 return adoptPtr(new MetadataCallbacks(successCallback, errorCallback)); | 219 return adoptPtr(static_cast<AsyncFileSystemCallbacks*>(new MetadataCallbacks
(successCallback, errorCallback))); |
| 224 } | 220 } |
| 225 | 221 |
| 226 MetadataCallbacks::MetadataCallbacks(PassRefPtr<MetadataCallback> successCallbac
k, PassRefPtr<ErrorCallback> errorCallback) | 222 MetadataCallbacks::MetadataCallbacks(PassRefPtr<MetadataCallback> successCallbac
k, PassRefPtr<ErrorCallback> errorCallback) |
| 227 : FileSystemCallbacksBase(errorCallback) | 223 : FileSystemCallbacksBase(errorCallback) |
| 228 , m_successCallback(successCallback) | 224 , m_successCallback(successCallback) |
| 229 { | 225 { |
| 230 } | 226 } |
| 231 | 227 |
| 232 void MetadataCallbacks::didReadMetadata(const FileMetadata& metadata) | 228 void MetadataCallbacks::didReadMetadata(const FileMetadata& metadata) |
| 233 { | 229 { |
| 234 if (m_successCallback) | 230 if (m_successCallback) |
| 235 m_successCallback->handleEvent(Metadata::create(metadata).get()); | 231 m_successCallback->handleEvent(Metadata::create(metadata).get()); |
| 236 m_successCallback.clear(); | 232 m_successCallback.clear(); |
| 237 } | 233 } |
| 238 | 234 |
| 239 // FileWriterBaseCallbacks -----------------------------------------------------
----- | 235 // FileWriterBaseCallbacks -----------------------------------------------------
----- |
| 240 | 236 |
| 241 PassOwnPtr<FileWriterBaseCallbacks> FileWriterBaseCallbacks::create(PassRefPtr<F
ileWriterBase> fileWriter, PassRefPtr<FileWriterBaseCallback> successCallback, P
assRefPtr<ErrorCallback> errorCallback) | 237 PassOwnPtr<AsyncFileSystemCallbacks> FileWriterBaseCallbacks::create(PassRefPtr<
FileWriterBase> fileWriter, PassRefPtr<FileWriterBaseCallback> successCallback,
PassRefPtr<ErrorCallback> errorCallback) |
| 242 { | 238 { |
| 243 return adoptPtr(new FileWriterBaseCallbacks(fileWriter, successCallback, err
orCallback)); | 239 return adoptPtr(static_cast<AsyncFileSystemCallbacks*>(new FileWriterBaseCal
lbacks(fileWriter, successCallback, errorCallback))); |
| 244 } | 240 } |
| 245 | 241 |
| 246 FileWriterBaseCallbacks::FileWriterBaseCallbacks(PassRefPtr<FileWriterBase> file
Writer, PassRefPtr<FileWriterBaseCallback> successCallback, PassRefPtr<ErrorCall
back> errorCallback) | 242 FileWriterBaseCallbacks::FileWriterBaseCallbacks(PassRefPtr<FileWriterBase> file
Writer, PassRefPtr<FileWriterBaseCallback> successCallback, PassRefPtr<ErrorCall
back> errorCallback) |
| 247 : FileSystemCallbacksBase(errorCallback) | 243 : FileSystemCallbacksBase(errorCallback) |
| 248 , m_fileWriter(fileWriter) | 244 , m_fileWriter(fileWriter) |
| 249 , m_successCallback(successCallback) | 245 , m_successCallback(successCallback) |
| 250 { | 246 { |
| 251 } | 247 } |
| 252 | 248 |
| 253 void FileWriterBaseCallbacks::didCreateFileWriter(PassOwnPtr<WebKit::WebFileWrit
er> fileWriter, long long length) | 249 void FileWriterBaseCallbacks::didCreateFileWriter(PassOwnPtr<WebKit::WebFileWrit
er> fileWriter, long long length) |
| 254 { | 250 { |
| 255 m_fileWriter->initialize(fileWriter, length); | 251 m_fileWriter->initialize(fileWriter, length); |
| 256 if (m_successCallback) | 252 if (m_successCallback) |
| 257 m_successCallback->handleEvent(m_fileWriter.release().get()); | 253 m_successCallback->handleEvent(m_fileWriter.release().get()); |
| 258 m_successCallback.clear(); | 254 m_successCallback.clear(); |
| 259 } | 255 } |
| 260 | 256 |
| 261 // VoidCallbacks -------------------------------------------------------------- | 257 // VoidCallbacks -------------------------------------------------------------- |
| 262 | 258 |
| 263 PassOwnPtr<VoidCallbacks> VoidCallbacks::create(PassRefPtr<VoidCallback> success
Callback, PassRefPtr<ErrorCallback> errorCallback) | 259 PassOwnPtr<AsyncFileSystemCallbacks> VoidCallbacks::create(PassRefPtr<VoidCallba
ck> successCallback, PassRefPtr<ErrorCallback> errorCallback) |
| 264 { | 260 { |
| 265 return adoptPtr(new VoidCallbacks(successCallback, errorCallback)); | 261 return adoptPtr(static_cast<AsyncFileSystemCallbacks*>(new VoidCallbacks(suc
cessCallback, errorCallback))); |
| 266 } | 262 } |
| 267 | 263 |
| 268 VoidCallbacks::VoidCallbacks(PassRefPtr<VoidCallback> successCallback, PassRefPt
r<ErrorCallback> errorCallback) | 264 VoidCallbacks::VoidCallbacks(PassRefPtr<VoidCallback> successCallback, PassRefPt
r<ErrorCallback> errorCallback) |
| 269 : FileSystemCallbacksBase(errorCallback) | 265 : FileSystemCallbacksBase(errorCallback) |
| 270 , m_successCallback(successCallback) | 266 , m_successCallback(successCallback) |
| 271 { | 267 { |
| 272 } | 268 } |
| 273 | 269 |
| 274 void VoidCallbacks::didSucceed() | 270 void VoidCallbacks::didSucceed() |
| 275 { | 271 { |
| 276 if (m_successCallback) | 272 if (m_successCallback) |
| 277 m_successCallback->handleEvent(); | 273 m_successCallback->handleEvent(); |
| 278 m_successCallback.clear(); | 274 m_successCallback.clear(); |
| 279 } | 275 } |
| 280 | 276 |
| 281 } // namespace | 277 } // namespace |
| OLD | NEW |