[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:55:15 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit e4a5a882cdc9df13aa3d6890bf730d8da27f1d37
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Feb 6 04:53:50 2002 +0000

    Updated to reflect new API.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@595 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index 1aeb3d7..c1dbdb0 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,5 +1,13 @@
 2002-02-05  Richard Williamson  <rjw at apple.com>
 
+    Updated part to use 'official' controller APIs.
+    
+	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::~KHTMLPart),
+	(KHTMLPart::khtmlMouseReleaseEvent), (KHTMLPart::requestFrame),
+	(KHTMLPart::checkCompleted):
+
+2002-02-05  Richard Williamson  <rjw at apple.com>
+
     Changes to support dynamic scroll bars in frames/iframes.
 
 	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent):
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 1aeb3d7..c1dbdb0 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,5 +1,13 @@
 2002-02-05  Richard Williamson  <rjw at apple.com>
 
+    Updated part to use 'official' controller APIs.
+    
+	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::~KHTMLPart),
+	(KHTMLPart::khtmlMouseReleaseEvent), (KHTMLPart::requestFrame),
+	(KHTMLPart::checkCompleted):
+
+2002-02-05  Richard Williamson  <rjw at apple.com>
+
     Changes to support dynamic scroll bars in frames/iframes.
 
 	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent):
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 1aeb3d7..c1dbdb0 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,13 @@
 2002-02-05  Richard Williamson  <rjw at apple.com>
 
+    Updated part to use 'official' controller APIs.
+    
+	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::~KHTMLPart),
+	(KHTMLPart::khtmlMouseReleaseEvent), (KHTMLPart::requestFrame),
+	(KHTMLPart::checkCompleted):
+
+2002-02-05  Richard Williamson  <rjw at apple.com>
+
     Changes to support dynamic scroll bars in frames/iframes.
 
 	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::khtmlMouseReleaseEvent):
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 03a717f..6135e95 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -63,7 +63,10 @@
 
 @protocol IFWebController
 - (IFWebFrame *)createFrameNamed: (NSString *)name for: (IFWebDataSource *)dataSource inParent: (IFWebDataSource *)dataSource;
-- (void)locationChangeDone: (IFError *)error forDataSource: (IFWebDataSource *)dataSource;
+- (BOOL)locationWillChangeTo: (NSURL *)url forFrame: (IFWebFrame *)frame;
+- (void)changeLocationTo: (NSURL *)url forFrame: (IFWebFrame *)frame;
+- (void)locationChangeStartedForFrame: (IFWebFrame *)frame;
+- (void)locationChangeDone: (IFError *)error forFrame: (IFWebFrame *)frame;
 @end
 
 @protocol IFLocationChangeHandler
@@ -72,7 +75,8 @@
 
 @interface IFWebDataSource : NSObject
 - initWithURL: (NSURL *)url;
-- (void)_setFrameName: (NSString *)fName;
+- (void)setFrame: (IFWebFrame *)fName;
+- (IFWebFrame *)frame;
 - (id <IFWebController>)controller;
 - (void)startLoading: (BOOL)forceRefresh;
 - frameNamed: (NSString *)f;
@@ -82,8 +86,6 @@
 // API.
 @interface IFWebView: NSObject
 - (QWidget *)_widget;
-- (void)_resetView;
-- documentView;
 @end
 
 @interface IFWebFrame: NSObject
@@ -296,7 +298,8 @@ KHTMLPart::~KHTMLPart()
     d->m_doc = 0;
 
     delete d;
-    NSLog(@"destructing KHTMLPart");
+
+    KWQDEBUG ("deleted KHTMLPart private data\n");
 }
 
 static NSString *
@@ -1284,21 +1287,38 @@ void KHTMLPart::khtmlMouseReleaseEvent( khtml::MouseReleaseEvent *event )
 
     // HACK!  FIXME!
     if (d->m_strSelectedURL != QString::null) {
+        IFWebDataSource *dataSource;
+        id <IFWebController>controller;
+        KURL clickedURL(completeURL( splitUrlTarget(d->m_strSelectedURL)));
+        NSString *urlString = [NSString stringWithCString:clickedURL.url().latin1()];
+        NSURL *url = [NSURL URLWithString: urlString];
+        IFWebFrame *frame;
+        
+        dataSource = getDataSource();
+        frame = [dataSource frame];
+        controller = [dataSource controller];
+        if ([controller locationWillChangeTo: url forFrame: frame]){
+            [controller changeLocationTo: url forFrame: frame];
+            [controller locationChangeStartedForFrame: frame];
+        }
+
+/*
         id nsview = ((IFWebView *)((QWidget *)view())->getView());
         
         //if ([nsview isKindOfClass: NSClassFromString(@"IFDynamicScrollBarsView")])
         if ([nsview isKindOfClass: NSClassFromString(@"NSScrollView")])
             nsview = [nsview documentView];
         [nsview _resetView];
-        KURL clickedURL(completeURL( splitUrlTarget(d->m_strSelectedURL)));
         openURL (clickedURL);
         // [kocienda]: shield your eyes!
         // this hack is to get link clicks to show up in the history list of the test app
         // this should be removed and replaced by something better
         NSString *urlString = [NSString stringWithCString:clickedURL.url().latin1()];
         [[NSNotificationCenter defaultCenter] postNotificationName:@"uri-click" object:urlString];
+*/
     }
     
+#ifndef _KWQ_
 #define QT_NO_CLIPBOARD 1
 #ifndef QT_NO_CLIPBOARD
   if ((_mouse->button() == MidButton) && (event->url() == 0))
@@ -1367,6 +1387,7 @@ void KHTMLPart::khtmlMouseReleaseEvent( khtml::MouseReleaseEvent *event )
     //emitSelectionChanged();
   }
 #endif
+#endif
 
 }
 
@@ -1536,25 +1557,27 @@ bool KHTMLPart::requestFrame( khtml::RenderPart *frame, const QString &url, cons
         frame->setWidget ([[aFrame view] _widget]);
     }
     else {        
-        IFWebDataSource *childDataSource, *dataSource;
+        IFWebDataSource *dataSource;
         NSURL *childURL;
         IFWebFrame *newFrame;
         id <IFWebController> controller;
 
         fprintf (stdout, "0x%08x requestFrame():  part = 0x%08x creating frame\n", (unsigned int)this, (unsigned int)frame);    
         childURL = [NSURL URLWithString: QSTRING_TO_NSSTRING (completeURL( url ).url() )];
-        childDataSource = [[IFWebDataSource alloc] initWithURL: childURL];
-        [childDataSource _setFrameName: nsframeName];
         
         dataSource = getDataSource();
         controller = [dataSource controller];
-        newFrame = [controller createFrameNamed: nsframeName for: childDataSource inParent: dataSource];
+        newFrame = [controller createFrameNamed: nsframeName for: nil inParent: dataSource];
     
-        // This should not be called here.  This introduces a nasty dependency on
-        // the view.
-        frame->setWidget ([[newFrame view] _widget]);
-        
-        [childDataSource startLoading: YES];
+
+        if ([controller locationWillChangeTo: childURL forFrame: newFrame]){
+            [controller changeLocationTo: childURL forFrame: newFrame];
+
+            // This introduces a nasty dependency on the view.
+            frame->setWidget ([[newFrame view] _widget]);
+
+            [controller locationChangeStartedForFrame: newFrame];
+        }
     }
 
 #ifdef _SUPPORT_JAVASCRIPT_URL_    
@@ -1667,7 +1690,7 @@ void KHTMLPart::checkCompleted()
         
         dataSource = getDataSource();
         controller = [dataSource controller];
-        [controller locationChangeDone: nil forDataSource: dataSource];
+        [controller locationChangeDone: nil forFrame: [dataSource frame]];
         
         end();
     }
diff --git a/WebCore/kwq/KWQKHTMLPartImpl.mm b/WebCore/kwq/KWQKHTMLPartImpl.mm
index 03a717f..6135e95 100644
--- a/WebCore/kwq/KWQKHTMLPartImpl.mm
+++ b/WebCore/kwq/KWQKHTMLPartImpl.mm
@@ -63,7 +63,10 @@
 
 @protocol IFWebController
 - (IFWebFrame *)createFrameNamed: (NSString *)name for: (IFWebDataSource *)dataSource inParent: (IFWebDataSource *)dataSource;
-- (void)locationChangeDone: (IFError *)error forDataSource: (IFWebDataSource *)dataSource;
+- (BOOL)locationWillChangeTo: (NSURL *)url forFrame: (IFWebFrame *)frame;
+- (void)changeLocationTo: (NSURL *)url forFrame: (IFWebFrame *)frame;
+- (void)locationChangeStartedForFrame: (IFWebFrame *)frame;
+- (void)locationChangeDone: (IFError *)error forFrame: (IFWebFrame *)frame;
 @end
 
 @protocol IFLocationChangeHandler
@@ -72,7 +75,8 @@
 
 @interface IFWebDataSource : NSObject
 - initWithURL: (NSURL *)url;
-- (void)_setFrameName: (NSString *)fName;
+- (void)setFrame: (IFWebFrame *)fName;
+- (IFWebFrame *)frame;
 - (id <IFWebController>)controller;
 - (void)startLoading: (BOOL)forceRefresh;
 - frameNamed: (NSString *)f;
@@ -82,8 +86,6 @@
 // API.
 @interface IFWebView: NSObject
 - (QWidget *)_widget;
-- (void)_resetView;
-- documentView;
 @end
 
 @interface IFWebFrame: NSObject
@@ -296,7 +298,8 @@ KHTMLPart::~KHTMLPart()
     d->m_doc = 0;
 
     delete d;
-    NSLog(@"destructing KHTMLPart");
+
+    KWQDEBUG ("deleted KHTMLPart private data\n");
 }
 
 static NSString *
@@ -1284,21 +1287,38 @@ void KHTMLPart::khtmlMouseReleaseEvent( khtml::MouseReleaseEvent *event )
 
     // HACK!  FIXME!
     if (d->m_strSelectedURL != QString::null) {
+        IFWebDataSource *dataSource;
+        id <IFWebController>controller;
+        KURL clickedURL(completeURL( splitUrlTarget(d->m_strSelectedURL)));
+        NSString *urlString = [NSString stringWithCString:clickedURL.url().latin1()];
+        NSURL *url = [NSURL URLWithString: urlString];
+        IFWebFrame *frame;
+        
+        dataSource = getDataSource();
+        frame = [dataSource frame];
+        controller = [dataSource controller];
+        if ([controller locationWillChangeTo: url forFrame: frame]){
+            [controller changeLocationTo: url forFrame: frame];
+            [controller locationChangeStartedForFrame: frame];
+        }
+
+/*
         id nsview = ((IFWebView *)((QWidget *)view())->getView());
         
         //if ([nsview isKindOfClass: NSClassFromString(@"IFDynamicScrollBarsView")])
         if ([nsview isKindOfClass: NSClassFromString(@"NSScrollView")])
             nsview = [nsview documentView];
         [nsview _resetView];
-        KURL clickedURL(completeURL( splitUrlTarget(d->m_strSelectedURL)));
         openURL (clickedURL);
         // [kocienda]: shield your eyes!
         // this hack is to get link clicks to show up in the history list of the test app
         // this should be removed and replaced by something better
         NSString *urlString = [NSString stringWithCString:clickedURL.url().latin1()];
         [[NSNotificationCenter defaultCenter] postNotificationName:@"uri-click" object:urlString];
+*/
     }
     
+#ifndef _KWQ_
 #define QT_NO_CLIPBOARD 1
 #ifndef QT_NO_CLIPBOARD
   if ((_mouse->button() == MidButton) && (event->url() == 0))
@@ -1367,6 +1387,7 @@ void KHTMLPart::khtmlMouseReleaseEvent( khtml::MouseReleaseEvent *event )
     //emitSelectionChanged();
   }
 #endif
+#endif
 
 }
 
@@ -1536,25 +1557,27 @@ bool KHTMLPart::requestFrame( khtml::RenderPart *frame, const QString &url, cons
         frame->setWidget ([[aFrame view] _widget]);
     }
     else {        
-        IFWebDataSource *childDataSource, *dataSource;
+        IFWebDataSource *dataSource;
         NSURL *childURL;
         IFWebFrame *newFrame;
         id <IFWebController> controller;
 
         fprintf (stdout, "0x%08x requestFrame():  part = 0x%08x creating frame\n", (unsigned int)this, (unsigned int)frame);    
         childURL = [NSURL URLWithString: QSTRING_TO_NSSTRING (completeURL( url ).url() )];
-        childDataSource = [[IFWebDataSource alloc] initWithURL: childURL];
-        [childDataSource _setFrameName: nsframeName];
         
         dataSource = getDataSource();
         controller = [dataSource controller];
-        newFrame = [controller createFrameNamed: nsframeName for: childDataSource inParent: dataSource];
+        newFrame = [controller createFrameNamed: nsframeName for: nil inParent: dataSource];
     
-        // This should not be called here.  This introduces a nasty dependency on
-        // the view.
-        frame->setWidget ([[newFrame view] _widget]);
-        
-        [childDataSource startLoading: YES];
+
+        if ([controller locationWillChangeTo: childURL forFrame: newFrame]){
+            [controller changeLocationTo: childURL forFrame: newFrame];
+
+            // This introduces a nasty dependency on the view.
+            frame->setWidget ([[newFrame view] _widget]);
+
+            [controller locationChangeStartedForFrame: newFrame];
+        }
     }
 
 #ifdef _SUPPORT_JAVASCRIPT_URL_    
@@ -1667,7 +1690,7 @@ void KHTMLPart::checkCompleted()
         
         dataSource = getDataSource();
         controller = [dataSource controller];
-        [controller locationChangeDone: nil forDataSource: dataSource];
+        [controller locationChangeDone: nil forFrame: [dataSource frame]];
         
         end();
     }
diff --git a/WebCore/src/kwq/KWQKHTMLPart.mm b/WebCore/src/kwq/KWQKHTMLPart.mm
index 03a717f..6135e95 100644
--- a/WebCore/src/kwq/KWQKHTMLPart.mm
+++ b/WebCore/src/kwq/KWQKHTMLPart.mm
@@ -63,7 +63,10 @@
 
 @protocol IFWebController
 - (IFWebFrame *)createFrameNamed: (NSString *)name for: (IFWebDataSource *)dataSource inParent: (IFWebDataSource *)dataSource;
-- (void)locationChangeDone: (IFError *)error forDataSource: (IFWebDataSource *)dataSource;
+- (BOOL)locationWillChangeTo: (NSURL *)url forFrame: (IFWebFrame *)frame;
+- (void)changeLocationTo: (NSURL *)url forFrame: (IFWebFrame *)frame;
+- (void)locationChangeStartedForFrame: (IFWebFrame *)frame;
+- (void)locationChangeDone: (IFError *)error forFrame: (IFWebFrame *)frame;
 @end
 
 @protocol IFLocationChangeHandler
@@ -72,7 +75,8 @@
 
 @interface IFWebDataSource : NSObject
 - initWithURL: (NSURL *)url;
-- (void)_setFrameName: (NSString *)fName;
+- (void)setFrame: (IFWebFrame *)fName;
+- (IFWebFrame *)frame;
 - (id <IFWebController>)controller;
 - (void)startLoading: (BOOL)forceRefresh;
 - frameNamed: (NSString *)f;
@@ -82,8 +86,6 @@
 // API.
 @interface IFWebView: NSObject
 - (QWidget *)_widget;
-- (void)_resetView;
-- documentView;
 @end
 
 @interface IFWebFrame: NSObject
@@ -296,7 +298,8 @@ KHTMLPart::~KHTMLPart()
     d->m_doc = 0;
 
     delete d;
-    NSLog(@"destructing KHTMLPart");
+
+    KWQDEBUG ("deleted KHTMLPart private data\n");
 }
 
 static NSString *
@@ -1284,21 +1287,38 @@ void KHTMLPart::khtmlMouseReleaseEvent( khtml::MouseReleaseEvent *event )
 
     // HACK!  FIXME!
     if (d->m_strSelectedURL != QString::null) {
+        IFWebDataSource *dataSource;
+        id <IFWebController>controller;
+        KURL clickedURL(completeURL( splitUrlTarget(d->m_strSelectedURL)));
+        NSString *urlString = [NSString stringWithCString:clickedURL.url().latin1()];
+        NSURL *url = [NSURL URLWithString: urlString];
+        IFWebFrame *frame;
+        
+        dataSource = getDataSource();
+        frame = [dataSource frame];
+        controller = [dataSource controller];
+        if ([controller locationWillChangeTo: url forFrame: frame]){
+            [controller changeLocationTo: url forFrame: frame];
+            [controller locationChangeStartedForFrame: frame];
+        }
+
+/*
         id nsview = ((IFWebView *)((QWidget *)view())->getView());
         
         //if ([nsview isKindOfClass: NSClassFromString(@"IFDynamicScrollBarsView")])
         if ([nsview isKindOfClass: NSClassFromString(@"NSScrollView")])
             nsview = [nsview documentView];
         [nsview _resetView];
-        KURL clickedURL(completeURL( splitUrlTarget(d->m_strSelectedURL)));
         openURL (clickedURL);
         // [kocienda]: shield your eyes!
         // this hack is to get link clicks to show up in the history list of the test app
         // this should be removed and replaced by something better
         NSString *urlString = [NSString stringWithCString:clickedURL.url().latin1()];
         [[NSNotificationCenter defaultCenter] postNotificationName:@"uri-click" object:urlString];
+*/
     }
     
+#ifndef _KWQ_
 #define QT_NO_CLIPBOARD 1
 #ifndef QT_NO_CLIPBOARD
   if ((_mouse->button() == MidButton) && (event->url() == 0))
@@ -1367,6 +1387,7 @@ void KHTMLPart::khtmlMouseReleaseEvent( khtml::MouseReleaseEvent *event )
     //emitSelectionChanged();
   }
 #endif
+#endif
 
 }
 
@@ -1536,25 +1557,27 @@ bool KHTMLPart::requestFrame( khtml::RenderPart *frame, const QString &url, cons
         frame->setWidget ([[aFrame view] _widget]);
     }
     else {        
-        IFWebDataSource *childDataSource, *dataSource;
+        IFWebDataSource *dataSource;
         NSURL *childURL;
         IFWebFrame *newFrame;
         id <IFWebController> controller;
 
         fprintf (stdout, "0x%08x requestFrame():  part = 0x%08x creating frame\n", (unsigned int)this, (unsigned int)frame);    
         childURL = [NSURL URLWithString: QSTRING_TO_NSSTRING (completeURL( url ).url() )];
-        childDataSource = [[IFWebDataSource alloc] initWithURL: childURL];
-        [childDataSource _setFrameName: nsframeName];
         
         dataSource = getDataSource();
         controller = [dataSource controller];
-        newFrame = [controller createFrameNamed: nsframeName for: childDataSource inParent: dataSource];
+        newFrame = [controller createFrameNamed: nsframeName for: nil inParent: dataSource];
     
-        // This should not be called here.  This introduces a nasty dependency on
-        // the view.
-        frame->setWidget ([[newFrame view] _widget]);
-        
-        [childDataSource startLoading: YES];
+
+        if ([controller locationWillChangeTo: childURL forFrame: newFrame]){
+            [controller changeLocationTo: childURL forFrame: newFrame];
+
+            // This introduces a nasty dependency on the view.
+            frame->setWidget ([[newFrame view] _widget]);
+
+            [controller locationChangeStartedForFrame: newFrame];
+        }
     }
 
 #ifdef _SUPPORT_JAVASCRIPT_URL_    
@@ -1667,7 +1690,7 @@ void KHTMLPart::checkCompleted()
         
         dataSource = getDataSource();
         controller = [dataSource controller];
-        [controller locationChangeDone: nil forDataSource: dataSource];
+        [controller locationChangeDone: nil forFrame: [dataSource frame]];
         
         end();
     }
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index c0c58d5..48f41ec 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,34 @@
+2002-02-05  Richard Williamson  <rjw at apple.com>
+
+    Updated controller API to reflect frames.
+    
+	* WebView.subproj/IFBaseWebController.h:
+	* WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
+	initWithView:dataSource:]), (-[IFBaseWebController
+	setMainView:andMainDataSource:]), (-[IFBaseWebController
+	createFrameNamed:for:inParent:]), (-[IFBaseWebController mainFrame]),
+	(-[IFBaseWebController mainView]), (-[IFBaseWebController mainDataSource]),
+	(-[IFBaseWebController changeLocationTo:forFrame:]), (-[IFBaseWebController
+	locationChangeStartedForFrame:]), (-[IFBaseWebController
+	locationChangeInProgressForFrame:]), (-[IFBaseWebController
+	locationChangeDone:forFrame:]):
+	* WebView.subproj/IFBaseWebControllerPrivate.h:
+	* WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
+	init]), (-[IFBaseWebControllerPrivate dealloc]):
+	* WebView.subproj/IFWebController.h:
+	* WebView.subproj/IFWebDataSource.h:
+	* WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource initWithURL:]),
+	(-[IFWebDataSource setFrame:]), (-[IFWebDataSource frame]), (-[IFWebDataSource
+	frameName]):
+	* WebView.subproj/IFWebDataSourcePrivate.h:
+	* WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
+	(-[IFWebDataSource _part]):
+	* WebView.subproj/IFWebFrame.h:
+	* WebView.subproj/IFWebFrame.m: (-[IFWebFrame dealloc]), (-[IFWebFrame
+	dataSource]), (-[IFWebFrame setDataSource:]):
+	* WebView.subproj/IFWebView.h:
+	* WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged:]):
+
 2002-02-05  Maciej Stachowiak  <mjs at apple.com>
 
 	Remove old obsolete cache code from tree and build.
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index c0c58d5..48f41ec 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,3 +1,34 @@
+2002-02-05  Richard Williamson  <rjw at apple.com>
+
+    Updated controller API to reflect frames.
+    
+	* WebView.subproj/IFBaseWebController.h:
+	* WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
+	initWithView:dataSource:]), (-[IFBaseWebController
+	setMainView:andMainDataSource:]), (-[IFBaseWebController
+	createFrameNamed:for:inParent:]), (-[IFBaseWebController mainFrame]),
+	(-[IFBaseWebController mainView]), (-[IFBaseWebController mainDataSource]),
+	(-[IFBaseWebController changeLocationTo:forFrame:]), (-[IFBaseWebController
+	locationChangeStartedForFrame:]), (-[IFBaseWebController
+	locationChangeInProgressForFrame:]), (-[IFBaseWebController
+	locationChangeDone:forFrame:]):
+	* WebView.subproj/IFBaseWebControllerPrivate.h:
+	* WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
+	init]), (-[IFBaseWebControllerPrivate dealloc]):
+	* WebView.subproj/IFWebController.h:
+	* WebView.subproj/IFWebDataSource.h:
+	* WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource initWithURL:]),
+	(-[IFWebDataSource setFrame:]), (-[IFWebDataSource frame]), (-[IFWebDataSource
+	frameName]):
+	* WebView.subproj/IFWebDataSourcePrivate.h:
+	* WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
+	(-[IFWebDataSource _part]):
+	* WebView.subproj/IFWebFrame.h:
+	* WebView.subproj/IFWebFrame.m: (-[IFWebFrame dealloc]), (-[IFWebFrame
+	dataSource]), (-[IFWebFrame setDataSource:]):
+	* WebView.subproj/IFWebView.h:
+	* WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged:]):
+
 2002-02-05  Maciej Stachowiak  <mjs at apple.com>
 
 	Remove old obsolete cache code from tree and build.
diff --git a/WebKit/WebView.subproj/IFBaseWebController.h b/WebKit/WebView.subproj/IFBaseWebController.h
index 011e7f0..8c594d4 100644
--- a/WebKit/WebView.subproj/IFBaseWebController.h
+++ b/WebKit/WebView.subproj/IFBaseWebController.h
@@ -23,13 +23,7 @@
 - (BOOL)directsAllLinksToSystemBrowser;
 
 // Sets the mainView and the mainDataSource.
-- (void)setView: (IFWebView *)view andDataSource: (IFWebDataSource *)dataSource;
-
-// Find the view for the specified data source.
-- (IFWebView *)viewForDataSource: (IFWebDataSource *)dataSource;
-
-// Find the data source for the specified view.
-- (IFWebDataSource *)dataSourceForView: (IFWebView *)view;
+- (void)setMainView: (IFWebView *)view andMainDataSource: (IFWebDataSource *)dataSource;
 
 - (void)setMainView: (IFWebView *)view;
 - (IFWebView *)mainView;
@@ -37,4 +31,6 @@
 - (void)setMainDataSource: (IFWebDataSource *)dataSource;
 - (IFWebDataSource *)mainDataSource;
 
+- (IFWebFrame *)mainFrame;
+
 @end
diff --git a/WebKit/WebView.subproj/IFBaseWebController.mm b/WebKit/WebView.subproj/IFBaseWebController.mm
index 5639446..d58f7b8 100644
--- a/WebKit/WebView.subproj/IFBaseWebController.mm
+++ b/WebKit/WebView.subproj/IFBaseWebController.mm
@@ -80,7 +80,7 @@
 {
     [super init];
     _controllerPrivate = [[IFBaseWebControllerPrivate alloc] init];
-    [self setView: view andDataSource: dataSource];
+    [self setMainView: view andMainDataSource: dataSource];
     return self;   
 }
 
@@ -103,38 +103,25 @@
 }
 
 
-- (void)setView: (IFWebView *)view andDataSource: (IFWebDataSource *)dataSource
+- (void)setMainView: (IFWebView *)view andMainDataSource: (IFWebDataSource *)dataSource
 {
-    // FIXME:  this needs to be implemented in terms of IFWebFrame.
     IFBaseWebControllerPrivate *data = ((IFBaseWebControllerPrivate *)_controllerPrivate);
-
-    [data->viewMap autorelease];
-    data->viewMap = [[NSMutableDictionary alloc] init];
-    
-    [data->dataSourceMap autorelease];
-    data->dataSourceMap = [[NSMutableDictionary alloc] init];
+        
+    [data->mainFrame autorelease];
     
-    [data->mainView autorelease];
-    data->mainView = [view retain];
+    data->mainFrame = [[IFWebFrame alloc] init];
+    [data->mainFrame setView: view];
     [view _setController: self];
     
-    [data->mainDataSource autorelease];
-    data->mainDataSource = [dataSource retain];
+    [data->mainFrame setDataSource: dataSource];
     [dataSource _setController: self];
-
-    if (dataSource != nil && view != nil){
-        [data->viewMap setObject: view forKey: [IFObjectHolder holderWithObject:dataSource]];
-
-        [data->dataSourceMap setObject: dataSource forKey: [IFObjectHolder holderWithObject:view]];
-    }
     
     if (dataSource != nil)
-        [view dataSourceChanged];
+        [view dataSourceChanged: dataSource];
 }
 
 - (IFWebFrame *)createFrameNamed: (NSString *)fname for: (IFWebDataSource *)childDataSource inParent: (IFWebDataSource *)parentDataSource
 {
-    IFBaseWebControllerPrivate *data = ((IFBaseWebControllerPrivate *)_controllerPrivate);
     IFWebView *childView;
     IFWebFrame *newFrame;
     IFDynamicScrollBarsView *scrollView;
@@ -145,57 +132,46 @@
 
     [parentDataSource addFrame: newFrame];
 
-    [data->viewMap setObject: childView forKey: [IFObjectHolder holderWithObject:childDataSource]];
     [childView _setController: self];
-    [data->dataSourceMap setObject: childDataSource forKey: [IFObjectHolder holderWithObject:childView]];
     [childDataSource _setController: self];
 
     scrollView  = [[[IFDynamicScrollBarsView alloc] initWithFrame: NSMakeRect(0,0,0,0)] autorelease];
     [childView _setFrameScrollView: scrollView];
         
-    [childView dataSourceChanged];
-        
     return newFrame;
 }
 
 
-- (IFWebView *)viewForDataSource: (IFWebDataSource *)dataSource
-{
-    IFBaseWebControllerPrivate *data = ((IFBaseWebControllerPrivate *)_controllerPrivate);
-    return [data->viewMap objectForKey: [IFObjectHolder holderWithObject:dataSource]];
-}
-
-
-- (IFWebDataSource *)dataSourceForView: (IFWebView *)view
+- (void)setMainView: (IFWebView *)m;
 {
     IFBaseWebControllerPrivate *data = ((IFBaseWebControllerPrivate *)_controllerPrivate);
-    return [data->dataSourceMap objectForKey: [IFObjectHolder holderWithObject:view]];
+    [self setMainView: m andMainDataSource: [data->mainFrame dataSource]];
 }
 
-- (void)setMainView: (IFWebView *)m;
+- (IFWebFrame *)mainFrame
 {
     IFBaseWebControllerPrivate *data = ((IFBaseWebControllerPrivate *)_controllerPrivate);
-    [self setView: m andDataSource: data->mainDataSource];
+    return data->mainFrame;
 }
 
 
 - (IFWebView *)mainView
 {
     IFBaseWebControllerPrivate *data = ((IFBaseWebControllerPrivate *)_controllerPrivate);
-    return data->mainView;
+    return [data->mainFrame view];
 }
 
 
 - (void)setMainDataSource: (IFWebDataSource *)dataSource;
 {
     IFBaseWebControllerPrivate *data = ((IFBaseWebControllerPrivate *)_controllerPrivate);
-    [self setView: data->mainView andDataSource: dataSource];
+    [self setMainView: [data->mainFrame view] andMainDataSource: dataSource];
 }
 
 - (IFWebDataSource *)mainDataSource
 {
     IFBaseWebControllerPrivate *data = ((IFBaseWebControllerPrivate *)_controllerPrivate);
-    return data->mainDataSource;
+    return [data->mainFrame dataSource];
 }
 
 
@@ -246,32 +222,39 @@
 // ---------------------------------------------------------------------
 // IFLocationChangeHandler
 // ---------------------------------------------------------------------
-- (BOOL)locationWillChangeTo: (NSURL *)url
+- (BOOL)locationWillChangeTo: (NSURL *)url forFrame: (IFWebFrame *)frame;
 {
-    [NSException raise:IFMethodNotYetImplemented format:@"IFBaseWebController::locationWillChangeTo: is not implemented"];
-    return NO;
+    return YES;
+}
+
+- (void)changeLocationTo: (NSURL *)url forFrame: (IFWebFrame *)frame
+{
+    IFWebDataSource *dataSource = [[[IFWebDataSource alloc] initWithURL: url] autorelease];
+    
+    [dataSource _setController: self];
+    [frame setDataSource: dataSource];
+    [[frame view] dataSourceChanged: dataSource];
+    
+    [dataSource startLoading: YES];
 }
 
 
-- (void)locationChangeStartedForDataSource: (IFWebDataSource *)dataSource
+- (void)locationChangeStartedForFrame: (IFWebFrame *)frame
 {
-    [NSException raise:IFMethodNotYetImplemented format:@"IFBaseWebController::locationWillChangeTo: is not implemented"];
+    // Do nothing.
 }
 
 
-- (void)locationChangeInProgressForDataSource: (IFWebDataSource *)dataSource
+- (void)locationChangeInProgressForFrame: (IFWebFrame *)frame
 {
     [NSException raise:IFMethodNotYetImplemented format:@"IFBaseWebController::locationChangeInProgressForDataSource:forDataSource: is not implemented"];
 }
 
 
-- (void)locationChangeDone: (IFError *)error forDataSource: (IFWebDataSource *)dataSource
-{
-    IFWebView *view;
-    
-    view = [self viewForDataSource: dataSource];
-    [view setNeedsLayout: YES];
-    [view setNeedsDisplay: YES];
+- (void)locationChangeDone: (IFError *)error forFrame: (IFWebFrame *)frame
+{    
+    [[frame view] setNeedsLayout: YES];
+    [[frame view] setNeedsDisplay: YES];
 }
 
 - (void)receivedPageTitle: (NSString *)title forDataSource: (IFWebDataSource *)dataSource
diff --git a/WebKit/WebView.subproj/IFBaseWebControllerPrivate.h b/WebKit/WebView.subproj/IFBaseWebControllerPrivate.h
index 4074591..7d53972 100644
--- a/WebKit/WebView.subproj/IFBaseWebControllerPrivate.h
+++ b/WebKit/WebView.subproj/IFBaseWebControllerPrivate.h
@@ -9,9 +9,6 @@
 
 @interface IFBaseWebControllerPrivate : NSObject
 {
-    IFWebView *mainView;
-    IFWebDataSource *mainDataSource;
-    NSMutableDictionary *viewMap;
-    NSMutableDictionary *dataSourceMap;
+    IFWebFrame *mainFrame;
 }
 @end
diff --git a/WebKit/WebView.subproj/IFBaseWebControllerPrivate.mm b/WebKit/WebView.subproj/IFBaseWebControllerPrivate.mm
index 15b0f9a..72383d8 100644
--- a/WebKit/WebView.subproj/IFBaseWebControllerPrivate.mm
+++ b/WebKit/WebView.subproj/IFBaseWebControllerPrivate.mm
@@ -11,20 +11,13 @@
 
 - init 
 {
-    mainView = nil;
-    mainDataSource = nil;
-    viewMap = nil;
-    dataSourceMap = nil;
+    mainFrame = nil;
     return self;
 }
 
 - (void)dealloc
 {
-    [mainView release];
-    [mainDataSource release];
-    
-    [viewMap release];
-    [dataSourceMap release];
+    [mainFrame autorelease];
 }
 
 @end
diff --git a/WebKit/WebView.subproj/IFWebController.h b/WebKit/WebView.subproj/IFWebController.h
index f962137..62409e2 100644
--- a/WebKit/WebView.subproj/IFWebController.h
+++ b/WebKit/WebView.subproj/IFWebController.h
@@ -138,11 +138,11 @@
 // likely the controller will receive a change request from the view.  That argues for
 // placing locationWillChangeTo: in a different protocol, and making it more or a complete
 // handshake.
-- (BOOL)locationWillChangeTo: (NSURL *)url;
+- (BOOL)locationWillChangeTo: (NSURL *)url forFrame: (IFWebFrame *)frame;
 
-- (void)locationChangeStartedForDataSource: (IFWebDataSource *)dataSource;
-- (void)locationChangeInProgressForDataSource: (IFWebDataSource *)dataSource;
-- (void)locationChangeDone: (IFError *)error forDataSource: (IFWebDataSource *)dataSource;
+- (void)locationChangeStartedForFrame: (IFWebFrame *)frame;
+- (void)locationChangeInProgressForFrame: (IFWebFrame *)frame;
+- (void)locationChangeDone: (IFError *)error forFrame: (IFWebFrame *)frame;
 
 - (void)receivedPageTitle: (NSString *)title forDataSource: (IFWebDataSource *)dataSource;
 
diff --git a/WebKit/WebView.subproj/IFWebDataSource.h b/WebKit/WebView.subproj/IFWebDataSource.h
index e90f08a..51bcf82 100644
--- a/WebKit/WebView.subproj/IFWebDataSource.h
+++ b/WebKit/WebView.subproj/IFWebDataSource.h
@@ -99,6 +99,14 @@
 - (IFWebDataSource *)parent;
 
 
+// Set the frame that represents this data source.
+- (void)setFrame: (IFWebFrame *)f;
+
+
+// Return the frame that represents this data source.
+- (IFWebFrame *)frame;
+
+
 // Add a child frame.  This should only be called by the data source's controller
 // as a result of a createFrame:inParent:.
 // [Should this be private?]
diff --git a/WebKit/WebView.subproj/IFWebDataSource.mm b/WebKit/WebView.subproj/IFWebDataSource.mm
index 40118ac..baf8748 100644
--- a/WebKit/WebView.subproj/IFWebDataSource.mm
+++ b/WebKit/WebView.subproj/IFWebDataSource.mm
@@ -45,7 +45,7 @@
 {
     [super init];
     [self _commonInitialization];
-    ((IFWebDataSourcePrivate *)_dataSourcePrivate)->inputURL = inputURL;
+    ((IFWebDataSourcePrivate *)_dataSourcePrivate)->inputURL = [inputURL retain];
     return self;
 }
 
@@ -61,11 +61,30 @@
 #endif
 
 
+- (void)setFrame: (IFWebFrame *)f
+{
+    if (((IFWebDataSourcePrivate *)_dataSourcePrivate)->frame == f)
+        return;
+        
+    [((IFWebDataSourcePrivate *)_dataSourcePrivate)->frame autorelease];
+    
+    ((IFWebDataSourcePrivate *)_dataSourcePrivate)->frame = [f retain];
+    
+    [f setDataSource: self];
+}
+
+
+- (IFWebFrame *)frame
+{
+    return ((IFWebDataSourcePrivate *)_dataSourcePrivate)->frame;    
+}
+
+
 // Returns the name of the frame containing this data source, or nil
 // if the data source is not in a frame set.
 - (NSString *)frameName 
 {
-    return ((IFWebDataSourcePrivate *)_dataSourcePrivate)->frameName;    
+    return [((IFWebDataSourcePrivate *)_dataSourcePrivate)->frame name];    
 }
 
 
diff --git a/WebKit/WebView.subproj/IFWebDataSourcePrivate.h b/WebKit/WebView.subproj/IFWebDataSourcePrivate.h
index 1459bdf..4261790 100644
--- a/WebKit/WebView.subproj/IFWebDataSourcePrivate.h
+++ b/WebKit/WebView.subproj/IFWebDataSourcePrivate.h
@@ -19,7 +19,8 @@
     id <IFWebController>controller;
     NSURL *inputURL;
     KHTMLPart *part;
-    NSString *frameName;
+    IFWebFrame *frame;
+    // Child frames of this frame.
     NSMutableDictionary *frames;
 }
 
@@ -31,5 +32,4 @@
 @interface IFWebDataSource (IFPrivate)
 - (void)_setController: (id <IFWebController>)controller;
 - (KHTMLPart *)_part;
-- (void)_setFrameName: (NSString *)fName;
 @end
diff --git a/WebKit/WebView.subproj/IFWebDataSourcePrivate.mm b/WebKit/WebView.subproj/IFWebDataSourcePrivate.mm
index 2159aca..6eec0b5 100644
--- a/WebKit/WebView.subproj/IFWebDataSourcePrivate.mm
+++ b/WebKit/WebView.subproj/IFWebDataSourcePrivate.mm
@@ -31,6 +31,8 @@
     // a reference to their view and main data source.
     [parent release];
     [frames release];
+    [frame release];
+    [inputURL release];
     
     delete part;
 }
@@ -52,9 +54,4 @@
     return ((IFWebDataSourcePrivate *)_dataSourcePrivate)->part;
 }
 
-- (void)_setFrameName: (NSString *)fname
-{
-    ((IFWebDataSourcePrivate *)_dataSourcePrivate)->frameName = [fname retain];
-}
-
 @end
diff --git a/WebKit/WebView.subproj/IFWebFrame.h b/WebKit/WebView.subproj/IFWebFrame.h
index 4a36fd3..cd2b361 100644
--- a/WebKit/WebView.subproj/IFWebFrame.h
+++ b/WebKit/WebView.subproj/IFWebFrame.h
@@ -19,5 +19,6 @@
 - (NSString *)name;
 - (void)setView: view;
 - view;
+- (void)setDataSource: (IFWebDataSource *)ds;
 - (IFWebDataSource *)dataSource;
 @end
diff --git a/WebKit/WebView.subproj/IFWebFrame.m b/WebKit/WebView.subproj/IFWebFrame.m
index 67fe280..6893bb6 100644
--- a/WebKit/WebView.subproj/IFWebFrame.m
+++ b/WebKit/WebView.subproj/IFWebFrame.m
@@ -23,9 +23,9 @@
 
 - (void)dealloc
 {
-    [name release];
-    [view release];
-    [dataSource release];
+    [name autorelease];
+    [view autorelease];
+    [dataSource autorelease];
 }
 
 - (NSString *)name
@@ -52,5 +52,15 @@
     return dataSource;
 }
 
+- (void)setDataSource: (IFWebDataSource *)ds
+{
+    if (dataSource == ds)
+        return;
+        
+    [dataSource autorelease];
+    dataSource = [ds retain];
+    [dataSource setFrame: self];
+}
+
 
 @end
diff --git a/WebKit/WebView.subproj/IFWebView.h b/WebKit/WebView.subproj/IFWebView.h
index 4c33d59..941c744 100644
--- a/WebKit/WebView.subproj/IFWebView.h
+++ b/WebKit/WebView.subproj/IFWebView.h
@@ -96,7 +96,8 @@
 
 // This method is typically called by the view's controller when
 // the data source is changed.
-- (void)dataSourceChanged;
+- (void)dataSourceChanged: (IFWebDataSource *)dataSource;
+
 
 - (void)setNeedsLayout: (bool)flag;
 
diff --git a/WebKit/WebView.subproj/IFWebView.mm b/WebKit/WebView.subproj/IFWebView.mm
index 61edfa1..bb9f4d8 100644
--- a/WebKit/WebView.subproj/IFWebView.mm
+++ b/WebKit/WebView.subproj/IFWebView.mm
@@ -50,7 +50,7 @@
 
 // This method is typically called by the view's controller when
 // the data source is changed.
-- (void)dataSourceChanged 
+- (void)dataSourceChanged: (IFWebDataSource *)dataSource 
 {
     IFWebViewPrivate *data = ((IFWebViewPrivate *)_viewPrivate);
     NSRect r = [self frame];
@@ -60,7 +60,7 @@
 
     // Nasty!  Setup the cross references between the KHTMLView and
     // the KHTMLPart.
-    KHTMLPart *part = [[[self controller] dataSourceForView: self] _part];
+    KHTMLPart *part = [dataSource _part];
 
     data->widget = new KHTMLView (part, 0);
     part->setView (data->widget);
diff --git a/WebKit/WebView.subproj/WebController.h b/WebKit/WebView.subproj/WebController.h
index f962137..62409e2 100644
--- a/WebKit/WebView.subproj/WebController.h
+++ b/WebKit/WebView.subproj/WebController.h
@@ -138,11 +138,11 @@
 // likely the controller will receive a change request from the view.  That argues for
 // placing locationWillChangeTo: in a different protocol, and making it more or a complete
 // handshake.
-- (BOOL)locationWillChangeTo: (NSURL *)url;
+- (BOOL)locationWillChangeTo: (NSURL *)url forFrame: (IFWebFrame *)frame;
 
-- (void)locationChangeStartedForDataSource: (IFWebDataSource *)dataSource;
-- (void)locationChangeInProgressForDataSource: (IFWebDataSource *)dataSource;
-- (void)locationChangeDone: (IFError *)error forDataSource: (IFWebDataSource *)dataSource;
+- (void)locationChangeStartedForFrame: (IFWebFrame *)frame;
+- (void)locationChangeInProgressForFrame: (IFWebFrame *)frame;
+- (void)locationChangeDone: (IFError *)error forFrame: (IFWebFrame *)frame;
 
 - (void)receivedPageTitle: (NSString *)title forDataSource: (IFWebDataSource *)dataSource;
 
diff --git a/WebKit/WebView.subproj/WebDataSource.h b/WebKit/WebView.subproj/WebDataSource.h
index e90f08a..51bcf82 100644
--- a/WebKit/WebView.subproj/WebDataSource.h
+++ b/WebKit/WebView.subproj/WebDataSource.h
@@ -99,6 +99,14 @@
 - (IFWebDataSource *)parent;
 
 
+// Set the frame that represents this data source.
+- (void)setFrame: (IFWebFrame *)f;
+
+
+// Return the frame that represents this data source.
+- (IFWebFrame *)frame;
+
+
 // Add a child frame.  This should only be called by the data source's controller
 // as a result of a createFrame:inParent:.
 // [Should this be private?]
diff --git a/WebKit/WebView.subproj/WebDataSource.m b/WebKit/WebView.subproj/WebDataSource.m
index 40118ac..baf8748 100644
--- a/WebKit/WebView.subproj/WebDataSource.m
+++ b/WebKit/WebView.subproj/WebDataSource.m
@@ -45,7 +45,7 @@
 {
     [super init];
     [self _commonInitialization];
-    ((IFWebDataSourcePrivate *)_dataSourcePrivate)->inputURL = inputURL;
+    ((IFWebDataSourcePrivate *)_dataSourcePrivate)->inputURL = [inputURL retain];
     return self;
 }
 
@@ -61,11 +61,30 @@
 #endif
 
 
+- (void)setFrame: (IFWebFrame *)f
+{
+    if (((IFWebDataSourcePrivate *)_dataSourcePrivate)->frame == f)
+        return;
+        
+    [((IFWebDataSourcePrivate *)_dataSourcePrivate)->frame autorelease];
+    
+    ((IFWebDataSourcePrivate *)_dataSourcePrivate)->frame = [f retain];
+    
+    [f setDataSource: self];
+}
+
+
+- (IFWebFrame *)frame
+{
+    return ((IFWebDataSourcePrivate *)_dataSourcePrivate)->frame;    
+}
+
+
 // Returns the name of the frame containing this data source, or nil
 // if the data source is not in a frame set.
 - (NSString *)frameName 
 {
-    return ((IFWebDataSourcePrivate *)_dataSourcePrivate)->frameName;    
+    return [((IFWebDataSourcePrivate *)_dataSourcePrivate)->frame name];    
 }
 
 
diff --git a/WebKit/WebView.subproj/WebDataSourcePrivate.h b/WebKit/WebView.subproj/WebDataSourcePrivate.h
index 1459bdf..4261790 100644
--- a/WebKit/WebView.subproj/WebDataSourcePrivate.h
+++ b/WebKit/WebView.subproj/WebDataSourcePrivate.h
@@ -19,7 +19,8 @@
     id <IFWebController>controller;
     NSURL *inputURL;
     KHTMLPart *part;
-    NSString *frameName;
+    IFWebFrame *frame;
+    // Child frames of this frame.
     NSMutableDictionary *frames;
 }
 
@@ -31,5 +32,4 @@
 @interface IFWebDataSource (IFPrivate)
 - (void)_setController: (id <IFWebController>)controller;
 - (KHTMLPart *)_part;
-- (void)_setFrameName: (NSString *)fName;
 @end
diff --git a/WebKit/WebView.subproj/WebDataSourcePrivate.m b/WebKit/WebView.subproj/WebDataSourcePrivate.m
index 2159aca..6eec0b5 100644
--- a/WebKit/WebView.subproj/WebDataSourcePrivate.m
+++ b/WebKit/WebView.subproj/WebDataSourcePrivate.m
@@ -31,6 +31,8 @@
     // a reference to their view and main data source.
     [parent release];
     [frames release];
+    [frame release];
+    [inputURL release];
     
     delete part;
 }
@@ -52,9 +54,4 @@
     return ((IFWebDataSourcePrivate *)_dataSourcePrivate)->part;
 }
 
-- (void)_setFrameName: (NSString *)fname
-{
-    ((IFWebDataSourcePrivate *)_dataSourcePrivate)->frameName = [fname retain];
-}
-
 @end
diff --git a/WebKit/WebView.subproj/WebFrame.h b/WebKit/WebView.subproj/WebFrame.h
index 4a36fd3..cd2b361 100644
--- a/WebKit/WebView.subproj/WebFrame.h
+++ b/WebKit/WebView.subproj/WebFrame.h
@@ -19,5 +19,6 @@
 - (NSString *)name;
 - (void)setView: view;
 - view;
+- (void)setDataSource: (IFWebDataSource *)ds;
 - (IFWebDataSource *)dataSource;
 @end
diff --git a/WebKit/WebView.subproj/WebFrameView.h b/WebKit/WebView.subproj/WebFrameView.h
index 4c33d59..941c744 100644
--- a/WebKit/WebView.subproj/WebFrameView.h
+++ b/WebKit/WebView.subproj/WebFrameView.h
@@ -96,7 +96,8 @@
 
 // This method is typically called by the view's controller when
 // the data source is changed.
-- (void)dataSourceChanged;
+- (void)dataSourceChanged: (IFWebDataSource *)dataSource;
+
 
 - (void)setNeedsLayout: (bool)flag;
 
diff --git a/WebKit/WebView.subproj/WebFrameView.m b/WebKit/WebView.subproj/WebFrameView.m
index 61edfa1..bb9f4d8 100644
--- a/WebKit/WebView.subproj/WebFrameView.m
+++ b/WebKit/WebView.subproj/WebFrameView.m
@@ -50,7 +50,7 @@
 
 // This method is typically called by the view's controller when
 // the data source is changed.
-- (void)dataSourceChanged 
+- (void)dataSourceChanged: (IFWebDataSource *)dataSource 
 {
     IFWebViewPrivate *data = ((IFWebViewPrivate *)_viewPrivate);
     NSRect r = [self frame];
@@ -60,7 +60,7 @@
 
     // Nasty!  Setup the cross references between the KHTMLView and
     // the KHTMLPart.
-    KHTMLPart *part = [[[self controller] dataSourceForView: self] _part];
+    KHTMLPart *part = [dataSource _part];
 
     data->widget = new KHTMLView (part, 0);
     part->setView (data->widget);
diff --git a/WebKit/WebView.subproj/WebView.h b/WebKit/WebView.subproj/WebView.h
index f962137..62409e2 100644
--- a/WebKit/WebView.subproj/WebView.h
+++ b/WebKit/WebView.subproj/WebView.h
@@ -138,11 +138,11 @@
 // likely the controller will receive a change request from the view.  That argues for
 // placing locationWillChangeTo: in a different protocol, and making it more or a complete
 // handshake.
-- (BOOL)locationWillChangeTo: (NSURL *)url;
+- (BOOL)locationWillChangeTo: (NSURL *)url forFrame: (IFWebFrame *)frame;
 
-- (void)locationChangeStartedForDataSource: (IFWebDataSource *)dataSource;
-- (void)locationChangeInProgressForDataSource: (IFWebDataSource *)dataSource;
-- (void)locationChangeDone: (IFError *)error forDataSource: (IFWebDataSource *)dataSource;
+- (void)locationChangeStartedForFrame: (IFWebFrame *)frame;
+- (void)locationChangeInProgressForFrame: (IFWebFrame *)frame;
+- (void)locationChangeDone: (IFError *)error forFrame: (IFWebFrame *)frame;
 
 - (void)receivedPageTitle: (NSString *)title forDataSource: (IFWebDataSource *)dataSource;
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list