Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(253)

Unified Diff: Source/bindings/v8/DOMWrapperWorld.cpp

Issue 189513012: DOMDataStore should be cleared when shutting down worker threads (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/bindings/v8/DOMWrapperWorld.cpp
diff --git a/Source/bindings/v8/DOMWrapperWorld.cpp b/Source/bindings/v8/DOMWrapperWorld.cpp
index 30f1911f4df2e4cdc7c332524212fe9c87e0ba68..53fb4caf17dabc62f48cd890f0cb6e9c2d13ab63 100644
--- a/Source/bindings/v8/DOMWrapperWorld.cpp
+++ b/Source/bindings/v8/DOMWrapperWorld.cpp
@@ -83,7 +83,7 @@ static WorldMap& isolatedWorldMap()
return map;
}
-void DOMWrapperWorld::allWorldsInMainThread(Vector<RefPtr<DOMWrapperWorld> >& worlds)
+void DOMWrapperWorld::allWorldsInMainThread(Vector<DOMWrapperWorld*>& worlds)
{
ASSERT(isMainThread());
worlds.append(mainWorld());
@@ -96,6 +96,8 @@ DOMWrapperWorld::~DOMWrapperWorld()
{
ASSERT(!isMainWorld());
+ dispose();
+
if (!isIsolatedWorld())
return;
@@ -112,6 +114,11 @@ DOMWrapperWorld::~DOMWrapperWorld()
ASSERT(map.size() == isolatedWorldCount);
}
+void DOMWrapperWorld::dispose()
+{
+ m_domDataStore.clear();
+}
+
#ifndef NDEBUG
static bool isIsolatedWorldId(int worldId)
{

Powered by Google App Engine
This is Rietveld 408576698