[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