WebCore:
authorbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Oct 2006 06:35:47 +0000 (06:35 +0000)
committerbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Oct 2006 06:35:47 +0000 (06:35 +0000)
        Reviewed by Maciej.

        Moved WebFrameLoader from WebFrameBridge into WebCoreFrameBridge

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge initMainFrameWithPage:]):
        (-[WebCoreFrameBridge initSubframeWithOwnerElement:]):
        (-[WebCoreFrameBridge dealloc]):
        (-[WebCoreFrameBridge close]):
        (-[WebCoreFrameBridge setFrameLoaderClient:]):
        (-[WebCoreFrameBridge frameLoader]):
        * loader/mac/WebFrameLoader.h:
        * loader/mac/WebFrameLoader.mm:
        (-[WebFrameLoader initWithFrameBridge:]):
        (-[WebFrameLoader setFrameLoaderClient:]):

WebKit:

        Reviewed by Maciej.

        Moved WebFrameLoader into WebCoreFrameBridge

        * WebCoreSupport/WebFrameBridge.h:
        * WebCoreSupport/WebFrameBridge.m:
        (-[WebFrameBridge initMainFrameWithPage:frameName:view:]):
        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
        (-[WebFrameBridge dealloc]):
        (-[WebFrameBridge setTitle:]):
        (-[WebFrameBridge receivedData:textEncodingName:]):
        (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
        (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
        (-[WebFrameBridge objectLoadedFromCacheWithURL:response:data:]):
        (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        (-[WebFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
        (-[WebFrameBridge reportClientRedirectCancelled:]):
        (-[WebFrameBridge close]):
        (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
        (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
        (-[WebFrameBridge tokenizerProcessedData]):
        (-[WebFrameBridge frameDetached]):
        (-[WebFrameBridge didFirstLayout]):
        (-[WebFrameBridge notifyIconChanged:]):
        (-[WebFrameBridge originalRequestURL]):
        (-[WebFrameBridge isLoadTypeReload]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@16986 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/bridge/mac/WebCoreFrameBridge.h
WebCore/bridge/mac/WebCoreFrameBridge.mm
WebCore/loader/mac/WebFrameLoader.h
WebCore/loader/mac/WebFrameLoader.mm
WebKit/ChangeLog
WebKit/WebCoreSupport/WebFrameBridge.h
WebKit/WebCoreSupport/WebFrameBridge.m

index 16063c708185951e5a8ebeb14dcb30b864759056..59e2a30e8bb9ef9c707a14c179f1022a1becccfa 100644 (file)
@@ -1,3 +1,22 @@
+2006-10-10  Brady Eidson  <beidson@apple.com>
+
+        Reviewed by Maciej.
+
+        Moved WebFrameLoader from WebFrameBridge into WebCoreFrameBridge
+
+        * bridge/mac/WebCoreFrameBridge.h:
+        * bridge/mac/WebCoreFrameBridge.mm:
+        (-[WebCoreFrameBridge initMainFrameWithPage:]):
+        (-[WebCoreFrameBridge initSubframeWithOwnerElement:]):
+        (-[WebCoreFrameBridge dealloc]):
+        (-[WebCoreFrameBridge close]):
+        (-[WebCoreFrameBridge setFrameLoaderClient:]):
+        (-[WebCoreFrameBridge frameLoader]):
+        * loader/mac/WebFrameLoader.h:
+        * loader/mac/WebFrameLoader.mm:
+        (-[WebFrameLoader initWithFrameBridge:]):
+        (-[WebFrameLoader setFrameLoaderClient:]):
+
 2006-10-10  Adam Roben  <aroben@apple.com>
 
         Reviewed by Oliver.
index 59bc04459bdce0d873e1622a9d6b7fffb4921241..9c38ee8be93c0c060fbba7d63b670da31d1de52e 100644 (file)
@@ -55,12 +55,16 @@ typedef WebCore::Element WebCoreElement;
 @class DOMRange;
 @class WebCorePageBridge;
 @class WebCoreSettings;
+@class WebFrame;
+@class WebFrameLoader;
 @class WebScriptObject;
 @class WebView;
 
 @protocol WebCoreRenderTreeCopier;
 @protocol WebCoreResourceHandle;
 @protocol WebCoreResourceLoader;
+@protocol WebFrameLoaderClient;
+
 
 extern NSString *WebCorePageCacheStateKey;
 
@@ -177,6 +181,8 @@ typedef enum {
 @interface WebCoreFrameBridge : NSObject
 {
     WebCoreMacFrame *m_frame;
+    WebFrameLoader *_frameLoader;
+
     BOOL _shouldCreateRenderers;
     BOOL _closed;
 }
@@ -502,6 +508,9 @@ typedef enum {
 
 - (void)setProhibitsScrolling:(BOOL)prohibits;
 
+- (void)setFrameLoaderClient:(id<WebFrameLoaderClient>)client;
+- (WebFrameLoader *)frameLoader;
+
 @end
 
 // The WebCoreFrameBridge protocol contains methods for use by the WebCore side of the bridge.
@@ -513,8 +522,6 @@ typedef enum {
 
 @protocol WebCoreFrameBridge
 
-- (WebFrameLoader *)frameLoader;
-
 - (void)frameDetached;
 - (NSView *)documentView;
 
index 270ab722b158643e0d8fc70ed36920972b763865..0bac9bf3fe421f98c1e944a1062d4655986724d6 100644 (file)
@@ -70,6 +70,7 @@
 #import "WebCoreSystemInterface.h"
 #import "WebCoreViewFactory.h"
 #import "WebCoreWidgetHolder.h"
+#import "WebFrameLoader.h"
 #import "XMLTokenizer.h"
 #import "csshelper.h"
 #import "htmlediting.h"
@@ -484,6 +485,8 @@ static inline WebCoreFrameBridge *bridge(Frame *frame)
         WebCore::Cache::setSize([self getObjectCacheSize]);
         initializedObjectCacheSize = true;
     }
+
+    _frameLoader = [[WebFrameLoader alloc] initWithFrameBridge:self];
     
     return self;
 }
@@ -496,6 +499,9 @@ static inline WebCoreFrameBridge *bridge(Frame *frame)
     m_frame = new FrameMac(ownerElement->document()->frame()->page(), ownerElement);
     m_frame->setBridge(self);
     _shouldCreateRenderers = YES;
+
+    _frameLoader = [[WebFrameLoader alloc] initWithFrameBridge:self];
+
     return self;
 }
 
@@ -512,6 +518,10 @@ static inline WebCoreFrameBridge *bridge(Frame *frame)
 - (void)dealloc
 {
     ASSERT(_closed);
+    
+    [_frameLoader release];
+    _frameLoader = nil;
+    
     [super dealloc];
 }
 
@@ -525,6 +535,8 @@ static inline WebCoreFrameBridge *bridge(Frame *frame)
 {
     [self removeFromFrame];
     [self clearFrame];
+    [_frameLoader release];
+    _frameLoader = nil;
     _closed = YES;
 }
 
@@ -2588,6 +2600,16 @@ static NSCharacterSet *_getPostSmartSet(void)
     return m_frame->page()->mainFrame() == m_frame;
 }
 
+- (void)setFrameLoaderClient:(id<WebFrameLoaderClient>)client
+{
+    [_frameLoader setFrameLoaderClient:client];
+}
+
+- (WebFrameLoader *)frameLoader
+{
+    return _frameLoader;
+}
+
 @end
 
 @implementation WebCoreFrameBridge (WebCoreBridgeInternal)
index f88262dfc334444ceca444247384f9f72fde2ce4..74f82de7f65f63809e30adbc84a0ee39df9f2662 100644 (file)
@@ -115,7 +115,7 @@ BOOL isBackForwardLoadType(FrameLoadType type);
     BOOL isStoppingLoad;    
 }
 
-- (id)initWithFrame:(WebCoreFrameBridge *)bridge client:(id<WebFrameLoaderClient>)client;
+- (id)initWithFrameBridge:(WebCoreFrameBridge *)bridge;
 - (void)addPlugInStreamLoader:(WebLoader *)loader;
 - (void)removePlugInStreamLoader:(WebLoader *)loader;
 - (void)setDefersCallbacks:(BOOL)defers;
@@ -249,6 +249,7 @@ BOOL isBackForwardLoadType(FrameLoadType type);
 - (NSDictionary *)actionInformationForNavigationType:(NavigationType)navigationType event:(NSEvent *)event originalURL:(NSURL *)URL;
 - (NSDictionary *)actionInformationForLoadType:(FrameLoadType)loadType isFormSubmission:(BOOL)isFormSubmission event:(NSEvent *)event originalURL:(NSURL *)URL;
 
+- (void)setFrameLoaderClient:(id<WebFrameLoaderClient>)cli;
 - (id<WebFrameLoaderClient>)client;
    
 @end
index 9ed3fcd94887c56d4dcf2600c9d75207c7361fb0..78f8c973810865b577350713d6dcfd52c3715fbe 100644 (file)
@@ -68,11 +68,10 @@ BOOL isBackForwardLoadType(FrameLoadType type)
 
 @implementation WebFrameLoader
 
-- (id)initWithFrame:(WebCoreFrameBridge *)bridge client:(id<WebFrameLoaderClient>)c
+- (id)initWithFrameBridge:(WebCoreFrameBridge *)bridge
 {
     self = [super init];
     if (self) {
-        client = c;
         frameBridge = bridge;
         state = WebFrameStateCommittedPage;
     }
@@ -1858,6 +1857,11 @@ NSString *ActionOriginalURLKey = @"WebActionOriginalURLKey";
     }
 }
 
+- (void)setFrameLoaderClient:(id<WebFrameLoaderClient>)cli
+{
+    client = cli;
+}
+
 - (id<WebFrameLoaderClient>)client
 {
     return client;
index 133eafce82341b94acff50d5d3d20cc38e48bd2a..84e84395f68919507ac53f3d21b45568176c5261 100644 (file)
@@ -1,3 +1,32 @@
+2006-10-10  Brady Eidson  <beidson@apple.com>
+
+        Reviewed by Maciej.
+
+        Moved WebFrameLoader into WebCoreFrameBridge
+
+        * WebCoreSupport/WebFrameBridge.h:
+        * WebCoreSupport/WebFrameBridge.m:
+        (-[WebFrameBridge initMainFrameWithPage:frameName:view:]):
+        (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
+        (-[WebFrameBridge dealloc]):
+        (-[WebFrameBridge setTitle:]):
+        (-[WebFrameBridge receivedData:textEncodingName:]):
+        (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
+        (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
+        (-[WebFrameBridge objectLoadedFromCacheWithURL:response:data:]):
+        (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
+        (-[WebFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
+        (-[WebFrameBridge reportClientRedirectCancelled:]):
+        (-[WebFrameBridge close]):
+        (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
+        (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
+        (-[WebFrameBridge tokenizerProcessedData]):
+        (-[WebFrameBridge frameDetached]):
+        (-[WebFrameBridge didFirstLayout]):
+        (-[WebFrameBridge notifyIconChanged:]):
+        (-[WebFrameBridge originalRequestURL]):
+        (-[WebFrameBridge isLoadTypeReload]):
+
 2006-10-10  Adele Peterson  <adele@apple.com>
 
         Reviewed by Beth.
index 1689c2a3df8df555ad33ad4f6548834babb54e1e..a0ead921e5056195f09a050d73847f321521e2f2 100644 (file)
 @class WebFrame;
 @class WebFrameLoader;
 @class WebFrameView;
-@class WebFrameLoader;
 
 @protocol WebOpenPanelResultListener;
 
 @interface WebFrameBridge : WebCoreFrameBridge <WebCoreFrameBridge>
 {
     WebFrame *_frame;
-    WebFrameLoader *_frameLoader;
 
     WebCoreKeyboardUIMode _keyboardUIMode;
     BOOL _keyboardUIModeAccessed;
@@ -59,6 +57,5 @@
 - (BOOL)inNextKeyViewOutsideWebFrameViews;
 
 - (WebFrame *)webFrame;
-- (WebFrameLoader *)frameLoader;
 
 @end
index e4d3375aaabaf05b68a597f27086e93aa5e91855..5b2dbb49116cdad67fe2e9f851c6e17a6814bc18 100644 (file)
@@ -118,12 +118,12 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
 - (id)initMainFrameWithPage:(WebPageBridge *)page frameName:(NSString *)name view:(WebFrameView *)view
 {
     self = [super initMainFrameWithPage:page];
-
+    _frame = [[WebFrame alloc] _initWithWebFrameView:view webView:[self webView] bridge:self];
+    
+    [self setFrameLoaderClient:_frame];
+    
     ++WebBridgeCount;
     
-    _frame = [[WebFrame alloc] _initWithWebFrameView:view webView:[self webView] bridge:self];
-    _frameLoader = [[WebFrameLoader alloc] initWithFrame:self client:_frame];
-
     [self setName:name];
     [self initializeSettings:[[self webView] _settings]];
     [self setTextSizeMultiplier:[[self webView] textSizeMultiplier]];
@@ -134,12 +134,12 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
 - (id)initSubframeWithOwnerElement:(WebCoreElement *)ownerElement frameName:(NSString *)name view:(WebFrameView *)view
 {
     self = [super initSubframeWithOwnerElement:ownerElement];
+    _frame = [[WebFrame alloc] _initWithWebFrameView:view webView:[self webView] bridge:self];
+    
+    [self setFrameLoaderClient:_frame];
 
     ++WebBridgeCount;
     
-    _frame = [[WebFrame alloc] _initWithWebFrameView:view webView:[self webView] bridge:self];
-    _frameLoader = [[WebFrameLoader alloc] initWithFrame:self client:_frame];
-
     [self setName:name];
     [self initializeSettings:[[self webView] _settings]];
     [self setTextSizeMultiplier:[[self webView] textSizeMultiplier]];
@@ -167,7 +167,6 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
 {
     [lastDashboardRegions release];
     [_frame release];
-    [_frameLoader release];
     
     [self fini];
     [super dealloc];
@@ -228,11 +227,6 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
     return _frame;
 }
 
-- (WebFrameLoader *)frameLoader
-{
-    return _frameLoader;
-}
-
 - (WebCoreFrameBridge *)mainFrame
 {
     ASSERT(_frame != nil);
@@ -487,7 +481,7 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
 
 - (void)setTitle:(NSString *)title
 {
-    [[_frameLoader documentLoader] setTitle:[title _webkit_stringByCollapsingNonPrintingCharacters]];
+    [[[self frameLoader] documentLoader] setTitle:[title _webkit_stringByCollapsingNonPrintingCharacters]];
 }
 
 - (void)setStatusText:(NSString *)status
@@ -500,7 +494,7 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
 - (void)receivedData:(NSData *)data textEncodingName:(NSString *)textEncodingName
 {
     // Set the encoding. This only needs to be done once, but it's harmless to do it again later.
-    NSString *encoding = [[_frameLoader documentLoader] overrideEncoding];
+    NSString *encoding = [[[self frameLoader] documentLoader] overrideEncoding];
     BOOL userChosen = encoding != nil;
     if (encoding == nil) {
         encoding = textEncodingName;
@@ -527,7 +521,7 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
                                                   URL:URL
                                         customHeaders:customHeaders
                                              referrer:(hideReferrer ? nil : [self referrer])
-                                       forFrameLoader:_frameLoader];
+                                       forFrameLoader:[self frameLoader]];
 }
 
 - (id <WebCoreResourceHandle>)startLoadingResource:(id <WebCoreResourceLoader>)resourceLoader withMethod:(NSString *)method URL:(NSURL *)URL customHeaders:(NSDictionary *)customHeaders postData:(NSArray *)postData
@@ -548,7 +542,7 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
                                         customHeaders:customHeaders
                                              postData:postData
                                              referrer:(hideReferrer ? nil : [self referrer])
-                                       forFrameLoader:_frameLoader];
+                                       forFrameLoader:[self frameLoader]];
 }
 
 - (void)objectLoadedFromCacheWithURL:(NSURL *)URL response:(NSURLResponse *)response data:(NSData *)data
@@ -557,8 +551,8 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
     NSError *error;
     id identifier;
     NSURLRequest *request = [[NSURLRequest alloc] initWithURL:URL];
-    [_frameLoader requestFromDelegateForRequest:request identifier:&identifier error:&error];    
-    [_frameLoader sendRemainingDelegateMessagesWithIdentifier:identifier response:response length:[data length] error:error];
+    [[self frameLoader] requestFromDelegateForRequest:request identifier:&identifier error:&error];    
+    [[self frameLoader] sendRemainingDelegateMessagesWithIdentifier:identifier response:response length:[data length] error:error];
     [request release];
 }
 
@@ -598,7 +592,7 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
     
     NSError *error = nil;
     id identifier = nil;    
-    NSURLRequest *newRequest = [_frameLoader requestFromDelegateForRequest:request identifier:&identifier error:&error];
+    NSURLRequest *newRequest = [[self frameLoader] requestFromDelegateForRequest:request identifier:&identifier error:&error];
     
     NSURLResponse *response = nil;
     NSData *result = nil;
@@ -627,7 +621,7 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
         }
     }
     
-    [_frameLoader sendRemainingDelegateMessagesWithIdentifier:identifier response:response length:[result length] error:error];
+    [[self frameLoader] sendRemainingDelegateMessagesWithIdentifier:identifier response:response length:[result length] error:error];
     [request release];
     
     return result;
@@ -657,12 +651,12 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
 
 - (void)reportClientRedirectToURL:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory isJavaScriptFormAction:(BOOL)isJavaScriptFormAction
 {
-    [_frameLoader clientRedirectedTo:URL delay:seconds fireDate:date lockHistory:lockHistory isJavaScriptFormAction:(BOOL)isJavaScriptFormAction];
+    [[self frameLoader] clientRedirectedTo:URL delay:seconds fireDate:date lockHistory:lockHistory isJavaScriptFormAction:(BOOL)isJavaScriptFormAction];
 }
 
 - (void)reportClientRedirectCancelled:(BOOL)cancelWithLoadInProgress
 {
-    [_frameLoader clientRedirectCancelledOrFinished:cancelWithLoadInProgress];
+    [[self frameLoader] clientRedirectCancelledOrFinished:cancelWithLoadInProgress];
 }
 
 - (void)close
@@ -670,8 +664,6 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
     [super close];
     [_frame release];
     _frame = nil;
-    [_frameLoader release];
-    _frameLoader = nil;
 }
 
 - (void)activateWindow
@@ -721,7 +713,7 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
         loadType = WebFrameLoadTypeInternal;
     else
         loadType = WebFrameLoadTypeStandard;
-    [_frameLoader loadURL:URL referrer:(hideReferrer ? nil : referrer) loadType:loadType target:target triggeringEvent:event form:form formValues:values];
+    [[self frameLoader] loadURL:URL referrer:(hideReferrer ? nil : referrer) loadType:loadType target:target triggeringEvent:event form:form formValues:values];
 
     if (targetFrame != nil && _frame != targetFrame) {
         [[targetFrame _bridge] activateWindow];
@@ -741,7 +733,7 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
     if (![self canTargetLoadInFrame:[targetFrame _bridge]])
         return;
 
-    [_frameLoader postWithURL:URL referrer:(hideReferrer ? nil : referrer) target:target
+    [[self frameLoader] postWithURL:URL referrer:(hideReferrer ? nil : referrer) target:target
         data:postData contentType:contentType
         triggeringEvent:event form:form formValues:values];
 
@@ -878,7 +870,7 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
 
 - (void)tokenizerProcessedData
 {
-    [_frameLoader checkLoadComplete];
+    [[self frameLoader] checkLoadComplete];
 }
 
 - (NSString *)incomingReferrer
@@ -1330,7 +1322,7 @@ static id <WebFormDelegate> formDelegate(WebFrameBridge *self)
 - (void)frameDetached
 {
     [_frame stopLoading];
-    [_frameLoader detachFromParent];
+    [[self frameLoader] detachFromParent];
 }
 
 - (void)setHasBorder:(BOOL)hasBorder
@@ -1522,7 +1514,7 @@ static id <WebFormDelegate> formDelegate(WebFrameBridge *self)
 
 - (void)didFirstLayout
 {
-    [_frameLoader didFirstLayout];
+    [[self frameLoader] didFirstLayout];
 }
 
 - (BOOL)_compareDashboardRegions:(NSDictionary *)regions
@@ -1713,17 +1705,17 @@ static id <WebFormDelegate> formDelegate(WebFrameBridge *self)
 
 - (void)notifyIconChanged:(NSURL*)iconURL
 {
-    [_frameLoader _notifyIconChanged:iconURL];
+    [[self frameLoader] _notifyIconChanged:iconURL];
 }
 
 - (NSURL*)originalRequestURL
 {
-    return [[[_frameLoader activeDocumentLoader] initialRequest] URL];
+    return [[[[self frameLoader] activeDocumentLoader] initialRequest] URL];
 }
 
 - (BOOL)isLoadTypeReload
 {
-    return [_frameLoader loadType] == WebFrameLoadTypeReload;
+    return [[self frameLoader] loadType] == WebFrameLoadTypeReload;
 }
 
 @end