Skip to content
  • beidson@apple.com's avatar
    WebKit Win API should provide a delegate interface for global history. · b3d1d6e9
    beidson@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=29905
    
    Reviewed by Sam Weinig.
    
    WebKit/win: 
    
    -Add IWebHistoryDelegate for clients to implement.
    -Add (I)WebNavigationData for the history delegate's use.
    -When it exists, call the history delegate instead of using WebHistory.
            
    * Interfaces/IWebHistoryDelegate.idl: Added.
    * Interfaces/IWebHistoryPrivate.idl:
    * Interfaces/IWebNavigationData.idl: Added.
    * Interfaces/IWebViewPrivate.idl:
    * Interfaces/WebKit.idl:
            
    * WebKit.vcproj/Interfaces.vcproj:
    * WebKit.vcproj/WebKit.vcproj:
    
    * WebCoreSupport/WebChromeClient.cpp:
    (WebChromeClient::populateVisitedLinks):
    * WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebFrameLoaderClient::updateGlobalHistory):
    (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
    (WebFrameLoaderClient::setTitle):
     
     * WebView.cpp:
    (WebView::close):
    (WebView::mainFrameURL):
    (WebView::setHistoryDelegate):
    (WebView::historyDelegate):
    (WebView::addVisitedLinks):
    * WebView.h:
            
    * WebHistory.cpp:
    (WebHistory::setVisitedLinkTrackingEnabled):
    (WebHistory::removeAllVisitedLinks):
    * WebHistory.h:
    
    * WebNavigationData.cpp: Added.
    (WebNavigationData::QueryInterface):
    (WebNavigationData::AddRef):
    (WebNavigationData::Release):
    (WebNavigationData::WebNavigationData):
    (WebNavigationData::~WebNavigationData):
    (WebNavigationData::createInstance):
    (WebNavigationData::url):
    (WebNavigationData::title):
    (WebNavigationData::originalRequest):
    (WebNavigationData::response):
    (WebNavigationData::hasSubstituteData):
    (WebNavigationData::clientRedirectSource):
    * WebNavigationData.h: Added.
    
    WebKitTools: 
    
    * DumpRenderTree/LayoutTestController.cpp:
    (LayoutTestController::LayoutTestController):
    * DumpRenderTree/LayoutTestController.h:
    (LayoutTestController::dumpHistoryDelegateCallbacks):
    (LayoutTestController::setDumpHistoryDelegateCallbacks):
                    
    * DumpRenderTree/win/DumpRenderTree.cpp:
    (shouldLogHistoryDelegates):
    (runTest):
    (createWebViewAndOffscreenWindow):
    (main):
    * DumpRenderTree/win/DumpRenderTree.vcproj:
            
    Add the IWebHistoryDelegate to DRT Windows:
    * DumpRenderTree/win/HistoryDelegate.cpp: Added.
    (wstringFromBSTR):
    (HistoryDelegate::HistoryDelegate):
    (HistoryDelegate::~HistoryDelegate):
    (HistoryDelegate::QueryInterface):
    (HistoryDelegate::AddRef):
    (HistoryDelegate::Release):
    (HistoryDelegate::didNavigateWithNavigationData):
    (HistoryDelegate::didPerformClientRedirectFromURL):
    (HistoryDelegate::didPerformServerRedirectFromURL):
    (HistoryDelegate::updateHistoryTitle):
    (HistoryDelegate::populateVisitedLinksForWebView):
    * DumpRenderTree/win/HistoryDelegate.h: Added.
    
    * DumpRenderTree/win/LayoutTestControllerWin.cpp:
    (LayoutTestController::removeAllVisitedLinks):
    
    LayoutTests: 
    
    * platform/win/Skipped: Enable globalhistory tests.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49564 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    b3d1d6e9