Reviewed by Darin.
[WebKit-https.git] / WebKit / Loader / WebFrameLoader.h
index 75311999e349c6a1d15ca6c93b1b6d83f7ff6eab..1a4d370c6ec44715dc6dc6f5f98e3a2af903d6bf 100644 (file)
 
 #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,
@@ -59,6 +58,18 @@ typedef enum {
     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
@@ -78,7 +89,7 @@ typedef enum {
     
     NSMutableDictionary *pendingArchivedResources;
 
-    WebFrameLoadType loadType;
+    FrameLoadType loadType;
 
     // state we'll need to continue after waiting for the policy delegate's decision
     NSURLRequest *policyRequest;
@@ -86,7 +97,7 @@ typedef enum {
     id policyTarget;
     SEL policySelector;
     WebFormState *policyFormState;
-    WebFrameLoadType policyLoadType;
+    FrameLoadType policyLoadType;
 
     BOOL delegateIsHandlingProvisionalLoadError;
     BOOL delegateIsDecidingNavigationPolicy;
@@ -187,7 +198,7 @@ typedef enum {
 - (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;
@@ -204,8 +215,8 @@ typedef enum {
 - (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;
 
@@ -214,7 +225,7 @@ typedef enum {
 - (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;
@@ -222,7 +233,7 @@ typedef enum {
 
 - (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;