Changeset 148425 in webkit
- Timestamp:
- Apr 15, 2013 3:11:36 AM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r148423 r148425 1 2013-04-15 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [BlackBerry] Filesystem callback notifyCreateSnapshotFileAndReadMetadata can be called on the wring thread 4 https://bugs.webkit.org/show_bug.cgi?id=114610 5 6 Reviewed by Xan Lopez. 7 8 Override notifyCreateSnapshotFileAndReadMetadata to make sure the 9 callback is called on the right thread. 10 11 Fixes a crash in several fast/filesystem test in debug builds. 12 13 * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp: 14 (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata): 15 (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadataOnWorkerThread): 16 * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h: 17 1 18 2013-04-15 Arvid Nilsson <anilsson@rim.com> 2 19 -
trunk/Source/WebCore/platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp
r148242 r148425 131 131 } 132 132 133 void WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata(const BlackBerry::Platform::WebFileInfo& fileInfo) 134 { 135 m_mutex.lock(); 136 if (!m_context) { 137 m_mutex.unlock(); 138 PlatformAsyncFileSystemCallbacks::deleteMe(); 139 return; 140 } 141 142 postTaskToWorkerThread(createCallbackTask(¬ifyCreateSnapshotFileAndReadMetadataOnWorkerThread, this, fileInfo)); 143 m_mutex.unlock(); 144 } 145 133 146 void WorkerPlatformAsyncFileSystemCallbacks::notifyReadDirectory(const std::vector<BlackBerry::Platform::WebFileSystemEntry>& entries, bool hasMore) 134 147 { … … 201 214 } 202 215 216 void WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadataOnWorkerThread(ScriptExecutionContext*, WorkerPlatformAsyncFileSystemCallbacks* callbacks, const BlackBerry::Platform::WebFileInfo& fileInfo) 217 { 218 callbacks->PlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata(fileInfo); 219 } 220 203 221 void WorkerPlatformAsyncFileSystemCallbacks::notifyReadDirectoryEntryOnWorkerThread(ScriptExecutionContext*, WorkerPlatformAsyncFileSystemCallbacks* callbacks, const std::vector<BlackBerry::Platform::WebFileSystemEntry>& entries, bool hasMore) 204 222 { -
trunk/Source/WebCore/platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h
r148242 r148425 85 85 virtual void notifyFail(BlackBerry::Platform::WebFileError); 86 86 virtual void notifyReadMetadata(const BlackBerry::Platform::WebFileInfo&); 87 virtual void notifyCreateSnapshotFileAndReadMetadata(const BlackBerry::Platform::WebFileInfo&); 87 88 virtual void notifyReadDirectory(const std::vector<BlackBerry::Platform::WebFileSystemEntry>& entries, bool hasMore); 88 89 virtual void notifyCreateFileWriter(BlackBerry::Platform::WebFileWriter* platformWriter, long long length); … … 98 99 static void notifyFailOnWorkerThread(ScriptExecutionContext*, WorkerPlatformAsyncFileSystemCallbacks*, BlackBerry::Platform::WebFileError); 99 100 static void notifyReadMetadataOnWorkerThread(ScriptExecutionContext*, WorkerPlatformAsyncFileSystemCallbacks*, const BlackBerry::Platform::WebFileInfo&); 101 static void notifyCreateSnapshotFileAndReadMetadataOnWorkerThread(ScriptExecutionContext*, WorkerPlatformAsyncFileSystemCallbacks*, const BlackBerry::Platform::WebFileInfo&); 100 102 static void notifyReadDirectoryEntryOnWorkerThread(ScriptExecutionContext*, WorkerPlatformAsyncFileSystemCallbacks*, const std::vector<BlackBerry::Platform::WebFileSystemEntry>& entries, bool hasMore); 101 103 static void notifyCreateFileWriterOnWorkerThread(ScriptExecutionContext*, WorkerPlatformAsyncFileSystemCallbacks*, BlackBerry::Platform::WebFileWriter* platformWriter, long long length);
Note: See TracChangeset
for help on using the changeset viewer.