Summary: | Use HashMap<OwnPtr> for UserScriptMap and UserStyleSheetMap | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Caio Marcelo de Oliveira Filho <cmarcelo> | ||||||
Component: | Page Loading | Assignee: | Caio Marcelo de Oliveira Filho <cmarcelo> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | darin, kling | ||||||
Priority: | P2 | ||||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Attachments: |
|
Description
Caio Marcelo de Oliveira Filho
2011-12-28 12:46:46 PST
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> |