void removeAllDOMObjectsInCurrentThread() { DOMDataStore& store = getDOMDataStore(); v8::HandleScope scope; // The DOM objects with the following types only exist on the main thread. if (WTF::isMainThread()) { // Remove all DOM nodes. DOMData::removeObjectsFromWrapperMap<Node>(&store, store.domNodeMap()); #if ENABLE(SVG) // Remove all SVG element instances in the wrapper map. DOMData::removeObjectsFromWrapperMap<SVGElementInstance>(&store, store.domSvgElementInstanceMap()); #endif } // Remove all DOM objects in the wrapper map. DOMData::removeObjectsFromWrapperMap<void>(&store, store.domObjectMap()); // Remove all active DOM objects in the wrapper map. DOMData::removeObjectsFromWrapperMap<void>(&store, store.activeDomObjectMap()); }
DOMWrapperMap<SVGElementInstance>& getDOMSVGElementInstanceMap() { return getDOMDataStore().domSvgElementInstanceMap(); }
DOMWrapperMap<void>& getActiveDOMObjectMap() { return getDOMDataStore().activeDomObjectMap(); }
DOMWrapperMap<void>& getDOMObjectMap() { return getDOMDataStore().domObjectMap(); }
DOMNodeMapping& getDOMNodeMap() { return getDOMDataStore().domNodeMap(); }
// Map of SVG objects with contexts to V8 objects DOMWrapperMap<void>& getDOMSVGObjectWithContextMap() { return getDOMDataStore().domSvgObjectWithContextMap(); }