Changeset 80313 in webkit
- Timestamp:
- Mar 3, 2011 8:25:39 PM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r80310 r80313 1 2011-03-03 Adam Klein <adamk@chromium.org> 2 3 Reviewed by David Levin. 4 5 [fileapi] Tighten up ResolveURICallbacks 6 https://bugs.webkit.org/show_bug.cgi?id=55638 7 8 Two changes: 9 - Retry only on TYPE_MISMATCH_ERR now that Chromium 10 properly sets that error code. 11 - Call DirectoryEntry instead of DOMFileSystem methods. 12 13 No change in behavior, so no new tests. 14 15 * fileapi/FileSystemCallbacks.cpp: 16 (WebCore::ResolveURICallbacks::didOpenFileSystem): 17 1 18 2011-03-03 Anders Carlsson <andersca@apple.com> 2 19 -
trunk/Source/WebCore/fileapi/FileSystemCallbacks.cpp
r79917 r80313 199 199 class ErrorCallbackWrapper : public ErrorCallback { 200 200 public: 201 static PassRefPtr<ErrorCallbackWrapper> create(PassRefPtr< DOMFileSystem> fileSystem, PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback, const String& filePath)201 static PassRefPtr<ErrorCallbackWrapper> create(PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback, PassRefPtr<DirectoryEntry> root, const String& filePath) 202 202 { 203 return adoptRef(new ErrorCallbackWrapper( fileSystem, successCallback, errorCallback, filePath));203 return adoptRef(new ErrorCallbackWrapper(successCallback, errorCallback, root, filePath)); 204 204 } 205 205 … … 207 207 { 208 208 ASSERT(error); 209 // FIXME: Only check for TYPE_MISMATCH_ERR once Chromium is fixed to return that as required by the spec. 210 if (error->code() == FileError::TYPE_MISMATCH_ERR || error->code() == FileError::INVALID_STATE_ERR) 211 m_fileSystem->getFile(m_fileSystem->root().get(), m_filePath, 0, m_successCallback, m_errorCallback); 209 if (error->code() == FileError::TYPE_MISMATCH_ERR) 210 m_root->getFile(m_filePath, 0, m_successCallback, m_errorCallback); 212 211 else if (m_errorCallback) 213 212 m_errorCallback->handleEvent(error); … … 216 215 217 216 private: 218 ErrorCallbackWrapper(PassRefPtr<DOMFileSystem> fileSystem, PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback, const String& filePath) 219 : m_fileSystem(fileSystem) 220 , m_successCallback(successCallback) 217 ErrorCallbackWrapper(PassRefPtr<EntryCallback> successCallback, PassRefPtr<ErrorCallback> errorCallback, PassRefPtr<DirectoryEntry> root, const String& filePath) 218 : m_successCallback(successCallback) 221 219 , m_errorCallback(errorCallback) 220 , m_root(root) 222 221 , m_filePath(filePath) 223 222 { 224 }225 226 RefPtr<DOMFileSystem> m_fileSystem; 223 ASSERT(m_root); 224 } 225 227 226 RefPtr<EntryCallback> m_successCallback; 228 227 RefPtr<ErrorCallback> m_errorCallback; 228 RefPtr<DirectoryEntry> m_root; 229 229 String m_filePath; 230 230 }; … … 248 248 { 249 249 ASSERT(asyncFileSystem); 250 RefPtr<D OMFileSystem> fileSystem = DOMFileSystem::create(m_scriptExecutionContext.get(), name, asyncFileSystem.leakPtr());251 fileSystem->getDirectory(fileSystem->root().get(), m_filePath, 0, m_successCallback, ErrorCallbackWrapper::create(fileSystem, m_successCallback, m_errorCallback, m_filePath));250 RefPtr<DirectoryEntry> root = DOMFileSystem::create(m_scriptExecutionContext.get(), name, asyncFileSystem.leakPtr())->root(); 251 root->getDirectory(m_filePath, 0, m_successCallback, ErrorCallbackWrapper::create(m_successCallback, m_errorCallback, root, m_filePath)); 252 252 } 253 253
Note: See TracChangeset
for help on using the changeset viewer.