Fixed ~2% performance regression problem. The regression
authorrjw <rjw@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 1 Apr 2003 19:34:42 +0000 (19:34 +0000)
committerrjw <rjw@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 1 Apr 2003 19:34:42 +0000 (19:34 +0000)
commit71dc4fcd8d48624c71ad0606278f15cb9b7d6221
treed5c055685a35403b1474cde241ae38eabfb49106
parent2e9ce880fbc4587b81c35cd45b992e0a552059c7
    Fixed ~2% performance regression problem.  The regression
        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: https://svn.webkit.org/repository/webkit/trunk@3988 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit/API-Issues.rtf
WebKit/ChangeLog
WebKit/WebCoreSupport.subproj/WebBridge.m
WebKit/WebView.subproj/WebBaseResourceHandleDelegate.h
WebKit/WebView.subproj/WebBaseResourceHandleDelegate.m
WebKit/WebView.subproj/WebLoader.h
WebKit/WebView.subproj/WebLoader.m
WebKit/WebView.subproj/WebView.m
WebKit/WebView.subproj/WebViewPrivate.h
WebKit/WebView.subproj/WebViewPrivate.m