[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

kdecker at apple.com kdecker at apple.com
Wed Apr 7 23:54:10 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 2022686e111e1b7fe50998cc741746023c3f6de3
Author: kdecker at apple.com <kdecker at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Nov 23 16:05:13 2009 +0000

            Reviewed by Adam Roben.
    
            <rdar://problem/7401503>
    
            Added a workaround for plug-ins not drawing immediately.
    
            * Plugins/WebBaseNetscapePluginView.mm: Added new constant.
            (-[WebBaseNetscapePluginView _clearSubstituteImage]): Added.
            (-[WebBaseNetscapePluginView resumeFromHalt]): Call above new method.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51309 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index c600c80..3992281 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,15 @@
+2009-11-23  Kevin Decker  <kdecker at apple.com>
+
+        Reviewed by Adam Roben.
+        
+        <rdar://problem/7401503>
+        
+        Added a workaround for plug-ins not drawing immediately.
+        
+        * Plugins/WebBaseNetscapePluginView.mm: Added new constant.
+        (-[WebBaseNetscapePluginView _clearSubstituteImage]): Added.
+        (-[WebBaseNetscapePluginView resumeFromHalt]): Call above new method.
+
 2009-11-20  Dave Hyatt  <hyatt at apple.com>
 
         Reviewed by Darin Adler.
diff --git a/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm b/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm
index 0b4d56a..bba36e4 100644
--- a/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm
+++ b/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm
@@ -64,6 +64,8 @@
 #define LoginWindowDidSwitchFromUserNotification    @"WebLoginWindowDidSwitchFromUserNotification"
 #define LoginWindowDidSwitchToUserNotification      @"WebLoginWindowDidSwitchToUserNotification"
 
+static const NSTimeInterval ClearSubstituteImageDelay = 0.5;
+
 using namespace WebCore;
 
 class WebHaltablePlugin : public HaltablePlugin {
@@ -498,6 +500,19 @@ Node* WebHaltablePlugin::node() const
     _hasBeenHalted = YES;
 }
 
+- (void)_clearSubstituteImage
+{
+    Element* element = [self element];
+    if (!element)
+        return;
+    
+    RenderObject* renderer = element->renderer();
+    if (!renderer)
+        return;
+    
+    toRenderWidget(renderer)->showSubstituteImage(0);
+}
+
 - (void)resumeFromHalt
 {
     ASSERT(_isHalted);
@@ -508,7 +523,9 @@ Node* WebHaltablePlugin::node() const
         _isHalted = NO;
     
     ASSERT([self element]->renderer());
-    toRenderWidget([self element]->renderer())->showSubstituteImage(0);
+    // FIXME 7417484: This is a workaround for plug-ins not drawing immediately. We'd like to detect when the
+    // plug-in actually draws instead of just assuming it will do so within 0.5 seconds of being restarted.
+    [self performSelector:@selector(_clearSubstituteImage) withObject:nil afterDelay:ClearSubstituteImageDelay];
 }
 
 - (BOOL)isHalted

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list