[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75

mrowe at apple.com mrowe at apple.com
Thu Oct 29 20:42:43 UTC 2009


The following commit has been merged in the webkit-1.1 branch:
commit f044181cf88b21c64df942174d6a72fb87aa4113
Author: mrowe at apple.com <mrowe at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Oct 10 00:46:39 2009 +0000

    WebKit/mac: <rdar://problem/7290671> Crash after navigating away from a page with subframe containing plug-in
    
    Reviewed by Brady Eidson.
    
    At the time that -stop is called on a WebBaseNetscapePluginView that is contained within a subframe
    the WebFrame's data source has been zeroed out.  This was causing -[WebBaseNetscapePluginView webFrame]
    to return nil during -stop, preventing the plug-in view from unregistering itself from the PluginHalter.
    We fix this by having -webFrame retrieve the frame directly rather than retrieving it from the data source.
    
    * Plugins/WebBaseNetscapePluginView.mm:
    (-[WebBaseNetscapePluginView dataSource]): Get the data source from the WebFrame.
    (-[WebBaseNetscapePluginView webFrame]): Get the Frame directly from the element's document rather
    than taking a windy route through the WebDataSource.
    
    WebKitTools: Enable plug-in halting in DumpRenderTree.
    
    We drop the plug-in halting delay to 1 second and opt in the delegate method to never halt plug-ins.
    This is sufficient to ensure that the crash covered by <rdar://problem/7290671> no longer occurs.
    
    * DumpRenderTree/mac/DumpRenderTree.mm:
    (resetDefaultsToConsistentValues):
    * DumpRenderTree/mac/UIDelegate.mm:
    (-[UIDelegate webView:shouldHaltPlugin:]):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49411 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 187e861..d9a7ab9 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,19 @@
+2009-10-09  Mark Rowe  <mrowe at apple.com>
+
+        Reviewed by Brady Eidson.
+
+        <rdar://problem/7290671> Crash after navigating away from a page with subframe containing plug-in
+
+        At the time that -stop is called on a WebBaseNetscapePluginView that is contained within a subframe
+        the WebFrame's data source has been zeroed out.  This was causing -[WebBaseNetscapePluginView webFrame]
+        to return nil during -stop, preventing the plug-in view from unregistering itself from the PluginHalter.
+        We fix this by having -webFrame retrieve the frame directly rather than retrieving it from the data source.
+
+        * Plugins/WebBaseNetscapePluginView.mm:
+        (-[WebBaseNetscapePluginView dataSource]): Get the data source from the WebFrame.
+        (-[WebBaseNetscapePluginView webFrame]): Get the Frame directly from the element's document rather
+        than taking a windy route through the WebDataSource.
+
 2009-10-09  Brady Eidson  <beidson at apple.com>
 
         Reviewed by Dan Bernstein.
diff --git a/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm b/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm
index e730419..4af043d 100644
--- a/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm
+++ b/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm
@@ -640,13 +640,12 @@ private:
 
 - (WebDataSource *)dataSource
 {
-    WebFrame *webFrame = kit(_element->document()->frame());
-    return [webFrame _dataSource];
+    return [[self webFrame] _dataSource];
 }
 
 - (WebFrame *)webFrame
 {
-    return [[self dataSource] webFrame];
+    return kit(_element->document()->frame());
 }
 
 - (WebView *)webView
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index c1018d5..807e4eb 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,17 @@
+2009-10-09  Mark Rowe  <mrowe at apple.com>
+
+        Reviewed by Brady Eidson.
+
+        Enable plug-in halting in DumpRenderTree.
+
+        We drop the plug-in halting delay to 1 second and opt in the delegate method to never halt plug-ins.
+        This is sufficient to ensure that the crash covered by <rdar://problem/7290671> no longer occurs.
+
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        (resetDefaultsToConsistentValues):
+        * DumpRenderTree/mac/UIDelegate.mm:
+        (-[UIDelegate webView:shouldHaltPlugin:]):
+
 2009-10-08  Brady Eidson  <beidson at apple.com>
 
         Reviewed by Dan Bernstein.
diff --git a/WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm b/WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm
index 0c33381..df37eea 100644
--- a/WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm
+++ b/WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm
@@ -410,6 +410,7 @@ static void resetDefaultsToConsistentValues()
     [preferences setXSSAuditorEnabled:NO];
     [preferences setExperimentalNotificationsEnabled:NO];
     [preferences setExperimentalWebSocketsEnabled:NO];
+    [preferences setPluginAllowedRunTime:1];
 
     [preferences setPrivateBrowsingEnabled:NO];
     [preferences setAuthorAndUserStylesEnabled:YES];
diff --git a/WebKitTools/DumpRenderTree/mac/UIDelegate.mm b/WebKitTools/DumpRenderTree/mac/UIDelegate.mm
index a52d5be..393899e 100644
--- a/WebKitTools/DumpRenderTree/mac/UIDelegate.mm
+++ b/WebKitTools/DumpRenderTree/mac/UIDelegate.mm
@@ -157,6 +157,11 @@ DumpRenderTreeDraggingInfo *draggingInfo = nil;
         [geolocation setIsAllowed:gLayoutTestController->geolocationPermission()];
 }
 
+- (BOOL)webView:(WebView *)sender shouldHaltPlugin:(DOMNode *)pluginNode
+{
+    return NO;
+}
+
 - (void)dealloc
 {
     [draggingInfo release];

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list