-
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