[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 07:22:24 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 9422dcf124a16dc5d1405a4ca2773f8548a5b0b7
Author: cblu <cblu at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Jan 28 22:34:07 2003 +0000

    	Fixed: 3150856 - crash with full-size plugins in frame or iframe
    
            Reviewed by darin.
    
            * Plugins.subproj/WebBaseNetscapePluginView.m:
            (-[WebBaseNetscapePluginView start]): added assert
            * Plugins.subproj/WebNetscapePluginDocumentView.m:
            (-[WebNetscapePluginDocumentView setDataSource:]): added assert
            * WebView.subproj/WebFramePrivate.m:
            (-[WebFrame _makeDocumentView]): Don't call setDataSource here because the view is not in the view hierarchy at this point.
            * WebView.subproj/WebViewPrivate.m:
            (-[WebView _makeDocumentViewForDataSource:]): Call setDataSource on the document view after it has been placed in the view hierarchy. This what we for the top-level view, so should do this for views in subframes as well.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3482 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index b7adca6..8f15c10 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,5 +1,20 @@
 2003-01-28  Chris Blumenberg  <cblu at apple.com>
 
+	Fixed: 3150856 - crash with full-size plugins in frame or iframe
+
+        Reviewed by darin.
+
+        * Plugins.subproj/WebBaseNetscapePluginView.m:
+        (-[WebBaseNetscapePluginView start]): added assert
+        * Plugins.subproj/WebNetscapePluginDocumentView.m:
+        (-[WebNetscapePluginDocumentView setDataSource:]): added assert
+        * WebView.subproj/WebFramePrivate.m:
+        (-[WebFrame _makeDocumentView]): Don't call setDataSource here because the view is not in the view hierarchy at this point.
+        * WebView.subproj/WebViewPrivate.m:
+        (-[WebView _makeDocumentViewForDataSource:]): Call setDataSource on the document view after it has been placed in the view hierarchy. This what we for the top-level view, so should do this for views in subframes as well.
+
+2003-01-28  Chris Blumenberg  <cblu at apple.com>
+
 	Fixed: 3156172 - No filename correction when downloading images via drag & drop
 
         Reviewed by mjs, john, trey.
diff --git a/WebKit/Plugins.subproj/WebBaseNetscapePluginView.m b/WebKit/Plugins.subproj/WebBaseNetscapePluginView.m
index 698c349..1b77b38 100644
--- a/WebKit/Plugins.subproj/WebBaseNetscapePluginView.m
+++ b/WebKit/Plugins.subproj/WebBaseNetscapePluginView.m
@@ -642,6 +642,8 @@ typedef struct {
 
 - (BOOL)start
 {
+    ASSERT([self window]);
+    
     if (isStarted) {
         return YES;
     }
diff --git a/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m b/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m
index f592aad..77c8209 100644
--- a/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m
+++ b/WebKit/Plugins.subproj/WebNetscapePluginDocumentView.m
@@ -16,6 +16,7 @@
 #import <WebKit/WebResourceLoadDelegate.h>
 #import <WebKit/WebView.h>
 
+#import <WebFoundation/WebAssertions.h>
 #import <WebFoundation/WebResourceResponse.h>
 
 @implementation WebNetscapePluginDocumentView
@@ -55,6 +56,8 @@
 
 - (void)setDataSource:(WebDataSource *)theDataSource
 {
+    ASSERT([self window]);
+    
     [dataSource release];
     dataSource = [theDataSource retain];
 
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index 5c8ab8e..365462e 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -496,6 +496,10 @@ Repeat load of the same URL (by any other means of navigation other than the rel
         marginWidth:[_private->webView _marginWidth]
         marginHeight:[_private->webView _marginHeight]];
     [_private->bridge installInFrame:[_private->webView frameScrollView]];
+
+    // Call setDataSource on the document view after it has been placed in the view hierarchy.
+    // This what we for the top-level view, so should do this for views in subframes as well.
+    [documentView setDataSource:_private->dataSource];
 }
 
 - (void)_transitionToCommitted: (NSDictionary *)pageCache
diff --git a/WebKit/WebView.subproj/WebFrameViewPrivate.m b/WebKit/WebView.subproj/WebFrameViewPrivate.m
index 006708c..2c00ec6 100644
--- a/WebKit/WebView.subproj/WebFrameViewPrivate.m
+++ b/WebKit/WebView.subproj/WebFrameViewPrivate.m
@@ -79,8 +79,6 @@
     id <WebDocumentView> documentView = viewClass ? [[viewClass alloc] init] : nil;
     [self _setDocumentView:documentView];
     [documentView release];
-
-    [documentView setDataSource:dataSource];
     
     return documentView;
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list