mirror of
https://github.com/atom/atom.git
synced 2026-01-25 14:59:03 -05:00
181 lines
6.5 KiB
Objective-C
181 lines
6.5 KiB
Objective-C
/*
|
|
* Copyright (C) 2003, 2004, 2005 Apple Computer, Inc. All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
*
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
* 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
|
|
* its contributors may be used to endorse or promote products derived
|
|
* from this software without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
|
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
* DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
|
|
#import <Cocoa/Cocoa.h>
|
|
|
|
#import <WebKit/WebDocument.h>
|
|
|
|
@class NSMutableURLRequest;
|
|
@class NSURLConnection;
|
|
@class NSURLRequest;
|
|
@class NSURLResponse;
|
|
@class WebArchive;
|
|
@class WebDataSourcePrivate;
|
|
@class WebFrame;
|
|
@class WebResource;
|
|
|
|
/*!
|
|
@class WebDataSource
|
|
@discussion A WebDataSource represents the data associated with a web page.
|
|
A datasource has a WebDocumentRepresentation which holds an appropriate
|
|
representation of the data. WebDataSources manage a hierarchy of WebFrames.
|
|
WebDataSources are typically related to a view by their containing WebFrame.
|
|
*/
|
|
@interface WebDataSource : NSObject
|
|
{
|
|
@private
|
|
WebDataSourcePrivate *_private;
|
|
}
|
|
|
|
/*!
|
|
@method initWithRequest:
|
|
@abstract The designated initializer for WebDataSource.
|
|
@param request The request to use in creating a datasource.
|
|
@result Returns an initialized WebDataSource.
|
|
*/
|
|
- (id)initWithRequest:(NSURLRequest *)request;
|
|
|
|
/*!
|
|
@method data
|
|
@discussion The data will be incomplete until the datasource has completely loaded.
|
|
@result Returns the raw data associated with the datasource. Returns nil
|
|
if the datasource hasn't loaded any data.
|
|
*/
|
|
- (NSData *)data;
|
|
|
|
/*!
|
|
@method representation
|
|
@discussion A representation holds a type specific representation
|
|
of the datasource's data. The representation class is determined by mapping
|
|
a MIME type to a class. The representation is created once the MIME type
|
|
of the datasource content has been determined.
|
|
@result Returns the representation associated with this datasource.
|
|
Returns nil if the datasource hasn't created it's representation.
|
|
*/
|
|
- (id <WebDocumentRepresentation>)representation;
|
|
|
|
/*!
|
|
@method webFrame
|
|
@result Return the frame that represents this data source.
|
|
*/
|
|
- (WebFrame *)webFrame;
|
|
|
|
/*!
|
|
@method initialRequest
|
|
@result Returns a reference to the original request that created the
|
|
datasource. This request will be unmodified by WebKit.
|
|
*/
|
|
- (NSURLRequest *)initialRequest;
|
|
|
|
/*!
|
|
@method request
|
|
@result Returns the request that was used to create this datasource.
|
|
*/
|
|
- (NSMutableURLRequest *)request;
|
|
|
|
/*!
|
|
@method response
|
|
@result returns the WebResourceResponse for the data source.
|
|
*/
|
|
- (NSURLResponse *)response;
|
|
|
|
/*!
|
|
@method textEncodingName
|
|
@result Returns either the override encoding, as set on the WebView for this
|
|
dataSource or the encoding from the response.
|
|
*/
|
|
- (NSString *)textEncodingName;
|
|
|
|
/*!
|
|
@method isLoading
|
|
@discussion Returns YES if there are any pending loads.
|
|
*/
|
|
- (BOOL)isLoading;
|
|
|
|
/*!
|
|
@method pageTitle
|
|
@result Returns nil or the page title.
|
|
*/
|
|
- (NSString *)pageTitle;
|
|
|
|
/*!
|
|
@method unreachableURL
|
|
@discussion This will be non-nil only for dataSources created by calls to the
|
|
WebFrame method loadAlternateHTMLString:baseURL:forUnreachableURL:.
|
|
@result returns the unreachableURL for which this dataSource is showing alternate content, or nil
|
|
*/
|
|
- (NSURL *)unreachableURL;
|
|
|
|
/*!
|
|
@method webArchive
|
|
@result A WebArchive representing the data source, its subresources and child frames.
|
|
@description This method constructs a WebArchive using the original downloaded data.
|
|
In the case of HTML, if the current state of the document is preferred, webArchive should be
|
|
called on the DOM document instead.
|
|
*/
|
|
- (WebArchive *)webArchive;
|
|
|
|
/*!
|
|
@method mainResource
|
|
@result A WebResource representing the data source.
|
|
@description This method constructs a WebResource using the original downloaded data.
|
|
This method can be used to construct a WebArchive in case the archive returned by
|
|
WebDataSource's webArchive isn't sufficient.
|
|
*/
|
|
- (WebResource *)mainResource;
|
|
|
|
/*!
|
|
@method subresources
|
|
@abstract Returns all the subresources associated with the data source.
|
|
@description The returned array only contains subresources that have fully downloaded.
|
|
*/
|
|
- (NSArray *)subresources;
|
|
|
|
/*!
|
|
method subresourceForURL:
|
|
@abstract Returns a subresource for a given URL.
|
|
@param URL The URL of the subresource.
|
|
@description Returns non-nil if the data source has fully downloaded a subresource with the given URL.
|
|
*/
|
|
- (WebResource *)subresourceForURL:(NSURL *)URL;
|
|
|
|
/*!
|
|
@method addSubresource:
|
|
@abstract Adds a subresource to the data source.
|
|
@param subresource The subresource to be added.
|
|
@description addSubresource: adds a subresource to the data source's list of subresources.
|
|
Later, if something causes the data source to load the URL of the subresource, the data source
|
|
will load the data from the subresource instead of from the network. For example, if one wants to add
|
|
an image that is already downloaded to a web page, addSubresource: can be called so that the data source
|
|
uses the downloaded image rather than accessing the network. NOTE: If the data source already has a
|
|
subresource with the same URL, addSubresource: will replace it.
|
|
*/
|
|
- (void)addSubresource:(WebResource *)subresource;
|
|
|
|
@end
|