Changeset 57403 in webkit
- Timestamp:
- Apr 9, 2010 7:59:27 PM (14 years ago)
- Location:
- trunk/WebKit/mac
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKit/mac/ChangeLog
r57373 r57403 1 2010-04-09 Jer Noble <jer.noble@apple.com> 2 3 Reviewed by Darin Adler. 4 5 Work around QTMovieView bug (<rdar://problem/7712713>) by using a QTMovieLayer instead. 6 https://bugs.webkit.org/show_bug.cgi?id=37311 / <rdar://problem/7749993> 7 8 * WebView/WebVideoFullscreenController.mm: 9 (-[WebVideoFullscreenController windowDidLoad]): 10 (-[WebVideoFullscreenController setMediaElement:WebCore::]): 11 1 12 2010-04-09 Alexey Proskuryakov <ap@apple.com> 2 13 -
trunk/WebKit/mac/WebView/WebVideoFullscreenController.mm
r57348 r57403 38 38 39 39 SOFT_LINK_FRAMEWORK(QTKit) 40 SOFT_LINK_CLASS(QTKit, QTMovie View)40 SOFT_LINK_CLASS(QTKit, QTMovieLayer) 41 41 42 42 SOFT_LINK_POINTER(QTKit, QTMovieRateDidChangeNotification, NSString *) … … 86 86 - (void)windowDidLoad 87 87 { 88 #ifdef BUILDING_ON_TIGER 89 // WebVideoFullscreenController is not supported on Tiger: 90 ASSERT_NOT_REACHED(); 91 #else 88 92 WebVideoFullscreenWindow *window = [self fullscreenWindow]; 89 QTMovieView *view = [[getQTMovieViewClass() alloc] init]; 90 [view setFillColor:[NSColor clearColor]]; 91 [window setContentView:view]; 92 [view setControllerVisible:NO]; 93 [view setPreservesAspectRatio:YES]; 93 QTMovieLayer *layer = [[getQTMovieLayerClass() alloc] init]; 94 [[window contentView] setLayer:layer]; 95 [[window contentView] setWantsLayer:YES]; 94 96 if (_mediaElement) 95 [ viewsetMovie:_mediaElement->platformMedia().qtMovie];97 [layer setMovie:_mediaElement->platformMedia().qtMovie]; 96 98 [window setHasShadow:YES]; // This is nicer with a shadow. 97 99 [window setLevel:NSPopUpMenuWindowLevel-1]; 98 [view release]; 100 [layer release]; 101 #endif 99 102 } 100 103 … … 106 109 - (void)setMediaElement:(WebCore::HTMLMediaElement*)mediaElement; 107 110 { 111 #ifdef BUILDING_ON_TIGER 112 // WebVideoFullscreenController is not supported on Tiger: 113 ASSERT_NOT_REACHED(); 114 #else 108 115 _mediaElement = mediaElement; 109 116 if ([self isWindowLoaded]) { 110 QTMovieView *movieView = (QTMovieView *)[[self fullscreenWindow] contentView];111 117 QTMovie *movie = _mediaElement->platformMedia().qtMovie; 112 113 ASSERT(movieView && [movieView isKindOfClass:[getQTMovieViewClass() class]]); 118 QTMovieLayer *movieLayer = (QTMovieLayer *)[[[self fullscreenWindow] contentView] layer]; 119 120 ASSERT(movieLayer && [movieLayer isKindOfClass:[getQTMovieLayerClass() class]]); 114 121 ASSERT(movie); 115 [movie ViewsetMovie:movie];122 [movieLayer setMovie:movie]; 116 123 [[NSNotificationCenter defaultCenter] addObserver:self 117 124 selector:@selector(rateChanged:) … … 119 126 object:movie]; 120 127 } 128 #endif 121 129 } 122 130
Note: See TracChangeset
for help on using the changeset viewer.