Skip to content
  • kocienda's avatar
    WebFoundation: · b1498730
    kocienda authored
    	Modified API and behavior so that WebResourceHandle objects no longer
    	buffer data as it is loaded. The responsibility to buffer data is now
    	passed to WebResourceClient objects, and I modified the code to
    	perform that buffering where necessary.
    
    	There was also an API change to the WebResourceClient protoccol.
    
    	- (void)handleDidFinishLoading:(WebResourceHandle *)handle data:(NSData *)data;
    
    	has become
    
    	- (void)handleDidFinishLoading:(WebResourceHandle *)handle;
    
    	This reflects the fact that WebResourceHandle no longer has the data to pass
    	in this callback (and may not be able to ask other objects in the framework to
    	provide the data so that it may be presented in the callback).
    
    	I also added a new WebResourceResponse class, although it is not wired up
    	to anything yet.
    
            * CacheLoader.subproj/IFURLHandleC.h:
            * CacheLoader.subproj/IFURLHandleC.m:
            * CacheLoader.subproj/WebResourceCallbackClient.m:
            (-[WebResourceCallbackClient handleDidFinishLoading:])
            * CacheLoader.subproj/WebResourceClient.h:
            * CacheLoader.subproj/WebResourceHandle.h:
            * CacheLoader.subproj/WebResourceHandle.m:
            (-[WebResourceHandle loadInForeground:])
            (-[WebResourceHandle contentLengthReceived])
            * CacheLoader.subproj/WebResourceHandleInternal.h:
            * CacheLoader.subproj/WebResourceHandleInternal.m:
            (-[WebResourceHandleInstanceVariables initWithHandle:])
            (-[WebResourceHandleInstanceVariables dealloc])
            (-[WebResourceHandle _notifyClientDataDidBecomeAvailable])
            (-[WebResourceHandle _notifyClientDidFinishLoading])
            * CacheLoader.subproj/WebResourceHandlePrivate.m:
            (-[WebResourceHandle _didLoadData:])
            * CacheLoader.subproj/WebResourceResponse.h: Added.
            * CacheLoader.subproj/WebResourceResponse.m: Added.
            * CacheLoader.subproj/WebResourceResponsePrivate.h: Added.
            * CacheLoader.subproj/WebResourceSynchronousClient.h:
            * CacheLoader.subproj/WebResourceSynchronousClient.m:
            (-[WebResourceSynchronousClient initWithMonitor:realClient:])
            (-[WebResourceSynchronousClient dealloc])
            (-[WebResourceSynchronousClient resourceData])
            (-[WebResourceSynchronousClient handleDidFinishLoading:])
            (-[WebResourceSynchronousClient handleDidReceiveData:data:])
            * WebFoundation.exp:
            * WebFoundation.pbproj/project.pbxproj:
    
    WebKit:
    
    	Made more adjustments for API and behavior change that occurred in WebFoundation,
    	now that WebResourceHandle objects no buffer resource data as it is loaded. Where
    	necessary, the WebKit objects now do their own buffering, however, in many cases,
    	buffering is not necessary to maintain correct behavior.
    
            * Misc.subproj/WebIconLoader.m:
            (-[WebIconLoaderPrivate dealloc]): Release new buffered resource data object.
            (-[WebIconLoader initWithURL:]): Allocate new buffered resource data object.
            (-[WebIconLoader handleDidFinishLoading:]): Modify API to remove data parameter.
            (-[WebIconLoader handleDidReceiveData:data:]): Buffer data as it is received.
            * Plugins.subproj/WebPluginStream.h: Added new buffered resource data object.
            * Plugins.subproj/WebPluginStream.m:
            (-[WebNetscapePluginStream initWithURL:pluginPointer:notifyData:attributes:]): Allocate new buffered resource data object.
            (-[WebNetscapePluginStream dealloc]): Release new buffered resource data object.
            (-[WebNetscapePluginStream receivedData:]): Buffer data as it is received (when necessary maintain correct behavior).
            (-[WebNetscapePluginStream handleDidFinishLoading:]): Modify API to remove data parameter.
            * WebCoreSupport.subproj/WebSubresourceClient.m:
            (-[WebSubresourceClient handleDidFinishLoading:]): Modify API to remove data parameter.
            * WebView.subproj/WebMainResourceClient.m:
            (-[WebMainResourceClient handleDidFinishLoading:]): Modify API to remove data parameter.
            (-[WebMainResourceClient handleDidReceiveData:data:]): Buffer data as it is received (when necessary maintain correct behavior).
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1959 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    b1498730