Title: [208908] trunk/Source/WebCore
Revision
208908
Author
cdu...@apple.com
Date
2016-11-18 16:38:43 -0800 (Fri, 18 Nov 2016)

Log Message

Assertion failures in ActiveDOMObject::~ActiveDOMObject under Database destructor
https://bugs.webkit.org/show_bug.cgi?id=164955
<rdar://problem/29336715>

Reviewed by Brady Eidson.

Make sure the Database's DatabaseContext object is destroyed on the context
thread given that DatabaseContext is an ActiveDOMObject and there is an
assertion in the ActiveDOMObject destructor that it should be destroyed on
on the context thread.

No new tests, already covered by existing tests.

* Modules/webdatabase/Database.cpp:
(WebCore::Database::~Database):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (208907 => 208908)


--- trunk/Source/WebCore/ChangeLog	2016-11-19 00:28:32 UTC (rev 208907)
+++ trunk/Source/WebCore/ChangeLog	2016-11-19 00:38:43 UTC (rev 208908)
@@ -1,3 +1,21 @@
+2016-11-18  Chris Dumez  <cdu...@apple.com>
+
+        Assertion failures in ActiveDOMObject::~ActiveDOMObject under Database destructor
+        https://bugs.webkit.org/show_bug.cgi?id=164955
+        <rdar://problem/29336715>
+
+        Reviewed by Brady Eidson.
+
+        Make sure the Database's DatabaseContext object is destroyed on the context
+        thread given that DatabaseContext is an ActiveDOMObject and there is an
+        assertion in the ActiveDOMObject destructor that it should be destroyed on
+        on the context thread.
+
+        No new tests, already covered by existing tests.
+
+        * Modules/webdatabase/Database.cpp:
+        (WebCore::Database::~Database):
+
 2016-11-18  Enrica Casucci  <enr...@apple.com>
 
         Refactor drag and drop for WebKit2 to encode DragData message exchange.

Modified: trunk/Source/WebCore/Modules/webdatabase/Database.cpp (208907 => 208908)


--- trunk/Source/WebCore/Modules/webdatabase/Database.cpp	2016-11-19 00:28:32 UTC (rev 208907)
+++ trunk/Source/WebCore/Modules/webdatabase/Database.cpp	2016-11-19 00:38:43 UTC (rev 208908)
@@ -231,7 +231,7 @@
     if (!m_scriptExecutionContext->isContextThread()) {
         auto passedContext = WTFMove(m_scriptExecutionContext);
         auto& contextRef = passedContext.get();
-        contextRef.postTask({ScriptExecutionContext::Task::CleanupTask, [passedContext = WTFMove(passedContext)] (ScriptExecutionContext& context) {
+        contextRef.postTask({ScriptExecutionContext::Task::CleanupTask, [passedContext = WTFMove(passedContext), databaseContext = WTFMove(m_databaseContext)] (ScriptExecutionContext& context) {
             ASSERT_UNUSED(context, &context == passedContext.ptr());
         }});
     }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to