Changeset 63243 in webkit
- Timestamp:
- Jul 13, 2010 1:31:33 PM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r63239 r63243 1 2010-07-13 Aaron Boodman <aa@chromium.org> 2 3 Reviewed by Timothy Hatcher. 4 5 Don't reset per-document user style caches when user styles are updated in 6 Chromium. 7 8 https://bugs.webkit.org/show_bug.cgi?id=42003 9 10 * page/PageGroup.cpp: 11 (WebCore::PageGroup::addUserStyleSheetToWorld): 12 (WebCore::PageGroup::removeUserStyleSheetFromWorld): 13 (WebCore::PageGroup::removeUserStyleSheetsFromWorld): 14 (WebCore::PageGroup::removeAllUserContent): 15 (WebCore::PageGroup::resetUserStyleCacheInAllFrames): 16 * page/PageGroup.h: 17 1 18 2010-07-13 Eric Carlson <eric.carlson@apple.com> 2 19 -
trunk/WebCore/page/PageGroup.cpp
r62876 r63243 243 243 styleSheetsInWorld->append(userStyleSheet.release()); 244 244 245 // Clear our cached sheets and have them just reparse. 246 HashSet<Page*>::const_iterator end = m_pages.end(); 247 for (HashSet<Page*>::const_iterator it = m_pages.begin(); it != end; ++it) { 248 for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree()->traverseNext()) 249 frame->document()->clearPageGroupUserSheets(); 250 } 245 resetUserStyleCacheInAllFrames(); 251 246 } 252 247 … … 302 297 m_userStyleSheets->remove(it); 303 298 } 304 299 300 resetUserStyleCacheInAllFrames(); 301 } 302 303 void PageGroup::removeUserScriptsFromWorld(DOMWrapperWorld* world) 304 { 305 ASSERT_ARG(world, world); 306 307 if (!m_userScripts) 308 return; 309 310 UserScriptMap::iterator it = m_userScripts->find(world); 311 if (it == m_userScripts->end()) 312 return; 313 314 delete it->second; 315 m_userScripts->remove(it); 316 } 317 318 void PageGroup::removeUserStyleSheetsFromWorld(DOMWrapperWorld* world) 319 { 320 ASSERT_ARG(world, world); 321 322 if (!m_userStyleSheets) 323 return; 324 325 UserStyleSheetMap::iterator it = m_userStyleSheets->find(world); 326 if (it == m_userStyleSheets->end()) 327 return; 328 329 delete it->second; 330 m_userStyleSheets->remove(it); 331 332 resetUserStyleCacheInAllFrames(); 333 } 334 335 void PageGroup::removeAllUserContent() 336 { 337 if (m_userScripts) { 338 deleteAllValues(*m_userScripts); 339 m_userScripts.clear(); 340 } 341 342 if (m_userStyleSheets) { 343 deleteAllValues(*m_userStyleSheets); 344 m_userStyleSheets.clear(); 345 resetUserStyleCacheInAllFrames(); 346 } 347 } 348 349 void PageGroup::resetUserStyleCacheInAllFrames() 350 { 351 #if !PLATFORM(CHROMIUM) 305 352 // Clear our cached sheets and have them just reparse. 306 353 HashSet<Page*>::const_iterator end = m_pages.end(); … … 309 356 frame->document()->clearPageGroupUserSheets(); 310 357 } 311 } 312 313 void PageGroup::removeUserScriptsFromWorld(DOMWrapperWorld* world) 314 { 315 ASSERT_ARG(world, world); 316 317 if (!m_userScripts) 318 return; 319 320 UserScriptMap::iterator it = m_userScripts->find(world); 321 if (it == m_userScripts->end()) 322 return; 323 324 delete it->second; 325 m_userScripts->remove(it); 326 } 327 328 void PageGroup::removeUserStyleSheetsFromWorld(DOMWrapperWorld* world) 329 { 330 ASSERT_ARG(world, world); 331 332 if (!m_userStyleSheets) 333 return; 334 335 UserStyleSheetMap::iterator it = m_userStyleSheets->find(world); 336 if (it == m_userStyleSheets->end()) 337 return; 338 339 delete it->second; 340 m_userStyleSheets->remove(it); 341 342 // Clear our cached sheets and have them just reparse. 343 HashSet<Page*>::const_iterator end = m_pages.end(); 344 for (HashSet<Page*>::const_iterator it = m_pages.begin(); it != end; ++it) { 345 for (Frame* frame = (*it)->mainFrame(); frame; frame = frame->tree()->traverseNext()) 346 frame->document()->clearPageGroupUserSheets(); 347 } 348 } 349 350 void PageGroup::removeAllUserContent() 351 { 352 if (m_userScripts) { 353 deleteAllValues(*m_userScripts); 354 m_userScripts.clear(); 355 } 356 357 358 if (m_userStyleSheets) { 359 deleteAllValues(*m_userStyleSheets); 360 m_userStyleSheets.clear(); 361 } 358 #endif 362 359 } 363 360 -
trunk/WebCore/page/PageGroup.h
r62876 r63243 95 95 private: 96 96 void addVisitedLink(LinkHash stringHash); 97 97 void resetUserStyleCacheInAllFrames(); 98 98 99 String m_name; 99 100
Note: See TracChangeset
for help on using the changeset viewer.