Changeset 84091 in webkit
- Timestamp:
- Apr 16, 2011 12:31:42 PM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r84090 r84091 1 2011-04-16 Sam Weinig <sam@webkit.org> 2 3 Reviewed by Simon Fraser. 4 5 Pages in the PageCache don't have the correct visited link coloring after being restored 6 https://bugs.webkit.org/show_bug.cgi?id=58721 7 8 * WebCore.exp.in: 9 Add export of markPagesForVistedLinkStyleRecalc for use by WebKit2. 10 11 * history/CachedPage.cpp: 12 (WebCore::CachedPage::CachedPage): 13 (WebCore::CachedPage::restore): 14 (WebCore::CachedPage::clear): 15 * history/CachedPage.h: 16 (WebCore::CachedPage::markForVistedLinkStyleRecalc): 17 Add bit, set by calling markForVistedLinkStyleRecalc, which forces a visited link 18 style recalc when being restored. 19 20 * history/PageCache.h: 21 * history/PageCache.cpp: 22 (WebCore::PageCache::markPagesForVistedLinkStyleRecalc): 23 Mark all pages in the page cache as requiring visited link style recalc. 24 25 * page/PageGroup.cpp: 26 (WebCore::PageGroup::addVisitedLink): 27 (WebCore::PageGroup::removeVisitedLinks): 28 (WebCore::PageGroup::removeAllVisitedLinks): 29 Set dirty bit when changing any visited link information. 30 31 1 32 2011-04-16 Leo Yang <leoyang.webkit@gmail.com> 2 33 -
trunk/Source/WebCore/WebCore.exp.in
r84052 r84091 539 539 __ZN7WebCore20UserGestureIndicatorC1ENS_26ProcessingUserGestureStateE 540 540 __ZN7WebCore20UserGestureIndicatorD1Ev 541 __ZN7WebCore20makeRGBA32FromFloatsEffff 541 542 __ZN7WebCore20protocolIsJavaScriptERKN3WTF6StringE 542 __ZN7WebCore20makeRGBA32FromFloatsEffff543 543 __ZN7WebCore21BackForwardController11itemAtIndexEi 544 544 __ZN7WebCore21PlatformKeyboardEvent24disambiguateKeyDownEventENS0_4TypeEb … … 713 713 __ZN7WebCore5Color5whiteE 714 714 __ZN7WebCore5Frame10createViewERKNS_7IntSizeERKNS_5ColorEbS3_bNS_13ScrollbarModeEbS7_b 715 __ZN7WebCore5Frame13rangeForPointERKNS_8IntPointE 715 716 __ZN7WebCore5Frame14frameForWidgetEPKNS_6WidgetE 716 717 __ZN7WebCore5Frame17setPageZoomFactorEf … … 724 725 __ZN7WebCore5Frame9nodeImageEPNS_4NodeE 725 726 __ZN7WebCore5Frame9scalePageEfRKNS_8IntPointE 726 __ZN7WebCore5Frame13rangeForPointERKNS_8IntPointE727 727 __ZN7WebCore5FrameD1Ev 728 728 __ZN7WebCore5Image12supportsTypeERKN3WTF6StringE … … 877 877 __ZN7WebCore8Settings27setFTPDirectoryTemplatePathERKN3WTF6StringE 878 878 __ZN7WebCore8Settings27setLoadsImagesAutomaticallyEb 879 __ZN7WebCore8Settings44setLoadsSiteIconsIgnoringImageLoadingSettingEb880 879 __ZN7WebCore8Settings27setLocalStorageDatabasePathERKN3WTF6StringE 881 880 __ZN7WebCore8Settings27setSpatialNavigationEnabledEb … … 902 901 __ZN7WebCore8Settings40setTextDirectionSubmenuInclusionBehaviorENS_37TextDirectionSubmenuInclusionBehaviorE 903 902 __ZN7WebCore8Settings41setNeedsKeyboardEventDisambiguationQuirksEb 903 __ZN7WebCore8Settings44setLoadsSiteIconsIgnoringImageLoadingSettingEb 904 904 __ZN7WebCore8blankURLEv 905 905 __ZN7WebCore8makeRGBAEiiii … … 979 979 __ZN7WebCore9PageCache11setCapacityEi 980 980 __ZN7WebCore9PageCache27releaseAutoreleasedPagesNowEv 981 __ZN7WebCore9PageCache33markPagesForVistedLinkStyleRecalcEv 981 982 __ZN7WebCore9PageGroup13isLinkVisitedEy 982 983 __ZN7WebCore9PageGroup14addVisitedLinkEPKtm … … 1221 1222 __ZNK7WebCore6Chrome12createWindowEPNS_5FrameERKNS_16FrameLoadRequestERKNS_14WindowFeaturesERKNS_16NavigationActionE 1222 1223 __ZNK7WebCore6Cursor14platformCursorEv 1223 __ZNK7WebCore6Editor8behaviorEv1224 1224 __ZNK7WebCore6Editor12selectedTextEv 1225 1225 __ZNK7WebCore6Editor13canEditRichlyEv … … 1243 1243 __ZNK7WebCore6Editor7canCopyEv 1244 1244 __ZNK7WebCore6Editor7canEditEv 1245 __ZNK7WebCore6Editor8behaviorEv 1245 1246 __ZNK7WebCore6Editor8canPasteEv 1246 1247 __ZNK7WebCore6Editor9canDeleteEv -
trunk/Source/WebCore/history/CachedPage.cpp
r53274 r84091 27 27 #include "CachedPage.h" 28 28 29 #include "CSSStyleSelector.h" 29 30 #include "FocusController.h" 30 31 #include "Frame.h" … … 50 51 : m_timeStamp(currentTime()) 51 52 , m_cachedMainFrame(CachedFrame::create(page->mainFrame())) 53 , m_needStyleRecalcForVisitedLinks(false) 52 54 { 53 55 #ifndef NDEBUG … … 81 83 static_cast<Element*>(node)->updateFocusAppearance(true); 82 84 } 83 85 86 if (m_needStyleRecalcForVisitedLinks) { 87 for (Frame* frame = page->mainFrame(); frame; frame = frame->tree()->traverseNext()) { 88 if (CSSStyleSelector* styleSelector = frame->document()->styleSelector()) 89 styleSelector->allVisitedStateChanged(); 90 } 91 } 92 84 93 clear(); 85 94 } … … 90 99 m_cachedMainFrame->clear(); 91 100 m_cachedMainFrame = 0; 101 m_needStyleRecalcForVisitedLinks = false; 92 102 } 93 103 -
trunk/Source/WebCore/history/CachedPage.h
r53274 r84091 51 51 CachedFrame* cachedMainFrame() { return m_cachedMainFrame.get(); } 52 52 53 void markForVistedLinkStyleRecalc() { m_needStyleRecalcForVisitedLinks = true; } 54 53 55 private: 54 56 CachedPage(Page*); … … 56 58 double m_timeStamp; 57 59 RefPtr<CachedFrame> m_cachedMainFrame; 60 bool m_needStyleRecalcForVisitedLinks; 58 61 }; 59 62 -
trunk/Source/WebCore/history/PageCache.cpp
r76872 r84091 342 342 } 343 343 344 void PageCache::markPagesForVistedLinkStyleRecalc() 345 { 346 for (HistoryItem* current = m_head; current; current = current->m_next) 347 current->m_cachedPage->markForVistedLinkStyleRecalc(); 348 } 349 344 350 void PageCache::add(PassRefPtr<HistoryItem> prpItem, Page* page) 345 351 { -
trunk/Source/WebCore/history/PageCache.h
r76248 r84091 60 60 int autoreleasedPageCount() const; 61 61 62 void markPagesForVistedLinkStyleRecalc(); 63 62 64 private: 63 65 typedef HashSet<RefPtr<CachedPage> > CachedPageSet; -
trunk/Source/WebCore/page/PageGroup.cpp
r80892 r84091 34 34 #include "IDBFactoryBackendInterface.h" 35 35 #include "Page.h" 36 #include "PageCache.h" 36 37 #include "SecurityOrigin.h" 37 38 #include "Settings.h" … … 203 204 #endif 204 205 Page::visitedStateChanged(this, hash); 206 pageCache()->markPagesForVistedLinkStyleRecalc(); 205 207 } 206 208 … … 227 229 m_visitedLinkHashes.clear(); 228 230 Page::allVisitedStateChanged(this); 231 pageCache()->markPagesForVistedLinkStyleRecalc(); 229 232 } 230 233 … … 232 235 { 233 236 Page::removeAllVisitedLinks(); 237 pageCache()->markPagesForVistedLinkStyleRecalc(); 234 238 } 235 239 -
trunk/Source/WebKit2/ChangeLog
r84082 r84091 1 2011-04-16 Sam Weinig <sam@webkit.org> 2 3 Reviewed by Simon Fraser. 4 5 Pages in the PageCache don't have the correct visited link coloring after being restored 6 https://bugs.webkit.org/show_bug.cgi?id=58721 7 8 * WebProcess/WebProcess.cpp: 9 (WebKit::WebProcess::visitedLinkStateChanged): 10 (WebKit::WebProcess::allVisitedLinkStateChanged): 11 Mark all pages in the page cache as needing visited link style recalc 12 whenever visited link information changes. 13 1 14 2011-04-15 Daniel Bates <dbates@webkit.org> 2 15 -
trunk/Source/WebKit2/WebProcess/WebProcess.cpp
r83777 r84091 60 60 #include <WebCore/MemoryCache.h> 61 61 #include <WebCore/Page.h> 62 #include <WebCore/PageCache.h> 62 63 #include <WebCore/PageGroup.h> 63 64 #include <WebCore/ResourceHandle.h> … … 70 71 71 72 #ifndef NDEBUG 72 #include <WebCore/MemoryCache.h>73 73 #include <WebCore/GCController.h> 74 74 #endif … … 284 284 Page::visitedStateChanged(PageGroup::pageGroup(it->second->identifier()), linkHashes[i]); 285 285 } 286 287 pageCache()->markPagesForVistedLinkStyleRecalc(); 286 288 } 287 289 … … 293 295 for (; it != end; ++it) 294 296 Page::allVisitedStateChanged(PageGroup::pageGroup(it->second->identifier())); 297 298 pageCache()->markPagesForVistedLinkStyleRecalc(); 295 299 } 296 300
Note: See TracChangeset
for help on using the changeset viewer.