[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