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

cblu cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 06:53:28 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 65b3be084aeabbbd96f530d0ce8a0e36f82890c7
Author: cblu <cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Oct 24 01:30:06 2002 +0000

    WebCore:
    
    	WebKit now gets called when render_frame subviews are added.
    
            * khtml/rendering/render_frames.cpp:
            (RenderPart::setWidget): call didAddWidget on the part
            * kwq/KWQKHTMLPartImpl.h:
            * kwq/KWQKHTMLPartImpl.mm:
            (KWQKHTMLPartImpl::didAddWidget): added, calls didAddSubview on the bridge
    
    WebKit:
    
    	Support for new plug-in API. This is about as much as I can do without the new java plug-in and java root.
    
            * Plugins.subproj/WebPluginController.h:
            * Plugins.subproj/WebPluginController.m:
            (-[WebPluginController initWithWebFrame:]): observe window close changes
            (-[WebPluginController dealloc]): remove observer, assert if we're still tracking plug-ins
            (-[WebPluginController didAddSubview:]): start the plug-in
            (-[WebPluginController stopAllPlugins]): stop and destroy all plug-ins.
            (-[WebPluginController windowWillClose:]): call stopAllPlugins if the window in question is closing
            * WebView.subproj/WebFramePrivate.m:
            (-[WebFrame _transitionToCommitted]): call stopAllPlugins on WebPluginController
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2442 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index eaca298..7369691 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,5 +1,15 @@
 2002-10-23  Chris Blumenberg  <cblu at apple.com>
 
+	WebKit now gets called when render_frame subviews are added.
+
+        * khtml/rendering/render_frames.cpp:
+        (RenderPart::setWidget): call didAddWidget on the part
+        * kwq/KWQKHTMLPartImpl.h:
+        * kwq/KWQKHTMLPartImpl.mm:
+        (KWQKHTMLPartImpl::didAddWidget): added, calls didAddSubview on the bridge
+
+2002-10-23  Chris Blumenberg  <cblu at apple.com>
+
 	Change for plug-in package API changes.
 
         * kwq/KWQKConfigBase.mm:
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index eaca298..7369691 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,5 +1,15 @@
 2002-10-23  Chris Blumenberg  <cblu at apple.com>
 
+	WebKit now gets called when render_frame subviews are added.
+
+        * khtml/rendering/render_frames.cpp:
+        (RenderPart::setWidget): call didAddWidget on the part
+        * kwq/KWQKHTMLPartImpl.h:
+        * kwq/KWQKHTMLPartImpl.mm:
+        (KWQKHTMLPartImpl::didAddWidget): added, calls didAddSubview on the bridge
+
+2002-10-23  Chris Blumenberg  <cblu at apple.com>
+
 	Change for plug-in package API changes.
 
         * kwq/KWQKConfigBase.mm:
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index eaca298..7369691 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,15 @@
 2002-10-23  Chris Blumenberg  <cblu at apple.com>
 
+	WebKit now gets called when render_frame subviews are added.
+
+        * khtml/rendering/render_frames.cpp:
+        (RenderPart::setWidget): call didAddWidget on the part
+        * kwq/KWQKHTMLPartImpl.h:
+        * kwq/KWQKHTMLPartImpl.mm:
+        (KWQKHTMLPartImpl::didAddWidget): added, calls didAddSubview on the bridge
+
+2002-10-23  Chris Blumenberg  <cblu at apple.com>
+
 	Change for plug-in package API changes.
 
         * kwq/KWQKConfigBase.mm:
diff --git a/WebCore/khtml/rendering/render_frames.cpp b/WebCore/khtml/rendering/render_frames.cpp
index 19f0db4..bb93202 100644
--- a/WebCore/khtml/rendering/render_frames.cpp
+++ b/WebCore/khtml/rendering/render_frames.cpp
@@ -575,6 +575,11 @@ void RenderPart::setWidget( QWidget *widget )
     // make sure the scrollbars are set correctly for restore
     // ### find better fix
     slotViewCleared();
+#ifdef APPLE_CHANGES
+    if(widget){
+        static_cast<KHTMLView *>(m_view)->part()->impl->didAddWidget(widget);
+    }
+#endif
 }
 
 bool RenderPart::partLoadingErrorNotify(khtml::ChildFrame *, const KURL& , const QString& )
diff --git a/WebCore/kwq/KWQKHTMLPart.h b/WebCore/kwq/KWQKHTMLPart.h
index 2d7c01d..e33a827 100644
--- a/WebCore/kwq/KWQKHTMLPart.h
+++ b/WebCore/kwq/KWQKHTMLPart.h
@@ -136,6 +136,8 @@ public:
     int selectionEndOffset() const;
     DOM::NodeImpl *selectionStart() const;
     DOM::NodeImpl *selectionEnd() const;
+
+    void didAddWidget(QWidget *);
     
 private:
     void setPolicyBaseURL(const DOM::DOMString &);
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 5c407b0..e053686 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -495,3 +495,8 @@ QString KWQKHTMLPartImpl::referrer() const
 {
     return d->m_referrer;
 }
+
+void KWQKHTMLPartImpl::didAddWidget(QWidget *widget)
+{
+    [_bridge didAddSubview:widget->getView()];
+}
diff --git a/WebCore/kwq/KWQKHTMLPartImpl.h b/WebCore/kwq/KWQKHTMLPartImpl.h
index 2d7c01d..e33a827 100644
--- a/WebCore/kwq/KWQKHTMLPartImpl.h
+++ b/WebCore/kwq/KWQKHTMLPartImpl.h
@@ -136,6 +136,8 @@ public:
     int selectionEndOffset() const;
     DOM::NodeImpl *selectionStart() const;
     DOM::NodeImpl *selectionEnd() const;
+
+    void didAddWidget(QWidget *);
     
 private:
     void setPolicyBaseURL(const DOM::DOMString &);
diff --git a/WebCore/kwq/KWQKHTMLPartImpl.mm b/WebCore/kwq/KWQKHTMLPartImpl.mm
index 5c407b0..e053686 100644
--- a/WebCore/kwq/KWQKHTMLPartImpl.mm
+++ b/WebCore/kwq/KWQKHTMLPartImpl.mm
@@ -495,3 +495,8 @@ QString KWQKHTMLPartImpl::referrer() const
 {
     return d->m_referrer;
 }
+
+void KWQKHTMLPartImpl::didAddWidget(QWidget *widget)
+{
+    [_bridge didAddSubview:widget->getView()];
+}
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 70081cd..e375d59 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,5 +1,19 @@
 2002-10-23  Chris Blumenberg  <cblu at apple.com>
 
+	Support for new plug-in API. This is about as much as I can do without the new java plug-in and java root.
+
+        * Plugins.subproj/WebPluginController.h:
+        * Plugins.subproj/WebPluginController.m:
+        (-[WebPluginController initWithWebFrame:]): observe window close changes
+        (-[WebPluginController dealloc]): remove observer, assert if we're still tracking plug-ins
+        (-[WebPluginController didAddSubview:]): start the plug-in
+        (-[WebPluginController stopAllPlugins]): stop and destroy all plug-ins.
+        (-[WebPluginController windowWillClose:]): call stopAllPlugins if the window in question is closing
+        * WebView.subproj/WebFramePrivate.m:
+        (-[WebFrame _transitionToCommitted]): call stopAllPlugins on WebPluginController
+
+2002-10-23  Chris Blumenberg  <cblu at apple.com>
+
 	Changed the plug-in package API to return key enumerators instead dictionaries.
 
         * Plugins.subproj/WebBasePluginPackage.h:
diff --git a/WebKit/ChangeLog-2002-12-03 b/WebKit/ChangeLog-2002-12-03
index 70081cd..e375d59 100644
--- a/WebKit/ChangeLog-2002-12-03
+++ b/WebKit/ChangeLog-2002-12-03
@@ -1,5 +1,19 @@
 2002-10-23  Chris Blumenberg  <cblu at apple.com>
 
+	Support for new plug-in API. This is about as much as I can do without the new java plug-in and java root.
+
+        * Plugins.subproj/WebPluginController.h:
+        * Plugins.subproj/WebPluginController.m:
+        (-[WebPluginController initWithWebFrame:]): observe window close changes
+        (-[WebPluginController dealloc]): remove observer, assert if we're still tracking plug-ins
+        (-[WebPluginController didAddSubview:]): start the plug-in
+        (-[WebPluginController stopAllPlugins]): stop and destroy all plug-ins.
+        (-[WebPluginController windowWillClose:]): call stopAllPlugins if the window in question is closing
+        * WebView.subproj/WebFramePrivate.m:
+        (-[WebFrame _transitionToCommitted]): call stopAllPlugins on WebPluginController
+
+2002-10-23  Chris Blumenberg  <cblu at apple.com>
+
 	Changed the plug-in package API to return key enumerators instead dictionaries.
 
         * Plugins.subproj/WebBasePluginPackage.h:
diff --git a/WebKit/Plugins.subproj/WebPluginController.h b/WebKit/Plugins.subproj/WebPluginController.h
index dd218c8..ae3db5c 100644
--- a/WebKit/Plugins.subproj/WebPluginController.h
+++ b/WebKit/Plugins.subproj/WebPluginController.h
@@ -22,9 +22,8 @@
 }
 
 - initWithWebFrame:(WebFrame *)theFrame;
-
 - (void)addPluginView:(NSView <WebPlugin> *)view;
-
 - (void)didAddSubview:(NSView <WebPlugin> *)view;
+- (void)stopAllPlugins;
 
 @end
diff --git a/WebKit/Plugins.subproj/WebPluginController.m b/WebKit/Plugins.subproj/WebPluginController.m
index c696b49..16de0fa 100644
--- a/WebKit/Plugins.subproj/WebPluginController.m
+++ b/WebKit/Plugins.subproj/WebPluginController.m
@@ -12,7 +12,9 @@
 #import <WebKit/WebPlugin.h>
 #import <WebKit/WebPluginController.h>
 #import <WebKit/WebWindowOperationsDelegate.h>
+#import <WebKit/WebView.h>
 
+#import <WebFoundation/WebAssertions.h>
 #import <WebFoundation/WebResourceRequest.h>
 
 @implementation WebPluginController
@@ -25,13 +27,20 @@
     frame = theFrame;
     
     views = [[NSMutableArray array] retain];
+
+    [[NSNotificationCenter defaultCenter] addObserver:self
+                                             selector:@selector(windowWillClose)
+                                                 name:NSWindowWillCloseNotification
+                                               object:nil];
     
     return self;
 }
 
 - (void)dealloc
 {
-    [views removeAllObjects];
+    [[NSNotificationCenter defaultCenter] removeObserver:self];
+    
+    ASSERT([views count] == 0);
     [views release];
     [super dealloc];
 }
@@ -47,6 +56,20 @@
     [view pluginStart];
 }
 
+- (void)stopAllPlugins
+{
+    [views makeObjectsPerformSelector:@selector(pluginStop)];
+    [views makeObjectsPerformSelector:@selector(pluginDestroy)];
+    [views removeAllObjects];
+}
+
+- (void)windowWillClose:(NSNotification *)notification
+{
+    if([notification object] == [[frame webView] window]){
+        [self stopAllPlugins];
+    }
+}
+
 - (void)showURL:(NSURL *)URL inFrame:(NSString *)target
 {
     if(!URL || !target){
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index 27c5e19..78e3d1b 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -287,6 +287,9 @@ static const char * const stateNames[] = {
     
     documentView = [[self webView] documentView];
 
+    // Stop plug-ins before blowing away the view.
+    [_private->pluginController stopAllPlugins];
+        
     switch ([self _state]) {
     	case WebFrameStateProvisional:
         {

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list