RESOLVED FIXED 75323
Use HashMap<OwnPtr> for UserScriptMap and UserStyleSheetMap
https://bugs.webkit.org/show_bug.cgi?id=75323
Summary Use HashMap<OwnPtr> for UserScriptMap and UserStyleSheetMap
Caio Marcelo de Oliveira Filho
Reported 2011-12-28 12:46:46 PST
Use HashMap<OwnPtr> for UserScriptMap and UserStyleSheetMap
Attachments
Patch (7.30 KB, patch)
2011-12-28 12:51 PST, Caio Marcelo de Oliveira Filho
no flags
Patch (7.29 KB, patch)
2011-12-28 13:11 PST, Caio Marcelo de Oliveira Filho
darin: review+
Caio Marcelo de Oliveira Filho
Comment 1 2011-12-28 12:51:26 PST
Darin Adler
Comment 2 2011-12-28 12:56:59 PST
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.
Caio Marcelo de Oliveira Filho
Comment 3 2011-12-28 13:11:33 PST
Caio Marcelo de Oliveira Filho
Comment 4 2011-12-29 02:50:54 PST
Note You need to log in before you can comment on or make changes to this bug.