Changeset 103429 in webkit
- Timestamp:
- Dec 21, 2011 12:27:37 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
- Property svn:executable deleted
r103427 r103429 1 2011-12-20 Dmitry Lomov <dslomov@google.com> 2 3 [Chromium] DatabaseTrackerChromium: iterating DatabaseSet races with Database disposal on worker thread. 4 https://bugs.webkit.org/show_bug.cgi?id=74554 5 6 Reviewed by David Levin. 7 8 * platform/chromium/test_expectations.txt: 9 1 10 2011-12-21 Nikolas Zimmermann <nzimmermann@rim.com> 2 11 -
trunk/LayoutTests/platform/chromium/test_expectations.txt
r103398 r103429 182 182 BUGWK74459 SKIP : fast/workers/worker-multi-port.html = CRASH 183 183 184 BUGWK74554 SKIP : fast/workers/storage = CRASH TIMEOUT185 186 184 BUGWK74449 SKIP : fast/workers/dedicated-worker-lifecycle.html = TIMEOUT 187 185 BUGWK74449 SKIP : fast/workers/worker-close-more.html = TIMEOUT … … 190 188 BUGWK74466 : fast/workers/worker-script-error.html = PASS TIMEOUT FAIL 191 189 190 // Tests timing out because layoutTestController.workerThreadCount is not implemented in DRT 192 191 BUGWK74653 SKIP : http/tests/xmlhttprequest/workers/abort-exception-assert.html = TIMEOUT 192 BUGWK74653 SKIP : http/tests/workers/interrupt-database-sync-open-crash.html = TIMEOUT 193 BUGWK74653 SKIP : fast/workers/storage/interrupt-database.html = TIMEOUT 193 194 194 195 BUGWK71968 : fast/files/workers/worker-apply-blob-url-to-xhr.html = TEXT -
trunk/Source/WebCore/ChangeLog
r103428 r103429 1 2011-12-20 Dmitry Lomov <dslomov@google.com> 2 3 [Chromium] DatabaseTrackerChromium: iterating DatabaseSet races with Database disposal on worker thread 4 https://bugs.webkit.org/show_bug.cgi?id=74554 5 6 Reviewed by David Levin. 7 8 Covered by existing tests in fast/workers/storage. 9 10 * storage/chromium/DatabaseTrackerChromium.cpp: 11 (WebCore::NotifyDatabaseObserverOnCloseTask::create): 12 (WebCore::NotifyDatabaseObserverOnCloseTask::performTask): 13 (WebCore::NotifyDatabaseObserverOnCloseTask::isCleanupTask): 14 (WebCore::NotifyDatabaseObserverOnCloseTask::NotifyDatabaseObserverOnCloseTask): 15 (WebCore::DatabaseTracker::removeOpenDatabase): 16 1 17 2011-12-21 Eric Carlson <eric.carlson@apple.com> 2 18 -
trunk/Source/WebCore/storage/AbstractDatabase.cpp
r101492 r103429 224 224 AbstractDatabase::~AbstractDatabase() 225 225 { 226 ASSERT(!m_opened); 226 227 } 227 228 -
trunk/Source/WebCore/storage/chromium/DatabaseTrackerChromium.cpp
r97546 r103429 98 98 } 99 99 100 class TrackerRemoveOpenDatabaseTask : public ScriptExecutionContext::Task {100 class NotifyDatabaseObserverOnCloseTask : public ScriptExecutionContext::Task { 101 101 public: 102 static PassOwnPtr< TrackerRemoveOpenDatabaseTask> create(PassRefPtr<AbstractDatabase> database)103 { 104 return adoptPtr(new TrackerRemoveOpenDatabaseTask(database));102 static PassOwnPtr<NotifyDatabaseObserverOnCloseTask> create(PassRefPtr<AbstractDatabase> database) 103 { 104 return adoptPtr(new NotifyDatabaseObserverOnCloseTask(database)); 105 105 } 106 106 107 107 virtual void performTask(ScriptExecutionContext* context) 108 108 { 109 DatabaseTracker::tracker().removeOpenDatabase(m_database.get()); 109 DatabaseObserver::databaseClosed(m_database.get()); 110 } 111 112 virtual bool isCleanupTask() const 113 { 114 return true; 110 115 } 111 116 112 117 private: 113 TrackerRemoveOpenDatabaseTask(PassRefPtr<AbstractDatabase> database)118 NotifyDatabaseObserverOnCloseTask(PassRefPtr<AbstractDatabase> database) 114 119 : m_database(database) 115 120 { … … 121 126 void DatabaseTracker::removeOpenDatabase(AbstractDatabase* database) 122 127 { 123 if (!database->scriptExecutionContext()->isContextThread()) {124 database->scriptExecutionContext()->postTask(TrackerRemoveOpenDatabaseTask::create(database));125 return;126 }127 128 128 String originIdentifier = database->securityOrigin()->databaseIdentifier(); 129 129 MutexLocker openDatabaseMapLock(m_openDatabaseMapGuard); … … 152 152 } 153 153 154 DatabaseObserver::databaseClosed(database); 154 if (!database->scriptExecutionContext()->isContextThread()) 155 database->scriptExecutionContext()->postTask(NotifyDatabaseObserverOnCloseTask::create(database)); 156 else 157 DatabaseObserver::databaseClosed(database); 155 158 } 156 159
Note: See TracChangeset
for help on using the changeset viewer.