[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

rjw rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 05:56:06 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 6c745dfc93f0e78831ebe792f6024c3c40e48143
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Feb 22 20:27:26 2002 +0000

    Normalized code paths for setMainDataSource on controller and setDataSource on frame.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@657 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index dbc60b7..6cf7f6a 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,6 +1,26 @@
+2002-02-22  Richard Williamson  <rjw at apple.com>
+
+        Normalized code paths for setMainDataSource on controller and setDataSource on frame.
+        
+	* WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
+	setMainView:andMainDataSource:]), (-[IFBaseWebController
+	createFrameNamed:for:inParent:]), (-[IFBaseWebController
+	_changeFrame:dataSource:]):
+	* WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
+	_setController:]):
+	* WebView.subproj/IFWebFrame.h:
+	* WebView.subproj/IFWebFrame.mm: (-[IFWebFrame init]), (-[IFWebFrame
+	initWithName:view:dataSource:controller:]), (-[IFWebFrame setView:]),
+	(-[IFWebFrame controller]), (-[IFWebFrame setController:]), (-[IFWebFrame
+	setDataSource:]), (-[IFWebFrame reset]):
+	* WebView.subproj/IFWebFramePrivate.h:
+	* WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate setController:]),
+	(-[IFWebFrame _setRenderFramePart:]), (-[IFWebFrame _renderFramePart]),
+	(-[IFWebFrame _setDataSource:]):
+
 2002-02-21  Richard Williamson  <rjw at apple.com>
 
-    Sop mostly working.
+        Stop mostly working.
     
 	* WebView.subproj/IFBaseWebController.h:
 	* WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index dbc60b7..6cf7f6a 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,6 +1,26 @@
+2002-02-22  Richard Williamson  <rjw at apple.com>
+
+        Normalized code paths for setMainDataSource on controller and setDataSource on frame.
+        
+	* WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
+	setMainView:andMainDataSource:]), (-[IFBaseWebController
+	createFrameNamed:for:inParent:]), (-[IFBaseWebController
+	_changeFrame:dataSource:]):
+	* WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
+	_setController:]):
+	* WebView.subproj/IFWebFrame.h:
+	* WebView.subproj/IFWebFrame.mm: (-[IFWebFrame init]), (-[IFWebFrame
+	initWithName:view:dataSource:controller:]), (-[IFWebFrame setView:]),
+	(-[IFWebFrame controller]), (-[IFWebFrame setController:]), (-[IFWebFrame
+	setDataSource:]), (-[IFWebFrame reset]):
+	* WebView.subproj/IFWebFramePrivate.h:
+	* WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate setController:]),
+	(-[IFWebFrame _setRenderFramePart:]), (-[IFWebFrame _renderFramePart]),
+	(-[IFWebFrame _setDataSource:]):
+
 2002-02-21  Richard Williamson  <rjw at apple.com>
 
-    Sop mostly working.
+        Stop mostly working.
     
 	* WebView.subproj/IFBaseWebController.h:
 	* WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
diff --git a/WebKit/WebView.subproj/IFBaseWebController.mm b/WebKit/WebView.subproj/IFBaseWebController.mm
index 5798285..e7601f0 100644
--- a/WebKit/WebView.subproj/IFBaseWebController.mm
+++ b/WebKit/WebView.subproj/IFBaseWebController.mm
@@ -7,6 +7,7 @@
 #import <WebKit/IFWebViewPrivate.h>
 #import <WebKit/IFWebDataSourcePrivate.h>
 #import <WebKit/IFWebFrame.h>
+#import <WebKit/IFWebFramePrivate.h>
 #import <WebKit/IFException.h>
 
 #include <KWQKHTMLPart.h>
@@ -127,20 +128,12 @@
             return NO;
     }
     
-    // Required to break retain cycle between frame and datasource.
+    // Do we need to delete and recreate the main frame?  Or can we reuse it?
     [data->mainFrame reset];
     [data->mainFrame autorelease];
     
-    data->mainFrame = [[IFWebFrame alloc] init];
-    [data->mainFrame setView: view];
-    [view _setController: self];
+    data->mainFrame = [[IFWebFrame alloc] initWithName: @"top" view: view dataSource: dataSource controller: self];
     
-    [data->mainFrame setDataSource: dataSource];
-    [dataSource _setController: self];
-    
-    if (dataSource != nil){
-        [self _changeFrame: data->mainFrame dataSource: dataSource];
-    }
     return YES;
 }
 
@@ -154,7 +147,7 @@
 
     childView = [[IFWebView alloc] initWithFrame: NSMakeRect (0,0,0,0)];
 
-    newFrame = [[[IFWebFrame alloc] initWithName: fname view: childView dataSource: childDataSource] autorelease];
+    newFrame = [[[IFWebFrame alloc] initWithName: fname view: childView dataSource: childDataSource controller: self] autorelease];
 
     [parentDataSource addFrame: newFrame];
 
@@ -278,8 +271,9 @@
         [newDataSource _setParent: nil];
     else if (oldDataSource && oldDataSource != newDataSource)
         [newDataSource _setParent: [oldDataSource parent]];
+            
     [newDataSource _setController: self];
-    [frame setDataSource: newDataSource];
+    [frame _setDataSource: newDataSource];
     
     // dataSourceChanged: will reset the view and begin trying to
     // display the new new datasource.
diff --git a/WebKit/WebView.subproj/IFWebDataSourcePrivate.mm b/WebKit/WebView.subproj/IFWebDataSourcePrivate.mm
index 0ab3c3d..ebe542b 100644
--- a/WebKit/WebView.subproj/IFWebDataSourcePrivate.mm
+++ b/WebKit/WebView.subproj/IFWebDataSourcePrivate.mm
@@ -11,7 +11,6 @@
 
 
 
-
 @implementation IFWebDataSourcePrivate 
 
 - init
@@ -45,10 +44,12 @@
 @implementation IFWebDataSource (IFPrivate)
 - (void)_setController: (id <IFWebController>)controller
 {
-    //if (((IFWebDataSourcePrivate *)_dataSourcePrivate)->parent != nil)
-        //[NSException raise:IFRuntimeError format:@"IFWebDataSource::_setController: called not called on main data source."];
-    ((IFWebDataSourcePrivate *)_dataSourcePrivate)->controller = controller;
-    ((IFWebDataSourcePrivate *)_dataSourcePrivate)->part->setDataSource (self);
+    IFWebDataSourcePrivate *data = (IFWebDataSourcePrivate *)_dataSourcePrivate;
+
+    WEBKIT_ASSERT (data->part != nil);
+
+    data->controller = controller;
+    data->part->setDataSource (self);
 }
 
 
diff --git a/WebKit/WebView.subproj/IFWebFrame.h b/WebKit/WebView.subproj/IFWebFrame.h
index 5bfb9d2..1634bd1 100644
--- a/WebKit/WebView.subproj/IFWebFrame.h
+++ b/WebKit/WebView.subproj/IFWebFrame.h
@@ -7,6 +7,8 @@
 */
 #import <Cocoa/Cocoa.h>
 
+#import <WebKit/IFWebController.h>
+
 @class IFWebDataSource;
 
 @interface IFWebFrame : NSObject
@@ -15,8 +17,13 @@
     id _framePrivate;
 }
 
-- initWithName: (NSString *)name view: view dataSource: (IFWebDataSource *)dataSource;
+- initWithName: (NSString *)name view: view dataSource: (IFWebDataSource *)dataSource controller: (id <IFWebController>)controller;
 - (NSString *)name;
+
+
+- (void)setController: (id <IFWebController>)controller;
+- (id <IFWebController>)controller;
+
 - (void)setView: view;
 - view;
 
@@ -30,12 +37,6 @@
 
 - (IFWebDataSource *)provisionalDataSource;
 
-
-
 - (void)reset;
 
-// private
-- (void)_setRenderFramePart: (void *)p;
-- (void *)_renderFramePart;
-
 @end
diff --git a/WebKit/WebView.subproj/IFWebFrame.mm b/WebKit/WebView.subproj/IFWebFrame.mm
index 4b157b5..8c7f33b 100644
--- a/WebKit/WebView.subproj/IFWebFrame.mm
+++ b/WebKit/WebView.subproj/IFWebFrame.mm
@@ -9,15 +9,18 @@
 #import <WebKit/IFWebFramePrivate.h>
 #import <WebKit/IFWebViewPrivate.h>
 #import <WebKit/IFWebDataSource.h>
+#import <WebKit/IFBaseWebControllerPrivate.h>
+
+#import <WebKit/WebKitDebug.h>
 
 @implementation IFWebFrame
 
 - init
 {
-    return [self initWithName: nil view: nil dataSource: nil];
+    return [self initWithName: nil view: nil dataSource: nil controller: nil];
 }
 
-- initWithName: (NSString *)n view: v dataSource: (IFWebDataSource *)d
+- initWithName: (NSString *)n view: v dataSource: (IFWebDataSource *)d controller: (id<IFWebController>)c
 {
     IFWebFramePrivate *data;
 
@@ -28,8 +31,10 @@
     data = (IFWebFramePrivate *)_framePrivate;
     
     [data setName: n];
-    [data setView: v];
-    [data setDataSource:  d];
+    
+    [self setController: c];
+    [self setView: v];
+    [self setDataSource:  d];
     
     return self; 
 }
@@ -51,6 +56,7 @@
 {
     IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
     [data setView: v];
+    [v _setController: [self controller]];
 }
 
 - view
@@ -60,6 +66,20 @@
 }
 
 
+- (id <IFWebController>)controller
+{
+    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
+    return [data controller];
+}
+
+- (void)setController: (id <IFWebController>)controller
+{
+    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
+    [data setController: controller];
+}
+
+
+
 - (IFWebDataSource *)dataSource
 {
     IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
@@ -71,13 +91,16 @@
     IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
     if ([data dataSource] == ds)
         return;
+
+    WEBKIT_ASSERT ([self controller] != nil);
         
-    [data setDataSource: ds];
-    //[[data dataSource] setFrame: self];
+    // FIXME!  _changeFrame:dataSource: is implemented in IFBaseWebController, not a IFWebController
+    // method!
+    if (ds != nil){
+        [[self controller] _changeFrame: self dataSource: ds];
+    }
 }
 
-// Required to break retain cycle between frame and data source,
-// and also release the widget's view reference.
 - (void)reset
 {
     IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
@@ -86,17 +109,4 @@
     [data setView: nil];
 }
 
-// renderFramePart is a pointer to a RenderPart
-- (void)_setRenderFramePart: (void *)p
-{
-    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
-    [data setRenderFramePart: p];
-}
-
-- (void *)_renderFramePart
-{
-    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
-    return [data renderFramePart];
-}
-
 @end
diff --git a/WebKit/WebView.subproj/IFWebFramePrivate.h b/WebKit/WebView.subproj/IFWebFramePrivate.h
index 2b1f93b..8dbb839 100644
--- a/WebKit/WebView.subproj/IFWebFramePrivate.h
+++ b/WebKit/WebView.subproj/IFWebFramePrivate.h
@@ -17,10 +17,13 @@
     IFWebDataSource *dataSource;
     IFWebDataSource *provisionalDataSource;
     void *renderFramePart;
+    id <IFWebController>controller;
 }
 
 - (void)setName: (NSString *)n;
 - (NSString *)name;
+- (void)setController: (id <IFWebController>)c;
+- (id <IFWebController>)controller;
 - (void)setView: v;
 - view;
 - (void)setDataSource: (IFWebDataSource *)d;
@@ -29,3 +32,9 @@
 - (void *)renderFramePart;
 
 @end
+
+ at interface IFWebFrame (IFPrivate)
+- (void)_setRenderFramePart: (void *)p;
+- (void *)_renderFramePart;
+- (void)_setDataSource: (IFWebDataSource *)d;
+ at end
diff --git a/WebKit/WebView.subproj/IFWebFramePrivate.mm b/WebKit/WebView.subproj/IFWebFramePrivate.mm
index 73c2a8d..c1d7c42 100644
--- a/WebKit/WebView.subproj/IFWebFramePrivate.mm
+++ b/WebKit/WebView.subproj/IFWebFramePrivate.mm
@@ -4,6 +4,7 @@
 	    Copyright 2001, Apple, Inc. All rights reserved.
 */
 #import <WebKit/IFWebDataSource.h>
+#import <WebKit/IFWebDataSourcePrivate.h>
 #import <WebKit/IFWebFramePrivate.h>
 
 @implementation IFWebFramePrivate
@@ -39,6 +40,14 @@
 }
 
 
+- (id <IFWebController>)controller { return controller; }
+- (void)setController: (id <IFWebController>)c
+{ 
+    // Warning:  non-retained reference
+    controller = c;
+}
+
+
 - (IFWebDataSource *)provisionalDataSource { return provisionalDataSource; }
 - (void)setProvisionalDataSource: (IFWebDataSource *)d
 { 
@@ -55,3 +64,31 @@
 
 
 @end
+
+
+ at implementation IFWebFrame (IFPrivate)
+
+
+// renderFramePart is a pointer to a RenderPart
+- (void)_setRenderFramePart: (void *)p
+{
+    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
+    [data setRenderFramePart: p];
+}
+
+- (void *)_renderFramePart
+{
+    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
+    return [data renderFramePart];
+}
+
+- (void)_setDataSource: (IFWebDataSource *)ds
+{
+    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
+    [data setDataSource: ds];
+    [ds _setController: [self controller]];
+}
+
+
+ at end
+
diff --git a/WebKit/WebView.subproj/WebDataSourcePrivate.m b/WebKit/WebView.subproj/WebDataSourcePrivate.m
index 0ab3c3d..ebe542b 100644
--- a/WebKit/WebView.subproj/WebDataSourcePrivate.m
+++ b/WebKit/WebView.subproj/WebDataSourcePrivate.m
@@ -11,7 +11,6 @@
 
 
 
-
 @implementation IFWebDataSourcePrivate 
 
 - init
@@ -45,10 +44,12 @@
 @implementation IFWebDataSource (IFPrivate)
 - (void)_setController: (id <IFWebController>)controller
 {
-    //if (((IFWebDataSourcePrivate *)_dataSourcePrivate)->parent != nil)
-        //[NSException raise:IFRuntimeError format:@"IFWebDataSource::_setController: called not called on main data source."];
-    ((IFWebDataSourcePrivate *)_dataSourcePrivate)->controller = controller;
-    ((IFWebDataSourcePrivate *)_dataSourcePrivate)->part->setDataSource (self);
+    IFWebDataSourcePrivate *data = (IFWebDataSourcePrivate *)_dataSourcePrivate;
+
+    WEBKIT_ASSERT (data->part != nil);
+
+    data->controller = controller;
+    data->part->setDataSource (self);
 }
 
 
diff --git a/WebKit/WebView.subproj/WebFrame.h b/WebKit/WebView.subproj/WebFrame.h
index 5bfb9d2..1634bd1 100644
--- a/WebKit/WebView.subproj/WebFrame.h
+++ b/WebKit/WebView.subproj/WebFrame.h
@@ -7,6 +7,8 @@
 */
 #import <Cocoa/Cocoa.h>
 
+#import <WebKit/IFWebController.h>
+
 @class IFWebDataSource;
 
 @interface IFWebFrame : NSObject
@@ -15,8 +17,13 @@
     id _framePrivate;
 }
 
-- initWithName: (NSString *)name view: view dataSource: (IFWebDataSource *)dataSource;
+- initWithName: (NSString *)name view: view dataSource: (IFWebDataSource *)dataSource controller: (id <IFWebController>)controller;
 - (NSString *)name;
+
+
+- (void)setController: (id <IFWebController>)controller;
+- (id <IFWebController>)controller;
+
 - (void)setView: view;
 - view;
 
@@ -30,12 +37,6 @@
 
 - (IFWebDataSource *)provisionalDataSource;
 
-
-
 - (void)reset;
 
-// private
-- (void)_setRenderFramePart: (void *)p;
-- (void *)_renderFramePart;
-
 @end
diff --git a/WebKit/WebView.subproj/WebFrame.m b/WebKit/WebView.subproj/WebFrame.m
index 4b157b5..8c7f33b 100644
--- a/WebKit/WebView.subproj/WebFrame.m
+++ b/WebKit/WebView.subproj/WebFrame.m
@@ -9,15 +9,18 @@
 #import <WebKit/IFWebFramePrivate.h>
 #import <WebKit/IFWebViewPrivate.h>
 #import <WebKit/IFWebDataSource.h>
+#import <WebKit/IFBaseWebControllerPrivate.h>
+
+#import <WebKit/WebKitDebug.h>
 
 @implementation IFWebFrame
 
 - init
 {
-    return [self initWithName: nil view: nil dataSource: nil];
+    return [self initWithName: nil view: nil dataSource: nil controller: nil];
 }
 
-- initWithName: (NSString *)n view: v dataSource: (IFWebDataSource *)d
+- initWithName: (NSString *)n view: v dataSource: (IFWebDataSource *)d controller: (id<IFWebController>)c
 {
     IFWebFramePrivate *data;
 
@@ -28,8 +31,10 @@
     data = (IFWebFramePrivate *)_framePrivate;
     
     [data setName: n];
-    [data setView: v];
-    [data setDataSource:  d];
+    
+    [self setController: c];
+    [self setView: v];
+    [self setDataSource:  d];
     
     return self; 
 }
@@ -51,6 +56,7 @@
 {
     IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
     [data setView: v];
+    [v _setController: [self controller]];
 }
 
 - view
@@ -60,6 +66,20 @@
 }
 
 
+- (id <IFWebController>)controller
+{
+    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
+    return [data controller];
+}
+
+- (void)setController: (id <IFWebController>)controller
+{
+    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
+    [data setController: controller];
+}
+
+
+
 - (IFWebDataSource *)dataSource
 {
     IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
@@ -71,13 +91,16 @@
     IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
     if ([data dataSource] == ds)
         return;
+
+    WEBKIT_ASSERT ([self controller] != nil);
         
-    [data setDataSource: ds];
-    //[[data dataSource] setFrame: self];
+    // FIXME!  _changeFrame:dataSource: is implemented in IFBaseWebController, not a IFWebController
+    // method!
+    if (ds != nil){
+        [[self controller] _changeFrame: self dataSource: ds];
+    }
 }
 
-// Required to break retain cycle between frame and data source,
-// and also release the widget's view reference.
 - (void)reset
 {
     IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
@@ -86,17 +109,4 @@
     [data setView: nil];
 }
 
-// renderFramePart is a pointer to a RenderPart
-- (void)_setRenderFramePart: (void *)p
-{
-    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
-    [data setRenderFramePart: p];
-}
-
-- (void *)_renderFramePart
-{
-    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
-    return [data renderFramePart];
-}
-
 @end
diff --git a/WebKit/WebView.subproj/WebFramePrivate.h b/WebKit/WebView.subproj/WebFramePrivate.h
index 2b1f93b..8dbb839 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.h
+++ b/WebKit/WebView.subproj/WebFramePrivate.h
@@ -17,10 +17,13 @@
     IFWebDataSource *dataSource;
     IFWebDataSource *provisionalDataSource;
     void *renderFramePart;
+    id <IFWebController>controller;
 }
 
 - (void)setName: (NSString *)n;
 - (NSString *)name;
+- (void)setController: (id <IFWebController>)c;
+- (id <IFWebController>)controller;
 - (void)setView: v;
 - view;
 - (void)setDataSource: (IFWebDataSource *)d;
@@ -29,3 +32,9 @@
 - (void *)renderFramePart;
 
 @end
+
+ at interface IFWebFrame (IFPrivate)
+- (void)_setRenderFramePart: (void *)p;
+- (void *)_renderFramePart;
+- (void)_setDataSource: (IFWebDataSource *)d;
+ at end
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index 73c2a8d..c1d7c42 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -4,6 +4,7 @@
 	    Copyright 2001, Apple, Inc. All rights reserved.
 */
 #import <WebKit/IFWebDataSource.h>
+#import <WebKit/IFWebDataSourcePrivate.h>
 #import <WebKit/IFWebFramePrivate.h>
 
 @implementation IFWebFramePrivate
@@ -39,6 +40,14 @@
 }
 
 
+- (id <IFWebController>)controller { return controller; }
+- (void)setController: (id <IFWebController>)c
+{ 
+    // Warning:  non-retained reference
+    controller = c;
+}
+
+
 - (IFWebDataSource *)provisionalDataSource { return provisionalDataSource; }
 - (void)setProvisionalDataSource: (IFWebDataSource *)d
 { 
@@ -55,3 +64,31 @@
 
 
 @end
+
+
+ at implementation IFWebFrame (IFPrivate)
+
+
+// renderFramePart is a pointer to a RenderPart
+- (void)_setRenderFramePart: (void *)p
+{
+    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
+    [data setRenderFramePart: p];
+}
+
+- (void *)_renderFramePart
+{
+    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
+    return [data renderFramePart];
+}
+
+- (void)_setDataSource: (IFWebDataSource *)ds
+{
+    IFWebFramePrivate *data = (IFWebFramePrivate *)_framePrivate;
+    [data setDataSource: ds];
+    [ds _setController: [self controller]];
+}
+
+
+ at end
+

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list