Skip to content
  • mitz@apple.com's avatar
    [Cocoa] Add a way to recover from load errors · ec6a0371
    mitz@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=125020
    
    Reviewed by Sam Weinig.
    
    * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
    (createErrorWithRecoveryAttempter): Added this helper function. It creates an NSError from
    the given error, adding two keys to the user info dictionary: the context controller under
    the recovery attempter key, and the frame under a private key.
    (didFailProvisionalLoadWithErrorForFrame): Changed to use createErrorWithRecoveryAttempter.
    (didFailLoadWithErrorForFrame): Ditto.
    (-[WKBrowsingContextController attemptRecoveryFromError:]): Implemented this
    WKErrorRecoveryAttempting protocol method by loading the failing URL from the error into the
    frame from the error.
    
    * UIProcess/API/Cocoa/WKErrorRecoveryAttempting.h: Added. Defines a protocol for attempting
    recovery from errors and declares the error user info dictionary key under which an object
    conforming to this protocol may be stored.
    * UIProcess/API/Cocoa/WKErrorRecoveryAttempting.m: Added. Defines
    WKRecoveryAttempterErrorKey.
    
    * UIProcess/WebFrameProxy.cpp:
    (WebKit::WebFrameProxy::loadURL): Added. Sends the LoadURLInFrame message to the page.
    * UIProcess/WebFrameProxy.h:
    
    * WebKit2.xcodeproj/project.pbxproj: Added references to new files.
    
    * WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::loadURLInFrame): Added. Loads the URL in the given frame.
    * WebProcess/WebPage/WebPage.h:
    * WebProcess/WebPage/WebPage.messages.in: Added LoadURLInFrame.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    ec6a0371