[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

jer.noble at apple.com jer.noble at apple.com
Wed Dec 22 14:23:25 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 0ff0e081fd92de4052f1d2690c813954096c9c7b
Author: jer.noble at apple.com <jer.noble at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Oct 7 17:39:47 2010 +0000

    2010-10-06  Jer Noble  <jer.noble at apple.com>
    
            Reviewed by Darin Adler.
    
            Screensaver starts while watching fullscreen playback.
            https://bugs.webkit.org/show_bug.cgi?id=47299
            <rdar://problem/8478956>
    
            To disable the Screen Saver, we need to periodically call UpdateSystemActivity().
    
            * WebView/WebVideoFullscreenController.h: Added _tickleTimer.
            * WebView/WebVideoFullscreenController.mm:
            (-[WebVideoFullscreenController dealloc]): Invalidate _tickleTimer.
            (-[WebVideoFullscreenController _enableTickleTimer]): Create _tickleTimer.
            (-[WebVideoFullscreenController _disableTickleTimer]): Invalidate _tickleTimer.
            (-[WebVideoFullscreenController _tickleTimerFired]): Call UpdateSystemActivity().
            (-[WebVideoFullscreenController updatePowerAssertions]): Call _enableTickleTimer
                or _disableTickleTimer.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69318 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index d420bef..f96f837 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,22 @@
+2010-10-06  Jer Noble  <jer.noble at apple.com>
+
+        Reviewed by Darin Adler.
+
+        Screensaver starts while watching fullscreen playback.
+        https://bugs.webkit.org/show_bug.cgi?id=47299
+        <rdar://problem/8478956>
+
+        To disable the Screen Saver, we need to periodically call UpdateSystemActivity().  
+
+        * WebView/WebVideoFullscreenController.h: Added _tickleTimer.
+        * WebView/WebVideoFullscreenController.mm:
+        (-[WebVideoFullscreenController dealloc]): Invalidate _tickleTimer.
+        (-[WebVideoFullscreenController _enableTickleTimer]): Create _tickleTimer. 
+        (-[WebVideoFullscreenController _disableTickleTimer]): Invalidate _tickleTimer.
+        (-[WebVideoFullscreenController _tickleTimerFired]): Call UpdateSystemActivity().
+        (-[WebVideoFullscreenController updatePowerAssertions]): Call _enableTickleTimer 
+            or _disableTickleTimer.
+
 2010-10-05  Philippe Normand  <pnormand at igalia.com>
 
         Reviewed by Martin Robinson.
diff --git a/WebKit/mac/WebView/WebVideoFullscreenController.h b/WebKit/mac/WebView/WebVideoFullscreenController.h
index 3e7b6cf..69ba9f4 100644
--- a/WebKit/mac/WebView/WebVideoFullscreenController.h
+++ b/WebKit/mac/WebView/WebVideoFullscreenController.h
@@ -49,7 +49,8 @@ namespace WebCore {
     BOOL _isWindowLoaded;
     BOOL _forceDisableAnimation;
     uint32_t _idleDisplaySleepAssertion;
-    uint32_t _idleSystemSleepAssertion;    
+    uint32_t _idleSystemSleepAssertion;
+    NSTimer *_tickleTimer;
     SystemUIMode _savedUIMode;
     SystemUIOptions _savedUIOptions;
 }
diff --git a/WebKit/mac/WebView/WebVideoFullscreenController.mm b/WebKit/mac/WebView/WebVideoFullscreenController.mm
index 69ded78..cf8bee1 100644
--- a/WebKit/mac/WebView/WebVideoFullscreenController.mm
+++ b/WebKit/mac/WebView/WebVideoFullscreenController.mm
@@ -43,6 +43,7 @@ SOFT_LINK_CLASS(QTKit, QTMovieLayer)
 SOFT_LINK_POINTER(QTKit, QTMovieRateDidChangeNotification, NSString *)
 
 #define QTMovieRateDidChangeNotification getQTMovieRateDidChangeNotification()
+static const NSTimeInterval tickleTimerInterval = 1.0;
 
 @interface WebVideoFullscreenWindow : NSWindow
 #if !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_TIGER)
@@ -82,6 +83,9 @@ SOFT_LINK_POINTER(QTKit, QTMovieRateDidChangeNotification, NSString *)
 {
     ASSERT(!_backgroundFullscreenWindow);
     ASSERT(!_fadeAnimation);
+    [_tickleTimer invalidate];
+    [_tickleTimer release];
+    _tickleTimer = nil;
     [[NSNotificationCenter defaultCenter] removeObserver:self];
     [super dealloc];
 }
@@ -378,6 +382,25 @@ static NSWindow *createBackgroundFullscreenWindow(NSRect frame, int level)
         _idleSystemSleepAssertion = kIOPMNullAssertionID;
     }
 }
+
+- (void)_enableTickleTimer
+{
+    [_tickleTimer invalidate];
+    [_tickleTimer release];
+    _tickleTimer = [[NSTimer scheduledTimerWithTimeInterval:tickleTimerInterval target:self selector:@selector(_tickleTimerFired) userInfo:nil repeats:YES] retain];
+}
+
+- (void)_disableTickleTimer
+{
+    [_tickleTimer invalidate];
+    [_tickleTimer release];
+    _tickleTimer = nil;
+}
+
+- (void)_tickleTimerFired
+{
+    UpdateSystemActivity(OverallAct);
+}
 #endif
 
 - (void)updatePowerAssertions
@@ -390,9 +413,11 @@ static NSWindow *createBackgroundFullscreenWindow(NSRect frame, int level)
     if (rate && !_isEndingFullscreen) {
         [self _disableIdleSystemSleep];
         [self _disableIdleDisplaySleep];
+        [self _disableTickleTimer];
     } else {
         [self _enableIdleSystemSleep];
         [self _enableIdleDisplaySleep];
+        [self _enableTickleTimer];
     }
 #endif
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list