#import <Cocoa/Cocoa.h>
-#import "WebDocumentLoader.h"
-#import "WebFrameLoaderClient.h"
-#import "WebFramePrivate.h"
-
+@class DOMElement;
@class WebArchive;
@class WebDataSource;
+@class WebDocumentLoader;
@class WebFormState;
+@class WebFrame;
+@class WebFrame;
@class WebFrameBridge;
-@class WebMainResourceLoader;
@class WebLoader;
-@class WebResource;
-@class WebFrame;
+@class WebMainResourceLoader;
@class WebPolicyDecisionListener;
-@class DOMElement;
+@class WebResource;
+@protocol WebFrameLoaderClient;
typedef enum {
WebFrameStateProvisional,
WebPolicyIgnore,
} WebPolicyAction;
+typedef enum {
+ FrameLoadTypeStandard,
+ FrameLoadTypeBack,
+ FrameLoadTypeForward,
+ FrameLoadTypeIndexedBackForward, // a multi-item hop in the backforward list
+ FrameLoadTypeReload,
+ FrameLoadTypeReloadAllowingStaleData,
+ FrameLoadTypeSame, // user loads same URL again (but not reload button)
+ FrameLoadTypeInternal,
+ FrameLoadTypeReplace
+} FrameLoadType;
+
@interface WebFrameLoader : NSObject
{
@public
NSMutableDictionary *pendingArchivedResources;
- WebFrameLoadType loadType;
+ FrameLoadType loadType;
// state we'll need to continue after waiting for the policy delegate's decision
NSURLRequest *policyRequest;
id policyTarget;
SEL policySelector;
WebFormState *policyFormState;
- WebFrameLoadType policyLoadType;
+ FrameLoadType policyLoadType;
BOOL delegateIsHandlingProvisionalLoadError;
BOOL delegateIsDecidingNavigationPolicy;
- (void)_loadRequest:(NSURLRequest *)request archive:(WebArchive *)archive;
- (void)reload;
- (void)_reloadAllowingStaleDataWithOverrideEncoding:(NSString *)encoding;
-- (void)_loadRequest:(NSURLRequest *)request triggeringAction:(NSDictionary *)action loadType:(WebFrameLoadType)loadType formState:(WebFormState *)formState;
+- (void)_loadRequest:(NSURLRequest *)request triggeringAction:(NSDictionary *)action loadType:(FrameLoadType)loadType formState:(WebFormState *)formState;
- (void)didReceiveServerRedirectForProvisionalLoadForFrame;
- (WebFrameBridge *)bridge;
- (void)willChangeTitleForDocument:(WebDocumentLoader *)loader;
- (void)didChangeTitleForDocument:(WebDocumentLoader *)loader;
-- (WebFrameLoadType)loadType;
-- (void)setLoadType:(WebFrameLoadType)type;
+- (FrameLoadType)loadType;
+- (void)setLoadType:(FrameLoadType)type;
- (BOOL)delegateIsHandlingProvisionalLoadError;
- (void)setDelegateIsHandlingProvisionalLoadError:(BOOL)is;
- (void)checkNavigationPolicyForRequest:(NSURLRequest *)request dataSource:(WebDataSource *)dataSource formState:(WebFormState *)formState andCall:(id)target withSelector:(SEL)selector;
- (void)continueAfterWillSubmitForm:(WebPolicyAction)policy;
- (void)continueLoadRequestAfterNavigationPolicy:(NSURLRequest *)request formState:(WebFormState *)formState;
-- (void)loadDataSource:(WebDataSource *)newDataSource withLoadType:(WebFrameLoadType)loadType formState:(WebFormState *)formState;
+- (void)loadDataSource:(WebDataSource *)newDataSource withLoadType:(FrameLoadType)loadType formState:(WebFormState *)formState;
- (void)handleUnimplementablePolicyWithErrorCode:(int)code forURL:(NSURL *)URL;
- (void)didFirstLayout;
- (void)clientRedirectCancelledOrFinished:(BOOL)cancelWithLoadInProgress;
- (void)clientRedirectedTo:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory isJavaScriptFormAction:(BOOL)isJavaScriptFormAction;
-- (void)loadURL:(NSURL *)URL referrer:(NSString *)referrer loadType:(WebFrameLoadType)loadType target:(NSString *)target triggeringEvent:(NSEvent *)event form:(DOMElement *)form formValues:(NSDictionary *)values;
+- (void)loadURL:(NSURL *)URL referrer:(NSString *)referrer loadType:(FrameLoadType)loadType target:(NSString *)target triggeringEvent:(NSEvent *)event form:(DOMElement *)form formValues:(NSDictionary *)values;
- (void)commitProvisionalLoad:(NSDictionary *)pageCache;
- (BOOL)isQuickRedirectComing;
- (BOOL)shouldReloadForCurrent:(NSURL *)currentURL andDestination:(NSURL *)destinationURL;