Fix for Radar bug 4478840, Safari should not reduce null events sent to
authorhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 14 Aug 2006 20:48:08 +0000 (20:48 +0000)
committerhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 14 Aug 2006 20:48:08 +0000 (20:48 +0000)
        plug-ins in windows that are inactive but visible.

        With this fix you can view videos in visible background windows on YouTube
        (for example) and not see any drop in frame rate.

        Reviewed by timo

        * Plugins/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView restartNullEvents]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15861 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/ChangeLog
WebKit/Plugins/WebBaseNetscapePluginView.m

index 15d791a8e89447a9439afa10c706bcd3bf0ad531..31c9eed04e49c7741a8f72da6dd77b686cb5fc7e 100644 (file)
@@ -1,3 +1,16 @@
+2006-08-14  David Hyatt  <hyatt@apple.com>
+
+        Fix for Radar bug 4478840, Safari should not reduce null events sent to
+        plug-ins in windows that are inactive but visible.
+
+        With this fix you can view videos in visible background windows on YouTube
+        (for example) and not see any drop in frame rate.
+
+        Reviewed by timo
+
+        * Plugins/WebBaseNetscapePluginView.m:
+        (-[WebBaseNetscapePluginView restartNullEvents]):
+
 2006-08-14  Maciej Stachowiak  <mjs@apple.com>
 
         Reviewed by Brady.
index 0aad67c02d92f8d36595804ad4c3047d9caa2385..f2d6816477717345dd09a9be0676c31aaa559538 100644 (file)
@@ -704,15 +704,9 @@ static OSStatus TSMEventHandler(EventHandlerCallRef inHandlerRef, EventRef inEve
 
     NSTimeInterval interval;
 
-    // Send null events less frequently when the actual window is not key.  Also, allow the DB
-    // to override this behavior and send full speed events to non key windows.
     // If the plugin is completely obscured (scrolled out of view, for example), then we will
     // send null events at a reduced rate.
-    if (!isCompletelyObscured && ([[self window] isKeyWindow] || [[self webView] _dashboardBehavior:WebDashboardBehaviorAlwaysSendActiveNullEventsToPlugIns]))
-        interval = NullEventIntervalActive;
-    else
-        interval = NullEventIntervalNotActive;
-    
+    interval = !isCompletelyObscured ? NullEventIntervalActive : NullEventIntervalNotActive;    
     nullEventTimer = [[NSTimer scheduledTimerWithTimeInterval:interval
                                                        target:self
                                                      selector:@selector(sendNullEvent)