| Inherits from | |
| Conforms to | |
| Framework | /System/Library/Frameworks/WebKit.framework |
| Availability | Available in Mac OS X v10.2 with Safari 1.0 and later.
Available in Mac OS X v10.2.7 and later.
|
| Companion guide | |
| Declared in | WebDataSource.h |
WebDataSource encapsulates the web content to be displayed in a web frame view. A WebDataSource object has a representation object, conforming to the WebDocumentRepresentation protocol, that holds the data in an appropriate format depending on the MIME type. You can extend Web Kit to support new MIME types by implementing your own view and representation classes, and specifying the mapping between them using the WebView registerViewClass:representationClass:forMIMEType: class method.
WebDataSource objects have an associated initial request, possibly modified request, and response object. Since the data source may be in the process of being loaded, you should check the state of a data source using the isLoading method before accessing its data. Use the data method to get the raw data. Use the representation method to get the actual representation object and query it for more details.
Adds a resource to the receiver’s list of subresources.
- (void)addSubresource:(WebResource *)subresource
If the receiver needs to reload the resource’s URL, it will load the data from subresource instead of the network. For example, use this method if you want to use a previously downloaded image rather than accessing the network to reload a resource. If the receiver already has a resource with the same URL as subresource, then this method replaces it.
WebDataSource.hReturns the raw data that represents the receiver’s content.
- (NSData *)data
The format of the data is dependent on the receiver’s MIME type (obtained from the response). The data will be incomplete until the data has finished loading. Returns nil if the receiver hasn’t loaded any data. Use the isLoading method to test if a data source is in the process of loading.
WebDataSource.hReturns a reference to the original request that was used to load the web content.
- (NSURLRequest *)initialRequest
WebDataSource.hinitializes a data source with a URL request.
- (id)initWithRequest:(NSURLRequest *)request
This method is the designated initializer for WebDataSource objects where request is used to load the web content. Normally, WebFrame objects create their data sources, so don’t invoke this method directly.
WebDataSource.hReturns YES if the receiver is in the process of loading its content, NO otherwise.
- (BOOL)isLoading
WebDataSource.hCreates and returns a WebResource representing the receiver.
- (WebResource *)mainResource
The contents returned are based on the original downloaded data. You can use the returned value to create a WebArchive object instead of using the webArchive method.
WebDataSource.hReturns the title of the receiver’s page.
- (NSString *)pageTitle
May return nil if the page has no title, or the page title hasn’t been loaded yet. The WebView will notify its frame load delegate when the page title is loaded by invoking the webView:didReceiveTitle:forFrame: delegate method.
WebDataSource.hReturns the receiver’s representation depending on its MIME type.
- (id < WebDocumentRepresentation >)representation
If the receiver is in the process of being loaded, this method may return nil if invoked before loading is complete. You can specify the mapping between a representation and MIME type using the WebView registerViewClass:representationClass:forMIMEType: class method.
WebDataSource.hReturns the request that was used to create the receiver.
- (NSMutableURLRequest *)request
The URL returned may be different from the original request. A WebView’s resource load delegate may modify requests by implementing webView:resource:willSendRequest:redirectResponse:fromDataSource:.
WebDataSource.hReturns the associated WebResourceResponse for this data source.
- (NSURLResponse *)response
This method returns nil if a response has not been received yet.
WebDataSource.hReturns a subresource for the given URL.
- (WebResource *)subresourceForURL:(NSURL *)URL
Return nil if the receiver hasn’t finished downloading the subresource.
WebDataSource.hReturns the receiver’s subresources that have finished downloading.
- (NSArray *)subresources
WebDataSource.hReturns either the text encoding for the receiver’s WebView, if set, or the text encoding of the response.
- (NSString *)textEncodingName
WebDataSource.hReturns the receiver’s unreachable URL if it exists, nil otherwise.
- (NSURL *)unreachableURL
The receiver will have an unreachable URL if it was created using the loadAlternateHTMLString:baseURL:forUnreachableURL: WebFrame method.
WebDataSource.hReturns a web archive representing the receiver, its subresources and subframes.
- (WebArchive *)webArchive
Constructs the web archive using the original downloaded data. In the case of HTML, if the current content is preferred, then send webArchive to the appropriate DOM object.
WebDataSource.hReturns the web frame that represents this data source.
- (WebFrame *)webFrame
WebDataSource.h
Last updated: 2006-05-23