InjectedBundleScriptWorld::InjectedBundleScriptWorld(DOMWrapperWorld& world, const String& name) : m_world(world) , m_name(name) { ASSERT(!allWorlds().contains(m_world.ptr())); allWorlds().add(m_world.ptr(), this); }
PassRefPtr<InjectedBundleScriptWorld> InjectedBundleScriptWorld::getOrCreate(DOMWrapperWorld& world) { if (&world == &mainThreadNormalWorld()) return normalWorld(); if (InjectedBundleScriptWorld* existingWorld = allWorlds().get(&world)) return existingWorld; return adoptRef(new InjectedBundleScriptWorld(world, uniqueWorldName())); }
InjectedBundleScriptWorld::~InjectedBundleScriptWorld() { ASSERT(allWorlds().contains(m_world.ptr())); allWorlds().remove(m_world.ptr()); }
InjectedBundleScriptWorld::InjectedBundleScriptWorld(PassRefPtr<DOMWrapperWorld> world) : m_world(world) { ASSERT(!allWorlds().contains(m_world.get())); allWorlds().add(m_world.get(), this); }