Use HashMap<OwnPtr> for UserScriptMap and UserStyleSheetMap
Created attachment 120692 [details] Patch
Comment on attachment 120692 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=120692&action=review Great to do this! A couple things to fix. > Source/WebCore/page/PageGroup.cpp:288 > - UserScriptVector*& scriptsInWorld = m_userScripts->add(world, 0).first->second; > - if (!scriptsInWorld) > + UserScriptVector* scriptsInWorld = m_userScripts->get(world); > + if (!scriptsInWorld) { > scriptsInWorld = new UserScriptVector; > + m_userScripts->add(world, adoptPtr(scriptsInWorld)); > + } This adds unnecessary complexity and additional hash table lookups. You can make a smaller change like this: OwnPtr<UserScriptVector>& scriptsInWorld = m_userScripts->add(world, nullptr).first->second; if (!scriptsInWorld) scriptsInWorld = adoptPtr(new UserScriptVector); > Source/WebCore/page/PageGroup.cpp:307 > - UserStyleSheetVector*& styleSheetsInWorld = m_userStyleSheets->add(world, 0).first->second; > - if (!styleSheetsInWorld) > + UserStyleSheetVector* styleSheetsInWorld = m_userStyleSheets->get(world); > + if (!styleSheetsInWorld) { > styleSheetsInWorld = new UserStyleSheetVector; > + m_userStyleSheets->add(world, adoptPtr(styleSheetsInWorld)); > + } Same thing here. Just change the type to OwnPtr. > Source/WebCore/page/PageGroup.cpp:397 > + if (m_userScripts) > m_userScripts.clear(); No need for the if here. Itβs fine to just unconditionally call clear.
Created attachment 120695 [details] Patch
Committed r103793: <http://trac.webkit.org/changeset/103793>