void markDOMNodesForDocument(MarkStack& markStack, Document* document) { JSWrapperCacheMap& wrapperCacheMap = document->wrapperCacheMap(); for (JSWrapperCacheMap::iterator wrappersIter = wrapperCacheMap.begin(); wrappersIter != wrapperCacheMap.end(); ++wrappersIter) { DOMWrapperWorld* world = wrappersIter->first; JSWrapperCache* nodeDict = wrappersIter->second; JSWrapperCache::iterator nodeEnd = nodeDict->end(); for (JSWrapperCache::iterator nodeIt = nodeDict->begin(); nodeIt != nodeEnd; ++nodeIt) { if (isObservableThroughDOM(nodeIt.get().second, world)) markStack.deprecatedAppend(nodeIt.getSlot().second); } } }
void markDOMNodesForDocument(MarkStack& markStack, Document* document) { JSWrapperCacheMap& wrapperCacheMap = document->wrapperCacheMap(); for (JSWrapperCacheMap::iterator wrappersIter = wrapperCacheMap.begin(); wrappersIter != wrapperCacheMap.end(); ++wrappersIter) { DOMWrapperWorld* world = wrappersIter->first; JSWrapperCache* nodeDict = wrappersIter->second; JSWrapperCache::iterator nodeEnd = nodeDict->uncheckedEnd(); for (JSWrapperCache::iterator nodeIt = nodeDict->uncheckedBegin(); nodeIt != nodeEnd; ++nodeIt) { DeprecatedPtr<JSNode>& jsNode = nodeIt->second; if (isObservableThroughDOM(jsNode.get(), world)) markStack.append(&jsNode); } } }
static void removeWrappers(const JSWrapperCache& wrappers) { for (JSWrapperCache::const_iterator it = wrappers.begin(); it != wrappers.end(); ++it) removeWrapper(it->second); }