| 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 |
| Related sample code |
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 WebKit to support new MIME types by implementing your own view and representation classes, and specifying the mapping between them using the registerViewClass:representationClass:forMIMEType: WebView class method.
WebDataSource objects have an associated initial request, possibly a modified request, and a 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 data source’s list of subresources.
- (void)addSubresource:(WebResource *)subresource
The resource to add to the data source.
If the data source needs to reload the resource’s URL, it loads 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 data source already has a resource with the same URL as subresource, then this method replaces it.
WebDataSource.hReturns the raw data that represents the data source’s content.
- (NSData *)data
The data used to display the webpage or nil if the data source hasn’t loaded any data. The format of the data is dependent on the data source’s MIME type (obtained from the response).
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
The initial request.
WebDataSource.hinitializes a data source with a URL request.
- (id)initWithRequest:(NSURLRequest *)request
The URL request used to load the web content.
The initialized web data source.
This method is the designated initializer for WebDataSource objects. Normally, WebFrame objects create their data sources, so you should not invoke this method directly.
WebDataSource.hReturns whether the data source is loading its content.
- (BOOL)isLoading
YES if the data source is in the process of loading its content; otherwise, NO.
WebDataSource.hCreates and returns a WebResource object representing the data source.
- (WebResource *)mainResource
A web resource representing the data source. 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 data source’s page.
- (NSString *)pageTitle
The page title or nil if the page has no title or the page title hasn’t been loaded yet.
The associated web view notifies its frame load delegate when the page title is loaded by invoking the webView:didReceiveTitle:forFrame: delegate method.
WebDataSource.hReturns the data source’s representation depending on its MIME type.
- (id < WebDocumentRepresentation >)representation
The data source’s representation or nil if the data source is in the process of being loaded and this method is invoked before loading is complete.
You can specify the mapping between a representation and MIME type using the registerViewClass:representationClass:forMIMEType: WebView class method.
WebDataSource.hReturns the request that was used to create the data source.
- (NSMutableURLRequest *)request
The request used to load the web content. This URL may be different from the original request returned by the initialRequest method.
A web view’s resource load delegate may modify requests by implementing the webView:resource:willSendRequest:redirectResponse:fromDataSource: method.
WebDataSource.hReturns the associated WebResourceResponse object for this data source.
- (NSURLResponse *)response
The associated WebResourceResponse object or nil if a response has not been received yet..
WebDataSource.hReturns a subresource for the given URL.
- (WebResource *)subresourceForURL:(NSURL *)URL
The subresource’s URL.
The subresource for URL or nil if the data source hasn’t finished downloading the subresource.
WebDataSource.hReturns the data source’s subresources that have finished downloading.
- (NSArray *)subresources
An array of the data source’s loaded subresources.
WebDataSource.hReturns the text encoding for the data source’s web view, if set, or the text encoding of the response.
- (NSString *)textEncodingName
The text encoding.
WebDataSource.hReturns the data source’s unreachable URL.
- (NSURL *)unreachableURL
The unreachable URL if it exists; otherwise, nil.
The data source has an unreachable URL if it was created using the loadAlternateHTMLString:baseURL:forUnreachableURL: WebFrame method.
WebDataSource.hReturns a web archive representing the data source, its subresources, and subframes.
- (WebArchive *)webArchive
A web archive representing the data source constructed 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
The associated web frame.
WebDataSource.h
Last updated: 2009-08-17