[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.17-1283-gcf603cf
simon.fraser at apple.com
simon.fraser at apple.com
Tue Jan 5 23:45:25 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 96f84ba515b4e45142df593a4e1c717381ff40b9
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Dec 9 00:40:00 2009 +0000
2009-12-08 Simon Fraser <simon.fraser at apple.com>
Reviewed by Dan Bernstein.
<rdar://problem/7295070> WebKit video fullscreen keeps playing after closing the window
Fix a leak of the QTMovieView when exiting fullscreen video, and remove the
old workaround.
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController windowDidLoad]): Set the movie view as the contentView directly.
(-[WebVideoFullscreenController setMediaElement:WebCore::]): Cast the contentView to a movie view.
(-[WebVideoFullscreenController windowDidExitFullscreen]): Remove the old workaround.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51879 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 376c6d3..80b5e30 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,17 @@
+2009-12-08 Simon Fraser <simon.fraser at apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/7295070> WebKit video fullscreen keeps playing after closing the window
+
+ Fix a leak of the QTMovieView when exiting fullscreen video, and remove the
+ old workaround.
+
+ * WebView/WebVideoFullscreenController.mm:
+ (-[WebVideoFullscreenController windowDidLoad]): Set the movie view as the contentView directly.
+ (-[WebVideoFullscreenController setMediaElement:WebCore::]): Cast the contentView to a movie view.
+ (-[WebVideoFullscreenController windowDidExitFullscreen]): Remove the old workaround.
+
2009-12-08 Dmitry Titov <dimich at chromium.org>
Rubber-stamped by David Levin.
diff --git a/WebKit/mac/WebView/WebVideoFullscreenController.mm b/WebKit/mac/WebView/WebVideoFullscreenController.mm
index 7b17cf3..946da90 100644
--- a/WebKit/mac/WebView/WebVideoFullscreenController.mm
+++ b/WebKit/mac/WebView/WebVideoFullscreenController.mm
@@ -49,11 +49,8 @@ SOFT_LINK_POINTER(QTKit, QTMovieRateDidChangeNotification, NSString *)
{
SEL _controllerActionOnAnimationEnd;
WebWindowScaleAnimation *_fullscreenAnimation; // (retain)
- QTMovieView *_movieView; // (retain)
}
- (void)animateFromRect:(NSRect)startRect toRect:(NSRect)endRect withSubAnimation:(NSAnimation *)subAnimation controllerAction:(SEL)controllerAction;
-- (QTMovieView *)movieView;
-- (void)setMovieView:(QTMovieView *)movieView;
@end
@interface WebVideoFullscreenController(HUDWindowControllerDelegate) <WebVideoFullscreenHUDWindowControllerDelegate>
@@ -90,7 +87,7 @@ SOFT_LINK_POINTER(QTKit, QTMovieRateDidChangeNotification, NSString *)
WebVideoFullscreenWindow *window = [self fullscreenWindow];
QTMovieView *view = [[getQTMovieViewClass() alloc] init];
[view setFillColor:[NSColor clearColor]];
- [window setMovieView:view];
+ [window setContentView:view];
[view setControllerVisible:NO];
[view setPreservesAspectRatio:YES];
if (_mediaElement)
@@ -109,10 +106,10 @@ SOFT_LINK_POINTER(QTKit, QTMovieRateDidChangeNotification, NSString *)
{
_mediaElement = mediaElement;
if ([self isWindowLoaded]) {
- QTMovieView *movieView = [[self fullscreenWindow] movieView];
+ QTMovieView *movieView = (QTMovieView *)[[self fullscreenWindow] contentView];
QTMovie *movie = _mediaElement->platformMedia().qtMovie;
- ASSERT(movieView);
+ ASSERT(movieView && [movieView isKindOfClass:[getQTMovieViewClass() class]]);
ASSERT(movie);
[movieView setMovie:movie];
[[NSNotificationCenter defaultCenter] addObserver:self
@@ -144,9 +141,6 @@ SOFT_LINK_POINTER(QTKit, QTMovieRateDidChangeNotification, NSString *)
- (void)windowDidExitFullscreen
{
- // If we don't clear the movie, underlying movie data structures are leaked and the movie keeps playing <rdar://problem/7295070>
- [[[self fullscreenWindow] movieView] setMovie:nil];
-
[self clearFadeAnimation];
[[self window] close];
[self setWindow:nil];
@@ -337,20 +331,6 @@ static NSWindow *createBackgroundFullscreenWindow(NSRect frame, int level)
[super dealloc];
}
-- (QTMovieView *)movieView
-{
- return _movieView;
-}
-
-- (void)setMovieView:(QTMovieView *)movieView
-{
- if (_movieView == movieView)
- return;
- [_movieView release];
- _movieView = [movieView retain];
- [self setContentView:_movieView];
-}
-
- (BOOL)resignFirstResponder
{
return NO;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list