Skip to content
  • rjw's avatar
    Fixed ~2% performance regression problem. The regression · e36170e9
    rjw authored
            was caused by the allocation of a forwarder on every
            delegate callback.  Modified code to only create forwarders once,
            and reset when delegates change.
    
            Reviewed by Ken.
    
            * WebCoreSupport.subproj/WebBridge.m:
            (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
            * WebView.subproj/WebBaseResourceHandleDelegate.h:
            * WebView.subproj/WebBaseResourceHandleDelegate.m:
            (-[WebBaseResourceHandleDelegate setDataSource:]):
            (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
            (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
            (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
            (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
            * WebView.subproj/WebView.m:
            (-[WebView setWindowOperationsDelegate:]):
            (-[WebView setResourceLoadDelegate:]):
            (-[WebView setContextMenuDelegate:]):
            (-[WebView setPolicyDelegate:]):
            (-[WebView setLocationChangeDelegate:]):
            * WebView.subproj/WebViewPrivate.h:
            * WebView.subproj/WebViewPrivate.m:
            (-[WebViewPrivate dealloc]):
            (-[WebView _locationChangeDelegateForwarder]):
            (-[WebView _resourceLoadDelegateForwarder]):
            (-[WebView _cacheResourceLoadDelegateImplementations]):
            (-[WebView _resourceLoadDelegateImplementations]):
            (-[WebView _policyDelegateForwarder]):
            (-[WebView _contextMenuDelegateForwarder]):
            (-[WebView _windowOperationsDelegateForwarder]):
            (-[_WebSafeForwarder forwardInvocation:]):
    
            * API-Issues.rtf:
            Notes to self.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3988 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    e36170e9