Changeset 80310 in webkit
- Timestamp:
- Mar 3, 2011 7:21:07 PM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r80308 r80310 1 2011-03-03 Anders Carlsson <andersca@apple.com> 2 3 Reviewed by Sam Weinig. 4 5 Get rid of Page::globalHistoryItem 6 https://bugs.webkit.org/show_bug.cgi?id=55738 7 8 The m_globalHistoryItem is only used by Mac and Windows WebKit1. 9 Instead of having WebCore updating this member variable, just call out 10 to a FrameLoaderClient member function and let WebKit keep it up to date. 11 12 * loader/EmptyClients.h: 13 (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem): 14 (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryItemForPage): 15 * loader/FrameLoader.cpp: 16 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 17 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): 18 * loader/FrameLoaderClient.h: 19 (WebCore::FrameLoaderClient::updateGlobalHistoryItemForPage): 20 * loader/HistoryController.cpp: 21 (WebCore::HistoryController::goToItem): 22 (WebCore::HistoryController::updateForStandardLoad): 23 (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): 24 * page/Page.cpp: 25 * page/Page.h: 26 1 27 2011-03-02 Jeremy Orlow <jorlow@chromium.org> 2 28 -
trunk/Source/WebCore/loader/EmptyClients.h
r80279 r80310 353 353 virtual bool shouldStopLoadingForHistoryItem(HistoryItem*) const { return false; } 354 354 virtual void dispatchDidAddBackForwardItem(HistoryItem*) const { } 355 virtual void dispatchDidRemoveBackForwardItem(HistoryItem*) const { } ;355 virtual void dispatchDidRemoveBackForwardItem(HistoryItem*) const { } 356 356 virtual void dispatchDidChangeBackForwardIndex() const { } 357 virtual void updateGlobalHistoryItemForPage() { } 357 358 virtual void saveViewStateToItem(HistoryItem*) { } 358 359 virtual bool canCachePage() const { return false; } -
trunk/Source/WebCore/loader/FrameLoader.cpp
r80299 r80310 2392 2392 if (Page* page = m_frame->page()) { 2393 2393 page->backForward()->setCurrentItem(item.get()); 2394 Settings* settings = m_frame->settings(); 2395 page->setGlobalHistoryItem((!settings || settings->privateBrowsingEnabled()) ? 0 : item.get()); 2394 m_frame->loader()->client()->updateGlobalHistoryItemForPage(); 2396 2395 } 2397 2396 return; … … 2963 2962 // problem that we have optimistically moved the b/f cursor already, so move it back. For sanity, 2964 2963 // we only do this when punting a navigation for the target frame or top-level frame. 2965 if ((isTargetItem || isLoadingMainFrame()) && isBackForwardLoadType(policyChecker()->loadType())) 2964 if ((isTargetItem || isLoadingMainFrame()) && isBackForwardLoadType(policyChecker()->loadType())) { 2966 2965 if (Page* page = m_frame->page()) { 2967 2966 Frame* mainFrame = page->mainFrame(); 2968 2967 if (HistoryItem* resetItem = mainFrame->loader()->history()->currentItem()) { 2969 2968 page->backForward()->setCurrentItem(resetItem); 2970 Settings* settings = m_frame->settings(); 2971 page->setGlobalHistoryItem((!settings || settings->privateBrowsingEnabled()) ? 0 : resetItem); 2969 m_frame->loader()->client()->updateGlobalHistoryItemForPage(); 2972 2970 } 2973 2971 } 2972 } 2974 2973 return; 2975 2974 } -
trunk/Source/WebCore/loader/FrameLoaderClient.h
r79771 r80310 192 192 virtual void dispatchDidRemoveBackForwardItem(HistoryItem*) const = 0; 193 193 virtual void dispatchDidChangeBackForwardIndex() const = 0; 194 virtual void updateGlobalHistoryItemForPage() { } 194 195 195 196 // This frame has displayed inactive content (such as an image) from an -
trunk/Source/WebCore/loader/HistoryController.cpp
r79107 r80310 251 251 RefPtr<HistoryItem> currentItem = page->backForward()->currentItem(); 252 252 page->backForward()->setCurrentItem(targetItem); 253 Settings* settings = m_frame->settings(); 254 page->setGlobalHistoryItem((!settings || settings->privateBrowsingEnabled()) ? 0 : targetItem); 253 m_frame->loader()->client()->updateGlobalHistoryItemForPage(); 255 254 256 255 // First set the provisional item of any frames that are not actually navigating. … … 324 323 frameLoader->client()->updateGlobalHistoryRedirectLinks(); 325 324 } 326 if (Page* page = m_frame->page()) 327 page->setGlobalHistoryItem(needPrivacy ? 0 : page->backForward()->currentItem());325 326 m_frame->loader()->client()->updateGlobalHistoryItemForPage(); 328 327 } 329 328 } else { … … 362 361 m_frame->loader()->client()->updateGlobalHistoryRedirectLinks(); 363 362 } 364 if (Page* page = m_frame->page()) 365 page->setGlobalHistoryItem(needPrivacy ? 0 : page->backForward()->currentItem());363 364 m_frame->loader()->client()->updateGlobalHistoryItemForPage(); 366 365 } 367 366 } -
trunk/Source/WebCore/page/Page.cpp
r80030 r80310 344 344 } 345 345 346 void Page::setGlobalHistoryItem(HistoryItem* item)347 {348 m_globalHistoryItem = item;349 }350 351 346 void Page::setGroupName(const String& name) 352 347 { -
trunk/Source/WebCore/page/Page.h
r78620 r80310 148 148 void goToItem(HistoryItem*, FrameLoadType); 149 149 150 HistoryItem* globalHistoryItem() const { return m_globalHistoryItem.get(); }151 void setGlobalHistoryItem(HistoryItem*);152 153 150 void setGroupName(const String&); 154 151 const String& groupName() const; … … 336 333 RefPtr<Frame> m_mainFrame; 337 334 338 RefPtr<HistoryItem> m_globalHistoryItem;339 340 335 mutable RefPtr<PluginData> m_pluginData; 341 336 -
trunk/Source/WebKit/mac/ChangeLog
r80299 r80310 1 2011-03-03 Anders Carlsson <andersca@apple.com> 2 3 Reviewed by Sam Weinig. 4 5 Get rid of Page::globalHistoryItem 6 https://bugs.webkit.org/show_bug.cgi?id=55738 7 8 * WebCoreSupport/WebFrameLoaderClient.h: 9 * WebCoreSupport/WebFrameLoaderClient.mm: 10 (WebFrameLoaderClient::updateGlobalHistoryItemForPage): 11 Get the current history item and update it using -[WebView _setGlobalHistoryItem:]. 12 13 * WebView/WebView.mm: 14 (-[WebView _globalHistoryItem]): 15 (-[WebView _setGlobalHistoryItem:]): 16 Set _globalHistoryItem ivar. 17 18 * WebView/WebViewData.h: 19 * WebView/WebViewData.mm: 20 Add _globalHistoryItem ivar. 21 1 22 2011-03-03 Brady Eidson <beidson@apple.com> 2 23 -
trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h
r79771 r80310 156 156 virtual void dispatchDidRemoveBackForwardItem(WebCore::HistoryItem*) const; 157 157 virtual void dispatchDidChangeBackForwardIndex() const; 158 virtual void updateGlobalHistoryItemForPage(); 158 159 159 160 virtual void didDisplayInsecureContent(); -
trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
r79771 r80310 76 76 #import "WebViewInternal.h" 77 77 #import <WebCore/AuthenticationMac.h> 78 #import <WebCore/BackForwardController.h> 78 79 #import <WebCore/BlockExceptions.h> 79 80 #import <WebCore/CachedFrame.h> … … 967 968 } 968 969 970 void WebFrameLoaderClient::updateGlobalHistoryItemForPage() 971 { 972 HistoryItem* historyItem = 0; 973 974 if (Page* page = core(m_webFrame.get())->page()) { 975 if (!page->settings()->privateBrowsingEnabled()) 976 historyItem = page->backForward()->currentItem(); 977 } 978 979 WebView *webView = getWebView(m_webFrame.get()); 980 [webView _setGlobalHistoryItem:historyItem]; 981 } 982 969 983 void WebFrameLoaderClient::didDisplayInsecureContent() 970 984 { -
trunk/Source/WebKit/mac/WebView/WebView.mm
r80299 r80310 2253 2253 - (WebHistoryItem *)_globalHistoryItem 2254 2254 { 2255 if (!_private ->page)2255 if (!_private) 2256 2256 return nil; 2257 return kit(_private->page->globalHistoryItem()); 2257 2258 return kit(_private->_globalHistoryItem.get()); 2259 } 2260 2261 - (void)_setGlobalHistoryItem:(HistoryItem*)historyItem 2262 { 2263 _private->_globalHistoryItem = historyItem; 2258 2264 } 2259 2265 -
trunk/Source/WebKit/mac/WebView/WebViewData.h
r79953 r80310 36 36 37 37 namespace WebCore { 38 class HistoryItem; 38 39 class Page; 39 40 } … … 184 185 id<WebGeolocationProvider> _geolocationProvider; 185 186 id<WebDeviceOrientationProvider> m_deviceOrientationProvider; 187 188 RefPtr<WebCore::HistoryItem> _globalHistoryItem; 186 189 } 187 190 @end -
trunk/Source/WebKit/mac/WebView/WebViewData.mm
r67274 r80310 33 33 #import "WebPreferenceKeysPrivate.h" 34 34 #import <WebCore/WebCoreObjCExtras.h> 35 #import <WebCore/HistoryItem.h> 35 36 #import <objc/objc-auto.h> 36 37 #import <runtime/InitializeThreading.h> -
trunk/Source/WebKit/mac/WebView/WebViewInternal.h
r75277 r80310 42 42 class Element; 43 43 class Frame; 44 class HistoryItem; 44 45 class KURL; 45 46 class KeyboardEvent; … … 115 116 #ifdef __cplusplus 116 117 - (WebCore::Page*)page; 118 - (void)_setGlobalHistoryItem:(WebCore::HistoryItem*)historyItem; 117 119 #endif 118 120 -
trunk/Source/WebKit/win/ChangeLog
r80305 r80310 1 2011-03-03 Anders Carlsson <andersca@apple.com> 2 3 Reviewed by Sam Weinig. 4 5 Get rid of Page::globalHistoryItem 6 https://bugs.webkit.org/show_bug.cgi?id=55738 7 8 * WebCoreSupport/WebFrameLoaderClient.cpp: 9 (WebFrameLoaderClient::updateGlobalHistoryItemForPage): 10 Get the current history item and update it using WebView::setGlobalHistoryItem. 11 12 * WebCoreSupport/WebFrameLoaderClient.h: 13 * WebView.cpp: 14 (WebView::globalHistoryItem): 15 (WebView::setGlobalHistoryItem): 16 * WebView.h: 17 1 18 2011-03-03 Brent Fulgham <bfulgham@webkit.org> 2 19 -
trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp
r79107 r80310 51 51 #include "WebView.h" 52 52 #pragma warning(push, 0) 53 #include <WebCore/BackForwardController.h> 53 54 #include <WebCore/CachedFrame.h> 54 55 #include <WebCore/DocumentLoader.h> … … 68 69 #include <WebCore/RenderPart.h> 69 70 #include <WebCore/ResourceHandle.h> 71 #include <WebCore/Settings.h> 70 72 #pragma warning(pop) 71 73 … … 620 622 } 621 623 624 void WebFrameLoaderClient::updateGlobalHistoryItemForPage() 625 { 626 HistoryItem* historyItem = 0; 627 WebView* webView = m_webFrame->webView(); 628 629 if (Page* page = webView->page()) { 630 if (!page->settings()->privateBrowsingEnabled()) 631 historyItem = page->backForward()->currentItem(); 632 } 633 634 webView->setGlobalHistoryItem(historyItem); 635 } 636 622 637 void WebFrameLoaderClient::didDisplayInsecureContent() 623 638 { -
trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h
r79107 r80310 99 99 virtual void dispatchDidRemoveBackForwardItem(WebCore::HistoryItem*) const; 100 100 virtual void dispatchDidChangeBackForwardIndex() const; 101 virtual void updateGlobalHistoryItemForPage(); 101 102 102 103 virtual void didDisplayInsecureContent(); -
trunk/Source/WebKit/win/WebView.cpp
r80218 r80310 5893 5893 return E_FAIL; 5894 5894 5895 if (!m_ page->globalHistoryItem()) {5895 if (!m_globalHistoryItem) { 5896 5896 *item = 0; 5897 5897 return S_OK; 5898 5898 } 5899 5899 5900 *item = WebHistoryItem::createInstance(m_ page->globalHistoryItem());5900 *item = WebHistoryItem::createInstance(m_globalHistoryItem); 5901 5901 return S_OK; 5902 5902 } … … 6634 6634 return S_OK; 6635 6635 } 6636 6637 void WebView::setGlobalHistoryItem(HistoryItem* historyItem) 6638 { 6639 m_globalHistoryItem = historyItem; 6640 } -
trunk/Source/WebKit/win/WebView.h
r78620 r80310 48 48 } 49 49 #endif 50 51 namespace WebCore { 52 class HistoryItem; 53 } 50 54 51 55 class FullscreenVideoController; … … 925 929 void setLastCursor(HCURSOR cursor) { m_lastSetCursor = cursor; } 926 930 931 void setGlobalHistoryItem(WebCore::HistoryItem*); 932 927 933 private: 928 934 void setZoomMultiplier(float multiplier, bool isTextOnly); … … 1074 1080 1075 1081 HCURSOR m_lastSetCursor; 1082 1083 RefPtr<WebCore::HistoryItem> m_globalHistoryItem; 1076 1084 }; 1077 1085
Note: See TracChangeset
for help on using the changeset viewer.