PassRefPtr<WebPageGroup> WebPageGroup::create(const String& identifier, bool visibleToInjectedBundle, bool visibleToHistoryClient) { RefPtr<WebPageGroup> pageGroup = adoptRef(new WebPageGroup(identifier, visibleToInjectedBundle, visibleToHistoryClient)); webPageGroupMap().set(pageGroup->pageGroupID(), pageGroup.get()); return pageGroup.release(); }
WebPageGroup::WebPageGroup(const String& identifier, bool visibleToInjectedBundle, bool visibleToHistoryClient) { m_data.pageGroupID = generatePageGroupID(); if (!identifier.isEmpty()) m_data.identifer = identifier; else m_data.identifer = m_data.identifer = makeString("__uniquePageGroupID-", String::number(m_data.pageGroupID)); m_data.visibleToInjectedBundle = visibleToInjectedBundle; m_data.visibleToHistoryClient = visibleToHistoryClient; webPageGroupMap().set(m_data.pageGroupID, this); }
WebPageGroup::~WebPageGroup() { webPageGroupMap().remove(pageGroupID()); }
// FIXME: Why does the WebPreferences object here use ".WebKit2" instead of "WebKit2." which all the other constructors use. // If it turns out that it's wrong, we can change it to to "WebKit2." and get rid of the globalDebugKeyPrefix from WebPreferences. WebPageGroup::WebPageGroup(const String& identifier, bool visibleToInjectedBundle, bool visibleToHistoryClient) : m_data(pageGroupData(identifier, visibleToInjectedBundle, visibleToHistoryClient)) , m_preferences(WebPreferences::createWithLegacyDefaults(m_data.identifier, ".WebKit2", "WebKit2.")) { webPageGroupMap().set(m_data.pageGroupID, this); }
WebPageGroup* WebPageGroup::get(uint64_t pageGroupID) { return webPageGroupMap().get(pageGroupID); }
WebPageGroup::~WebPageGroup() { if (m_preferences) m_preferences->removePageGroup(this); webPageGroupMap().remove(pageGroupID()); }