Title: [215274] trunk/Source
Revision
215274
Author
[email protected]
Date
2017-04-12 11:38:09 -0700 (Wed, 12 Apr 2017)

Log Message

Adopt AVKit name change from AVFunctionBar* to AVTouchBar*
https://bugs.webkit.org/show_bug.cgi?id=170693
-and corresponding-
rdar://problem/31230018

Source/WebCore:

Reviewed by San Weinig.

Since the new names only apply to some versions of macOS, this patch uses typedefs 
for the older OS’s. SO:

AVFunctionBarScrubber is now AVTouchBarScrubber

AVFunctionBarPlaybackControlsProvider is now AVTouchBarPlaybackControlsProvider

AVFunctionBarMediaSelectionOption is now AVTouchBarMediaSelectionOption

And the protocol AVFunctionBarPlaybackControlsControlling is now 
AVTouchBarPlaybackControlsControlling

* platform/mac/WebPlaybackControlsManager.h:
* platform/mac/WebPlaybackControlsManager.mm:
(-[WebPlaybackControlsManager audioFunctionBarMediaSelectionOptions]):
(-[WebPlaybackControlsManager setAudioFunctionBarMediaSelectionOptions:]):
(-[WebPlaybackControlsManager currentAudioFunctionBarMediaSelectionOption]):
(-[WebPlaybackControlsManager setCurrentAudioFunctionBarMediaSelectionOption:]):
(-[WebPlaybackControlsManager legibleFunctionBarMediaSelectionOptions]):
(-[WebPlaybackControlsManager setLegibleFunctionBarMediaSelectionOptions:]):
(-[WebPlaybackControlsManager currentLegibleFunctionBarMediaSelectionOption]):
(-[WebPlaybackControlsManager setCurrentLegibleFunctionBarMediaSelectionOption:]):
(mediaSelectionOptions):

Here is where the typedefs and #define are declared.
* platform/spi/cocoa/AVKitSPI.h:

Source/WebKit/mac:

Reviewed by Sam Weinig.

Since the new names only apply to some versions of macOS, this patch uses typedefs 
for the older OS’s. SO:

AVFunctionBarScrubber is now AVTouchBarScrubber

AVFunctionBarPlaybackControlsProvider is now AVTouchBarPlaybackControlsProvider

AVFunctionBarMediaSelectionOption is now AVTouchBarMediaSelectionOption

And the protocol AVFunctionBarPlaybackControlsControlling is now 
AVTouchBarPlaybackControlsControlling

Soft links and allocations cannot use the typedefs.
* WebView/WebView.mm:
(-[WebView updateMediaTouchBar]):
* WebView/WebViewData.h:

Source/WebKit2:

Reviewed by Sam Weinig.

Since the new names only apply to some versions of macOS, this patch uses typedefs 
for the older OS’s. SO:

AVFunctionBarScrubber is now AVTouchBarScrubber

AVFunctionBarPlaybackControlsProvider is now AVTouchBarPlaybackControlsProvider

AVFunctionBarMediaSelectionOption is now AVTouchBarMediaSelectionOption

And the protocol AVFunctionBarPlaybackControlsControlling is now 
AVTouchBarPlaybackControlsControlling

Use the new name.
* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _mediaPlaybackControlsView]):
(-[WKWebView _addMediaPlaybackControlsView:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _mediaPlaybackControlsView]):
(-[WKView _addMediaPlaybackControlsView:]):
* UIProcess/Cocoa/WebViewImpl.h:

Soft links and allocations cannot use the typedefs.
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::mediaPlaybackControlsView):
(WebKit::WebViewImpl::updateMediaTouchBar):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (215273 => 215274)


--- trunk/Source/WebCore/ChangeLog	2017-04-12 18:10:43 UTC (rev 215273)
+++ trunk/Source/WebCore/ChangeLog	2017-04-12 18:38:09 UTC (rev 215274)
@@ -1,3 +1,39 @@
+2017-04-12  Beth Dakin  <[email protected]>
+
+        Adopt AVKit name change from AVFunctionBar* to AVTouchBar*
+        https://bugs.webkit.org/show_bug.cgi?id=170693
+        -and corresponding-
+        rdar://problem/31230018
+
+        Reviewed by San Weinig.
+
+        Since the new names only apply to some versions of macOS, this patch uses typedefs 
+        for the older OS’s. SO:
+
+        AVFunctionBarScrubber is now AVTouchBarScrubber
+
+        AVFunctionBarPlaybackControlsProvider is now AVTouchBarPlaybackControlsProvider
+
+        AVFunctionBarMediaSelectionOption is now AVTouchBarMediaSelectionOption
+
+        And the protocol AVFunctionBarPlaybackControlsControlling is now 
+        AVTouchBarPlaybackControlsControlling
+
+        * platform/mac/WebPlaybackControlsManager.h:
+        * platform/mac/WebPlaybackControlsManager.mm:
+        (-[WebPlaybackControlsManager audioFunctionBarMediaSelectionOptions]):
+        (-[WebPlaybackControlsManager setAudioFunctionBarMediaSelectionOptions:]):
+        (-[WebPlaybackControlsManager currentAudioFunctionBarMediaSelectionOption]):
+        (-[WebPlaybackControlsManager setCurrentAudioFunctionBarMediaSelectionOption:]):
+        (-[WebPlaybackControlsManager legibleFunctionBarMediaSelectionOptions]):
+        (-[WebPlaybackControlsManager setLegibleFunctionBarMediaSelectionOptions:]):
+        (-[WebPlaybackControlsManager currentLegibleFunctionBarMediaSelectionOption]):
+        (-[WebPlaybackControlsManager setCurrentLegibleFunctionBarMediaSelectionOption:]):
+        (mediaSelectionOptions):
+
+        Here is where the typedefs and #define are declared.
+        * platform/spi/cocoa/AVKitSPI.h:
+
 2017-04-12  Alex Christensen  <[email protected]>
 
         Fix WinCairo build after r215265

Modified: trunk/Source/WebCore/platform/mac/WebPlaybackControlsManager.h (215273 => 215274)


--- trunk/Source/WebCore/platform/mac/WebPlaybackControlsManager.h	2017-04-12 18:10:43 UTC (rev 215273)
+++ trunk/Source/WebCore/platform/mac/WebPlaybackControlsManager.h	2017-04-12 18:38:09 UTC (rev 215274)
@@ -39,7 +39,7 @@
 #if ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
 
 WEBCORE_EXPORT
-@interface WebPlaybackControlsManager : NSObject <AVFunctionBarPlaybackControlsControlling> {
+@interface WebPlaybackControlsManager : NSObject <AVTouchBarPlaybackControlsControlling> {
     NSTimeInterval _contentDuration;
     RetainPtr<AVValueTiming> _timing;
     NSTimeInterval _seekToTime;
@@ -46,10 +46,10 @@
     RetainPtr<NSArray> _seekableTimeRanges;
     BOOL _hasEnabledAudio;
     BOOL _hasEnabledVideo;
-    RetainPtr<NSArray<AVFunctionBarMediaSelectionOption *>> _audioFunctionBarMediaSelectionOptions;
-    RetainPtr<AVFunctionBarMediaSelectionOption> _currentAudioFunctionBarMediaSelectionOption;
-    RetainPtr<NSArray<AVFunctionBarMediaSelectionOption *>> _legibleFunctionBarMediaSelectionOptions;
-    RetainPtr<AVFunctionBarMediaSelectionOption> _currentLegibleFunctionBarMediaSelectionOption;
+    RetainPtr<NSArray<AVTouchBarMediaSelectionOption *>> _audioFunctionBarMediaSelectionOptions;
+    RetainPtr<AVTouchBarMediaSelectionOption> _currentAudioFunctionBarMediaSelectionOption;
+    RetainPtr<NSArray<AVTouchBarMediaSelectionOption *>> _legibleFunctionBarMediaSelectionOptions;
+    RetainPtr<AVTouchBarMediaSelectionOption> _currentLegibleFunctionBarMediaSelectionOption;
     float _rate;
     BOOL _canTogglePlayback;
 
@@ -69,10 +69,10 @@
 
 @property (nonatomic) float rate;
 
-- (AVFunctionBarMediaSelectionOption *)currentAudioFunctionBarMediaSelectionOption;
-- (void)setCurrentAudioFunctionBarMediaSelectionOption:(AVFunctionBarMediaSelectionOption *)option;
-- (AVFunctionBarMediaSelectionOption *)currentLegibleFunctionBarMediaSelectionOption;
-- (void)setCurrentLegibleFunctionBarMediaSelectionOption:(AVFunctionBarMediaSelectionOption *)option;
+- (AVTouchBarMediaSelectionOption *)currentAudioFunctionBarMediaSelectionOption;
+- (void)setCurrentAudioFunctionBarMediaSelectionOption:(AVTouchBarMediaSelectionOption *)option;
+- (AVTouchBarMediaSelectionOption *)currentLegibleFunctionBarMediaSelectionOption;
+- (void)setCurrentLegibleFunctionBarMediaSelectionOption:(AVTouchBarMediaSelectionOption *)option;
 - (void)setAudioMediaSelectionOptions:(const Vector<WTF::String>&)options withSelectedIndex:(NSUInteger)selectedIndex;
 - (void)setLegibleMediaSelectionOptions:(const Vector<WTF::String>&)options withSelectedIndex:(NSUInteger)selectedIndex;
 @end

Modified: trunk/Source/WebCore/platform/mac/WebPlaybackControlsManager.mm (215273 => 215274)


--- trunk/Source/WebCore/platform/mac/WebPlaybackControlsManager.mm	2017-04-12 18:10:43 UTC (rev 215273)
+++ trunk/Source/WebCore/platform/mac/WebPlaybackControlsManager.mm	2017-04-12 18:38:09 UTC (rev 215274)
@@ -36,7 +36,11 @@
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wnullability-completeness"
 SOFT_LINK_FRAMEWORK(AVKit)
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+SOFT_LINK_CLASS_OPTIONAL(AVKit, AVTouchBarMediaSelectionOption)
+#else
 SOFT_LINK_CLASS_OPTIONAL(AVKit, AVFunctionBarMediaSelectionOption)
+#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 
 @implementation WebPlaybackControlsManager
 
@@ -121,22 +125,22 @@
     _webPlaybackSessionInterfaceMac->endScrubbing();
 }
 
-- (NSArray<AVFunctionBarMediaSelectionOption *> *)audioFunctionBarMediaSelectionOptions
+- (NSArray<AVTouchBarMediaSelectionOption *> *)audioFunctionBarMediaSelectionOptions
 {
     return _audioFunctionBarMediaSelectionOptions.get();
 }
 
-- (void)setAudioFunctionBarMediaSelectionOptions:(NSArray<AVFunctionBarMediaSelectionOption *> *)audioOptions
+- (void)setAudioFunctionBarMediaSelectionOptions:(NSArray<AVTouchBarMediaSelectionOption *> *)audioOptions
 {
     _audioFunctionBarMediaSelectionOptions = audioOptions;
 }
 
-- (AVFunctionBarMediaSelectionOption *)currentAudioFunctionBarMediaSelectionOption
+- (AVTouchBarMediaSelectionOption *)currentAudioFunctionBarMediaSelectionOption
 {
     return _currentAudioFunctionBarMediaSelectionOption.get();
 }
 
-- (void)setCurrentAudioFunctionBarMediaSelectionOption:(AVFunctionBarMediaSelectionOption *)audioMediaSelectionOption
+- (void)setCurrentAudioFunctionBarMediaSelectionOption:(AVTouchBarMediaSelectionOption *)audioMediaSelectionOption
 {
     if (audioMediaSelectionOption == _currentAudioFunctionBarMediaSelectionOption)
         return;
@@ -151,22 +155,22 @@
     _webPlaybackSessionInterfaceMac->webPlaybackSessionModel()->selectAudioMediaOption(index != NSNotFound ? index : UINT64_MAX);
 }
 
-- (NSArray<AVFunctionBarMediaSelectionOption *> *)legibleFunctionBarMediaSelectionOptions
+- (NSArray<AVTouchBarMediaSelectionOption *> *)legibleFunctionBarMediaSelectionOptions
 {
     return _legibleFunctionBarMediaSelectionOptions.get();
 }
 
-- (void)setLegibleFunctionBarMediaSelectionOptions:(NSArray<AVFunctionBarMediaSelectionOption *> *)legibleOptions
+- (void)setLegibleFunctionBarMediaSelectionOptions:(NSArray<AVTouchBarMediaSelectionOption *> *)legibleOptions
 {
     _legibleFunctionBarMediaSelectionOptions = legibleOptions;
 }
 
-- (AVFunctionBarMediaSelectionOption *)currentLegibleFunctionBarMediaSelectionOption
+- (AVTouchBarMediaSelectionOption *)currentLegibleFunctionBarMediaSelectionOption
 {
     return _currentLegibleFunctionBarMediaSelectionOption.get();
 }
 
-- (void)setCurrentLegibleFunctionBarMediaSelectionOption:(AVFunctionBarMediaSelectionOption *)legibleMediaSelectionOption
+- (void)setCurrentLegibleFunctionBarMediaSelectionOption:(AVTouchBarMediaSelectionOption *)legibleMediaSelectionOption
 {
     if (legibleMediaSelectionOption == _currentLegibleFunctionBarMediaSelectionOption)
         return;
@@ -185,7 +189,11 @@
 {
     RetainPtr<NSMutableArray> webOptions = adoptNS([[NSMutableArray alloc] initWithCapacity:options.size()]);
     for (auto& name : options) {
-        if (RetainPtr<AVFunctionBarMediaSelectionOption> webOption = adoptNS([allocAVFunctionBarMediaSelectionOptionInstance() initWithTitle:name]))
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+        if (RetainPtr<AVTouchBarMediaSelectionOption> webOption = adoptNS([allocAVTouchBarMediaSelectionOptionInstance() initWithTitle:name type:AVTouchBarMediaSelectionOptionTypeRegular]))
+#else
+        if (RetainPtr<AVTouchBarMediaSelectionOption> webOption = adoptNS([allocAVFunctionBarMediaSelectionOptionInstance() initWithTitle:name]))
+#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
             [webOptions addObject:webOption.get()];
     }
     return webOptions;

Modified: trunk/Source/WebCore/platform/spi/cocoa/AVKitSPI.h (215273 => 215274)


--- trunk/Source/WebCore/platform/spi/cocoa/AVKitSPI.h	2017-04-12 18:10:43 UTC (rev 215273)
+++ trunk/Source/WebCore/platform/spi/cocoa/AVKitSPI.h	2017-04-12 18:38:09 UTC (rev 215274)
@@ -153,14 +153,30 @@
 
 #if PLATFORM(MAC) && ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
 
+OBJC_CLASS AVFunctionBarPlaybackControlsProvider;
+OBJC_CLASS AVFunctionBarScrubber;
+OBJC_CLASS AVFunctionBarMediaSelectionOption;
+
+#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
+typedef AVFunctionBarMediaSelectionOption AVTouchBarMediaSelectionOption;
+typedef AVFunctionBarPlaybackControlsProvider AVTouchBarPlaybackControlsProvider;
+typedef AVFunctionBarScrubber AVTouchBarScrubber;
+#define AVTouchBarPlaybackControlsControlling AVFunctionBarPlaybackControlsControlling
+#endif // __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
+
 #if USE(APPLE_INTERNAL_SDK)
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+#import <AVKit/AVTouchBarPlaybackControlsProvider.h>
+#import <AVKit/AVTouchBarScrubber.h>
+#else
 #import <AVKit/AVFunctionBarPlaybackControlsProvider.h>
 #import <AVKit/AVFunctionBarScrubber.h>
+#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 #else
 
 NS_ASSUME_NONNULL_BEGIN
 
-@protocol AVFunctionBarPlaybackControlsControlling <NSObject>
+@protocol AVTouchBarPlaybackControlsControlling <NSObject>
 @property (readonly) NSTimeInterval contentDuration;
 @property (readonly, nullable) AVValueTiming *timing;
 @property (readonly, getter=isSeeking) BOOL seeking;
@@ -170,16 +186,15 @@
 @property (readonly) BOOL hasEnabledVideo;
 @end
 
-@interface AVFunctionBarPlaybackControlsProvider : NSResponder
+@interface AVTouchBarPlaybackControlsProvider : NSResponder
 @property (strong, readonly, nullable) NSTouchBar *touchBar;
-@property (assign, nullable) id<AVFunctionBarPlaybackControlsControlling> playbackControlsController;
+@property (assign, nullable) id<AVTouchBarPlaybackControlsControlling> playbackControlsController;
 @end
 
-@interface AVFunctionBarScrubber : NSView
-@property (assign, nullable) id<AVFunctionBarPlaybackControlsControlling> playbackControlsController;
+@interface AVTouchBarScrubber : NSView
+@property (assign, nullable) id<AVTouchBarPlaybackControlsControlling> playbackControlsController;
 @end
 
-@class AVFunctionBarMediaSelectionOption;
 @class AVThumbnail;
 
 NS_ASSUME_NONNULL_END

Modified: trunk/Source/WebKit/mac/ChangeLog (215273 => 215274)


--- trunk/Source/WebKit/mac/ChangeLog	2017-04-12 18:10:43 UTC (rev 215273)
+++ trunk/Source/WebKit/mac/ChangeLog	2017-04-12 18:38:09 UTC (rev 215274)
@@ -1,3 +1,29 @@
+2017-04-12  Beth Dakin  <[email protected]>
+
+        Adopt AVKit name change from AVFunctionBar* to AVTouchBar*
+        https://bugs.webkit.org/show_bug.cgi?id=170693
+        -and corresponding-
+        rdar://problem/31230018
+
+        Reviewed by Sam Weinig.
+
+        Since the new names only apply to some versions of macOS, this patch uses typedefs 
+        for the older OS’s. SO:
+
+        AVFunctionBarScrubber is now AVTouchBarScrubber
+
+        AVFunctionBarPlaybackControlsProvider is now AVTouchBarPlaybackControlsProvider
+
+        AVFunctionBarMediaSelectionOption is now AVTouchBarMediaSelectionOption
+
+        And the protocol AVFunctionBarPlaybackControlsControlling is now 
+        AVTouchBarPlaybackControlsControlling
+
+        Soft links and allocations cannot use the typedefs.
+        * WebView/WebView.mm:
+        (-[WebView updateMediaTouchBar]):
+        * WebView/WebViewData.h:
+
 2017-04-11  Dean Jackson  <[email protected]>
 
         Disable outdated WritableStream API

Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (215273 => 215274)


--- trunk/Source/WebKit/mac/WebView/WebView.mm	2017-04-12 18:10:43 UTC (rev 215273)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm	2017-04-12 18:38:09 UTC (rev 215274)
@@ -336,8 +336,13 @@
 
 #if HAVE(TOUCH_BAR) && ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
 SOFT_LINK_FRAMEWORK(AVKit)
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+SOFT_LINK_CLASS(AVKit, AVTouchBarPlaybackControlsProvider)
+SOFT_LINK_CLASS(AVKit, AVTouchBarScrubber)
+#else
 SOFT_LINK_CLASS(AVKit, AVFunctionBarPlaybackControlsProvider)
 SOFT_LINK_CLASS(AVKit, AVFunctionBarScrubber)
+#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 #endif // HAVE(TOUCH_BAR) && ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
 
 #if PLATFORM(MAC)
@@ -9794,14 +9799,19 @@
 - (void)updateMediaTouchBar
 {
 #if ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER) && ENABLE(VIDEO_PRESENTATION_MODE)
-    if (!_private->mediaTouchBarProvider)
+    if (!_private->mediaTouchBarProvider) {
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+        _private->mediaTouchBarProvider = adoptNS([allocAVTouchBarPlaybackControlsProviderInstance() init]);
+#else
         _private->mediaTouchBarProvider = adoptNS([allocAVFunctionBarPlaybackControlsProviderInstance() init]);
+#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+    }
 
     if (![_private->mediaTouchBarProvider playbackControlsController]) {
         ASSERT(_private->playbackSessionInterface);
         WebPlaybackControlsManager *manager = _private->playbackSessionInterface->playBackControlsManager();
-        [_private->mediaTouchBarProvider setPlaybackControlsController:(id <AVFunctionBarPlaybackControlsControlling>)manager];
-        [_private->mediaPlaybackControlsView setPlaybackControlsController:(id <AVFunctionBarPlaybackControlsControlling>)manager];
+        [_private->mediaTouchBarProvider setPlaybackControlsController:(id <AVTouchBarPlaybackControlsControlling>)manager];
+        [_private->mediaPlaybackControlsView setPlaybackControlsController:(id <AVTouchBarPlaybackControlsControlling>)manager];
     }
 #endif
 }

Modified: trunk/Source/WebKit/mac/WebView/WebViewData.h (215273 => 215274)


--- trunk/Source/WebKit/mac/WebView/WebViewData.h	2017-04-12 18:10:43 UTC (rev 215273)
+++ trunk/Source/WebKit/mac/WebView/WebViewData.h	2017-04-12 18:38:09 UTC (rev 215274)
@@ -29,6 +29,7 @@
 
 #import "WebTypesInternal.h"
 #import "WebDelegateImplementationCaching.h"
+#import <WebCore/AVKitSPI.h>
 #import <WebCore/AlternativeTextClient.h>
 #import <WebCore/LayerFlushScheduler.h>
 #import <WebCore/LayerFlushSchedulerClient.h>
@@ -106,8 +107,6 @@
 
 #if HAVE(TOUCH_BAR)
 @class WebTextTouchBarItemController;
-@class AVFunctionBarPlaybackControlsProvider;
-@class AVFunctionBarScrubber;
 #endif
 
 class WebViewLayerFlushScheduler : public WebCore::LayerFlushScheduler {
@@ -192,8 +191,8 @@
     RetainPtr<NSCandidateListTouchBarItem> _richTextCandidateListTouchBarItem;
     RetainPtr<NSCandidateListTouchBarItem> _plainTextCandidateListTouchBarItem;
     RetainPtr<NSCandidateListTouchBarItem> _passwordTextCandidateListTouchBarItem;
-    RetainPtr<AVFunctionBarPlaybackControlsProvider> mediaTouchBarProvider;
-    RetainPtr<AVFunctionBarScrubber> mediaPlaybackControlsView;
+    RetainPtr<AVTouchBarPlaybackControlsProvider> mediaTouchBarProvider;
+    RetainPtr<AVTouchBarScrubber> mediaPlaybackControlsView;
 
     BOOL _canCreateTouchBars;
     BOOL _isUpdatingTextTouchBar;

Modified: trunk/Source/WebKit2/ChangeLog (215273 => 215274)


--- trunk/Source/WebKit2/ChangeLog	2017-04-12 18:10:43 UTC (rev 215273)
+++ trunk/Source/WebKit2/ChangeLog	2017-04-12 18:38:09 UTC (rev 215274)
@@ -1,3 +1,40 @@
+2017-04-12  Beth Dakin  <[email protected]>
+
+        Adopt AVKit name change from AVFunctionBar* to AVTouchBar*
+        https://bugs.webkit.org/show_bug.cgi?id=170693
+        -and corresponding-
+        rdar://problem/31230018
+
+        Reviewed by Sam Weinig.
+
+        Since the new names only apply to some versions of macOS, this patch uses typedefs 
+        for the older OS’s. SO:
+
+        AVFunctionBarScrubber is now AVTouchBarScrubber
+
+        AVFunctionBarPlaybackControlsProvider is now AVTouchBarPlaybackControlsProvider
+
+        AVFunctionBarMediaSelectionOption is now AVTouchBarMediaSelectionOption
+
+        And the protocol AVFunctionBarPlaybackControlsControlling is now 
+        AVTouchBarPlaybackControlsControlling
+
+        Use the new name.
+        * UIProcess/API/Cocoa/WKViewPrivate.h:
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _mediaPlaybackControlsView]):
+        (-[WKWebView _addMediaPlaybackControlsView:]):
+        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+        * UIProcess/API/mac/WKView.mm:
+        (-[WKView _mediaPlaybackControlsView]):
+        (-[WKView _addMediaPlaybackControlsView:]):
+        * UIProcess/Cocoa/WebViewImpl.h:
+
+        Soft links and allocations cannot use the typedefs.
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::mediaPlaybackControlsView):
+        (WebKit::WebViewImpl::updateMediaTouchBar):
+
 2017-04-12  Eric Carlson  <[email protected]>
 
         [MediaStream] Audio source in UI process not identified as capture source

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h (215273 => 215274)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h	2017-04-12 18:10:43 UTC (rev 215273)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h	2017-04-12 18:38:09 UTC (rev 215274)
@@ -31,7 +31,7 @@
 #import <WebKit/WKView.h>
 #import <WebKit/_WKOverlayScrollbarStyle.h>
 
-@class AVFunctionBarScrubber;
+@class AVTouchBarScrubber;
 
 @interface WKView (Private)
 
@@ -135,8 +135,8 @@
 - (void)_gestureEventWasNotHandledByWebCore:(NSEvent *)event;
 
 @property (nonatomic, readwrite, setter=_setWantsMediaPlaybackControlsView:) BOOL _wantsMediaPlaybackControlsView;
-@property (nonatomic, readonly) AVFunctionBarScrubber *_mediaPlaybackControlsView;
-- (void)_addMediaPlaybackControlsView:(AVFunctionBarScrubber *)mediaPlaybackControlsView;
+@property (nonatomic, readonly) AVTouchBarScrubber *_mediaPlaybackControlsView;
+- (void)_addMediaPlaybackControlsView:(AVTouchBarScrubber *)mediaPlaybackControlsView;
 - (void)_removeMediaPlaybackControlsView;
 
 @end

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (215273 => 215274)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2017-04-12 18:10:43 UTC (rev 215273)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2017-04-12 18:38:09 UTC (rev 215274)
@@ -5005,7 +5005,7 @@
 #endif
 }
 
-- (AVFunctionBarScrubber *)_mediaPlaybackControlsView
+- (AVTouchBarScrubber *)_mediaPlaybackControlsView
 {
 #if HAVE(TOUCH_BAR)
     return _impl->clientWantsMediaPlaybackControlsView() ? _impl->mediaPlaybackControlsView() : nil;
@@ -5015,7 +5015,7 @@
 }
 
 // This method is for subclasses to override.
-- (void)_addMediaPlaybackControlsView:(AVFunctionBarScrubber *)mediaPlaybackControlsView
+- (void)_addMediaPlaybackControlsView:(AVTouchBarScrubber *)mediaPlaybackControlsView
 {
 }
 

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h (215273 => 215274)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h	2017-04-12 18:10:43 UTC (rev 215273)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h	2017-04-12 18:38:09 UTC (rev 215274)
@@ -60,7 +60,7 @@
 
 #endif
 
-@class AVFunctionBarScrubber;
+@class AVTouchBarScrubber;
 @class WKBrowsingContextHandle;
 @class _WKFrameHandle;
 @class _WKHitTestResult;
@@ -223,8 +223,8 @@
 
 // FIXME: This SPI should become a part of the WKUIDelegate. rdar://problem/26561537
 @property (nonatomic, readwrite, setter=_setWantsMediaPlaybackControlsView:) BOOL _wantsMediaPlaybackControlsView WK_API_AVAILABLE(macosx(WK_MAC_TBA));
-@property (nonatomic, readonly) AVFunctionBarScrubber *_mediaPlaybackControlsView WK_API_AVAILABLE(macosx(WK_MAC_TBA));
-- (void)_addMediaPlaybackControlsView:(AVFunctionBarScrubber *)mediaPlaybackControlsView WK_API_AVAILABLE(macosx(WK_MAC_TBA));
+@property (nonatomic, readonly) AVTouchBarScrubber *_mediaPlaybackControlsView WK_API_AVAILABLE(macosx(WK_MAC_TBA));
+- (void)_addMediaPlaybackControlsView:(AVTouchBarScrubber *)mediaPlaybackControlsView WK_API_AVAILABLE(macosx(WK_MAC_TBA));
 - (void)_removeMediaPlaybackControlsView WK_API_AVAILABLE(macosx(WK_MAC_TBA));
 
 - (void)_prepareForMoveToWindow:(NSWindow *)targetWindow completionHandler:(void(^)(void))completionHandler;

Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm (215273 => 215274)


--- trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm	2017-04-12 18:10:43 UTC (rev 215273)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm	2017-04-12 18:38:09 UTC (rev 215274)
@@ -42,6 +42,7 @@
 #import "WebProcessPool.h"
 #import "WebViewImpl.h"
 #import "_WKLinkIconParametersInternal.h"
+#import <WebCore/AVKitSPI.h>
 #import <wtf/BlockPtr.h>
 
 using namespace WebKit;
@@ -1572,7 +1573,7 @@
 #endif
 }
 
-- (AVFunctionBarScrubber *)_mediaPlaybackControlsView
+- (AVTouchBarScrubber *)_mediaPlaybackControlsView
 {
 #if HAVE(TOUCH_BAR)
     return _data->_impl->clientWantsMediaPlaybackControlsView() ? _data->_impl->mediaPlaybackControlsView() : nil;
@@ -1582,7 +1583,7 @@
 }
 
 // This method is for subclasses to override.
-- (void)_addMediaPlaybackControlsView:(AVFunctionBarScrubber *)mediaPlaybackControlsView
+- (void)_addMediaPlaybackControlsView:(AVTouchBarScrubber *)mediaPlaybackControlsView
 {
 }
 

Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h (215273 => 215274)


--- trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h	2017-04-12 18:10:43 UTC (rev 215273)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h	2017-04-12 18:38:09 UTC (rev 215274)
@@ -33,6 +33,7 @@
 #include "WKLayoutMode.h"
 #include "WebPageProxy.h"
 #include "_WKOverlayScrollbarStyle.h"
+#include <WebCore/AVKitSPI.h>
 #include <WebCore/TextIndicatorWindow.h>
 #include <WebCore/UserInterfaceLayoutDirection.h>
 #include <functional>
@@ -55,8 +56,6 @@
 OBJC_CLASS _WKThumbnailView;
 
 #if HAVE(TOUCH_BAR)
-OBJC_CLASS AVFunctionBarPlaybackControlsProvider;
-OBJC_CLASS AVFunctionBarScrubber;
 OBJC_CLASS NSCandidateListTouchBarItem;
 OBJC_CLASS NSCustomTouchBarItem;
 OBJC_CLASS NSTouchBar;
@@ -516,7 +515,7 @@
     void updateTouchBar();
     NSTouchBar *currentTouchBar() const { return m_currentTouchBar.get(); }
     NSCandidateListTouchBarItem *candidateListTouchBarItem() const;
-    AVFunctionBarScrubber *mediaPlaybackControlsView() const;
+    AVTouchBarScrubber *mediaPlaybackControlsView() const;
     NSTouchBar *textTouchBar() const;
     void dismissTextTouchBarPopoverItemWithIdentifier(NSString *);
 
@@ -554,8 +553,8 @@
     RetainPtr<NSCustomTouchBarItem> m_exitFullScreenButton;
 
 #if ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
-    RetainPtr<AVFunctionBarPlaybackControlsProvider> m_mediaTouchBarProvider;
-    RetainPtr<AVFunctionBarScrubber> m_mediaPlaybackControlsView;
+    RetainPtr<AVTouchBarPlaybackControlsProvider> m_mediaTouchBarProvider;
+    RetainPtr<AVTouchBarScrubber> m_mediaPlaybackControlsView;
 #endif // ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
 #endif // HAVE(TOUCH_BAR)
 

Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm (215273 => 215274)


--- trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm	2017-04-12 18:10:43 UTC (rev 215273)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm	2017-04-12 18:38:09 UTC (rev 215274)
@@ -67,7 +67,6 @@
 #import "_WKRemoteObjectRegistryInternal.h"
 #import "_WKThumbnailViewInternal.h"
 #import <HIToolbox/CarbonEventsCore.h>
-#import <WebCore/AVKitSPI.h>
 #import <WebCore/AXObjectCache.h>
 #import <WebCore/ActivityState.h>
 #import <WebCore/ColorMac.h>
@@ -102,8 +101,13 @@
 
 #if HAVE(TOUCH_BAR) && ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
 SOFT_LINK_FRAMEWORK(AVKit)
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+SOFT_LINK_CLASS(AVKit, AVTouchBarPlaybackControlsProvider)
+SOFT_LINK_CLASS(AVKit, AVTouchBarScrubber)
+#else
 SOFT_LINK_CLASS(AVKit, AVFunctionBarPlaybackControlsProvider)
 SOFT_LINK_CLASS(AVKit, AVFunctionBarScrubber)
+#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
 
 static NSString * const WKMediaExitFullScreenItem = @"WKMediaExitFullScreenItem";
 #endif // HAVE(TOUCH_BAR) && ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
@@ -902,7 +906,7 @@
     return isRichlyEditable() ? m_richTextCandidateListTouchBarItem.get() : m_plainTextCandidateListTouchBarItem.get();
 }
 
-AVFunctionBarScrubber *WebViewImpl::mediaPlaybackControlsView() const
+AVTouchBarScrubber *WebViewImpl::mediaPlaybackControlsView() const
 {
 #if ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
     if (m_page->hasActiveVideoForControlsManager())
@@ -1125,11 +1129,21 @@
 void WebViewImpl::updateMediaTouchBar()
 {
 #if ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER) && ENABLE(VIDEO_PRESENTATION_MODE)
-    if (!m_mediaTouchBarProvider)
+    if (!m_mediaTouchBarProvider) {
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+        m_mediaTouchBarProvider = adoptNS([allocAVTouchBarPlaybackControlsProviderInstance() init]);
+#else
         m_mediaTouchBarProvider = adoptNS([allocAVFunctionBarPlaybackControlsProviderInstance() init]);
+#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+    }
 
-    if (!m_mediaPlaybackControlsView)
+    if (!m_mediaPlaybackControlsView) {
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+        m_mediaPlaybackControlsView = adoptNS([allocAVTouchBarScrubberInstance() init]);
+#else
         m_mediaPlaybackControlsView = adoptNS([allocAVFunctionBarScrubberInstance() init]);
+#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300
+    }
 
     if (!m_playbackControlsManager)
         m_playbackControlsManager = adoptNS([[WebPlaybackControlsManager alloc] init]);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to