Title: [199238] trunk/Source/WebCore
- Revision
- 199238
- Author
- [email protected]
- Date
- 2016-04-08 11:32:19 -0700 (Fri, 08 Apr 2016)
Log Message
Fix leaks in WebAVMediaSelectionOptionMac and WebPlaybackControlsManager
https://bugs.webkit.org/show_bug.cgi?id=156379
Reviewed by Tim Horton.
These classes should use RetainPtrs.
* platform/mac/WebVideoFullscreenInterfaceMac.mm:
(-[WebAVMediaSelectionOptionMac localizedDisplayName]):
(-[WebAVMediaSelectionOptionMac setLocalizedDisplayName:]):
(-[WebPlaybackControlsManager timing]):
(-[WebPlaybackControlsManager setTiming:]):
(-[WebPlaybackControlsManager seekableTimeRanges]):
(-[WebPlaybackControlsManager setSeekableTimeRanges:]):
(-[WebPlaybackControlsManager audioMediaSelectionOptions]):
(-[WebPlaybackControlsManager setAudioMediaSelectionOptions:]):
(-[WebPlaybackControlsManager currentAudioMediaSelectionOption]):
(-[WebPlaybackControlsManager setCurrentAudioMediaSelectionOption:]):
(-[WebPlaybackControlsManager legibleMediaSelectionOptions]):
(-[WebPlaybackControlsManager setLegibleMediaSelectionOptions:]):
(-[WebPlaybackControlsManager currentLegibleMediaSelectionOption]):
(-[WebPlaybackControlsManager setCurrentLegibleMediaSelectionOption:]):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (199237 => 199238)
--- trunk/Source/WebCore/ChangeLog 2016-04-08 18:28:27 UTC (rev 199237)
+++ trunk/Source/WebCore/ChangeLog 2016-04-08 18:32:19 UTC (rev 199238)
@@ -1,3 +1,27 @@
+2016-04-08 Beth Dakin <[email protected]>
+
+ Fix leaks in WebAVMediaSelectionOptionMac and WebPlaybackControlsManager
+ https://bugs.webkit.org/show_bug.cgi?id=156379
+
+ Reviewed by Tim Horton.
+
+ These classes should use RetainPtrs.
+ * platform/mac/WebVideoFullscreenInterfaceMac.mm:
+ (-[WebAVMediaSelectionOptionMac localizedDisplayName]):
+ (-[WebAVMediaSelectionOptionMac setLocalizedDisplayName:]):
+ (-[WebPlaybackControlsManager timing]):
+ (-[WebPlaybackControlsManager setTiming:]):
+ (-[WebPlaybackControlsManager seekableTimeRanges]):
+ (-[WebPlaybackControlsManager setSeekableTimeRanges:]):
+ (-[WebPlaybackControlsManager audioMediaSelectionOptions]):
+ (-[WebPlaybackControlsManager setAudioMediaSelectionOptions:]):
+ (-[WebPlaybackControlsManager currentAudioMediaSelectionOption]):
+ (-[WebPlaybackControlsManager setCurrentAudioMediaSelectionOption:]):
+ (-[WebPlaybackControlsManager legibleMediaSelectionOptions]):
+ (-[WebPlaybackControlsManager setLegibleMediaSelectionOptions:]):
+ (-[WebPlaybackControlsManager currentLegibleMediaSelectionOption]):
+ (-[WebPlaybackControlsManager setCurrentLegibleMediaSelectionOption:]):
+
2016-04-08 Fujii Hironori <[email protected]>
Touching any IDL files rebuilds all bindings in CMake Ninja build
Modified: trunk/Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.mm (199237 => 199238)
--- trunk/Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.mm 2016-04-08 18:28:27 UTC (rev 199237)
+++ trunk/Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.mm 2016-04-08 18:32:19 UTC (rev 199238)
@@ -49,26 +49,36 @@
using namespace WebCore;
@interface WebAVMediaSelectionOptionMac : NSObject {
- NSString *_localizedDisplayName;
+ RetainPtr<NSString> _localizedDisplayName;
}
@property (retain) NSString *localizedDisplayName;
@end
@implementation WebAVMediaSelectionOptionMac
-@synthesize localizedDisplayName=_localizedDisplayName;
+
+- (NSString *)localizedDisplayName
+{
+ return _localizedDisplayName.get();
+}
+
+- (void)setLocalizedDisplayName:(NSString *)name
+{
+ _localizedDisplayName = name;
+}
+
@end
@interface WebPlaybackControlsManager : NSObject {
NSTimeInterval _contentDuration;
- AVValueTiming *_timing;
+ RetainPtr<AVValueTiming> _timing;
NSTimeInterval _seekToTime;
- NSArray *_seekableTimeRanges;
+ RetainPtr<NSArray> _seekableTimeRanges;
BOOL _hasEnabledAudio;
BOOL _hasEnabledVideo;
- NSArray<AVMediaSelectionOption *> *_audioMediaSelectionOptions;
- AVMediaSelectionOption *_currentAudioMediaSelectionOption;
- NSArray<AVMediaSelectionOption *> *_legibleMediaSelectionOptions;
- AVMediaSelectionOption *_currentLegibleMediaSelectionOption;
+ RetainPtr<NSArray<AVMediaSelectionOption *>> _audioMediaSelectionOptions;
+ RetainPtr<AVMediaSelectionOption> _currentAudioMediaSelectionOption;
+ RetainPtr<NSArray<AVMediaSelectionOption *>> _legibleMediaSelectionOptions;
+ RetainPtr<AVMediaSelectionOption> _currentLegibleMediaSelectionOption;
float _rate;
@@ -100,16 +110,10 @@
@implementation WebPlaybackControlsManager
@synthesize contentDuration=_contentDuration;
-@synthesize timing=_timing;
@synthesize seekToTime=_seekToTime;
-@synthesize seekableTimeRanges=_seekableTimeRanges;
@synthesize hasEnabledAudio=_hasEnabledAudio;
@synthesize hasEnabledVideo=_hasEnabledVideo;
@synthesize rate=_rate;
-@synthesize audioMediaSelectionOptions=_audioMediaSelectionOptions;
-@synthesize currentAudioMediaSelectionOption=_currentAudioMediaSelectionOption;
-@synthesize legibleMediaSelectionOptions=_legibleMediaSelectionOptions;
-@synthesize currentLegibleMediaSelectionOption=_currentLegibleMediaSelectionOption;
- (instancetype)initWithWebVideoFullscreenInterfaceMac:(WebCore::WebVideoFullscreenInterfaceMac*)webVideoFullscreenInterfaceMac
{
@@ -121,6 +125,26 @@
return self;
}
+- (AVValueTiming *)timing
+{
+ return _timing.get();
+}
+
+- (void)setTiming:(AVValueTiming *)timing
+{
+ _timing = timing;
+}
+
+- (NSArray *)seekableTimeRanges
+{
+ return _seekableTimeRanges.get();
+}
+
+- (void)setSeekableTimeRanges:(NSArray *)timeRanges
+{
+ _seekableTimeRanges = timeRanges;
+}
+
- (BOOL)isSeeking
{
return NO;
@@ -133,6 +157,21 @@
_webVideoFullscreenInterfaceMac->webVideoFullscreenModel()->seekToTime(time);
}
+- (NSArray<AVMediaSelectionOption *> *)audioMediaSelectionOptions
+{
+ return _audioMediaSelectionOptions.get();
+}
+
+- (void)setAudioMediaSelectionOptions:(NSArray<AVMediaSelectionOption *> *)audioOptions
+{
+ _audioMediaSelectionOptions = audioOptions;
+}
+
+- (AVMediaSelectionOption *)currentAudioMediaSelectionOption
+{
+ return _currentAudioMediaSelectionOption.get();
+}
+
- (void)setCurrentAudioMediaSelectionOption:(AVMediaSelectionOption *)audioMediaSelectionOption
{
if (audioMediaSelectionOption == _currentAudioMediaSelectionOption)
@@ -148,6 +187,21 @@
_webVideoFullscreenInterfaceMac->webVideoFullscreenModel()->selectAudioMediaOption(index != NSNotFound ? index : UINT64_MAX);
}
+- (NSArray<AVMediaSelectionOption *> *)legibleMediaSelectionOptions
+{
+ return _legibleMediaSelectionOptions.get();
+}
+
+- (void)setLegibleMediaSelectionOptions:(NSArray<AVMediaSelectionOption *> *)legibleOptions
+{
+ _legibleMediaSelectionOptions = legibleOptions;
+}
+
+- (AVMediaSelectionOption *)currentLegibleMediaSelectionOption
+{
+ return _currentLegibleMediaSelectionOption.get();
+}
+
- (void)setCurrentLegibleMediaSelectionOption:(AVMediaSelectionOption *)legibleMediaSelectionOption
{
if (legibleMediaSelectionOption == _currentLegibleMediaSelectionOption)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes