| 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)
|
| {
|
|
|