Title: [272611] trunk/Source
Revision
272611
Author
[email protected]
Date
2021-02-09 14:05:39 -0800 (Tue, 09 Feb 2021)

Log Message

[macOS] Add internal preference to control how AVOutputContext is allocated
https://bugs.webkit.org/show_bug.cgi?id=221583
<rdar://73830632>

Reviewed by Jer Noble.

Source/WebCore:

No new tests, this can only be tested manually.

* Modules/airplay/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::showPlaybackTargetPicker):
* Modules/airplay/WebMediaSessionManagerClient.h:
(WebCore::WebMediaSessionManagerClient::alwaysOnLoggingAllowed const):
(WebCore::WebMediaSessionManagerClient::useiTunesAVOutputContext const):
(WebCore::WebMediaSessionManagerClient::alwaysOnLoggingAllowed): Deleted.
* platform/graphics/MediaPlaybackTargetPicker.cpp:
(WebCore::MediaPlaybackTargetPicker::showPlaybackTargetPicker):
* platform/graphics/MediaPlaybackTargetPicker.h:
* platform/graphics/avfoundation/objc/AVOutputDeviceMenuControllerTargetPicker.h:
* platform/graphics/avfoundation/objc/AVOutputDeviceMenuControllerTargetPicker.mm:
(WebCore::AVOutputDeviceMenuControllerTargetPicker::showPlaybackTargetPicker):
* platform/graphics/avfoundation/objc/AVPlaybackTargetPicker.h:
* platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.h:
* platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.mm:
(WebCore::AVRoutePickerViewTargetPicker::outputContextInternal):
(WebCore::AVRoutePickerViewTargetPicker::showPlaybackTargetPicker):
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker):
* platform/mock/MediaPlaybackTargetPickerMock.cpp:
(WebCore::MediaPlaybackTargetPickerMock::showPlaybackTargetPicker):
* platform/mock/MediaPlaybackTargetPickerMock.h:

Source/WebKit:

* UIProcess/WebPageProxy.h:
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::useiTunesAVOutputContext const):

Source/WTF:

* Scripts/Preferences/WebPreferencesInternal.yaml:

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (272610 => 272611)


--- trunk/Source/WTF/ChangeLog	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WTF/ChangeLog	2021-02-09 22:05:39 UTC (rev 272611)
@@ -1,3 +1,13 @@
+2021-02-09  Eric Carlson  <[email protected]>
+
+        [macOS] Add internal preference to control how AVOutputContext is allocated
+        https://bugs.webkit.org/show_bug.cgi?id=221583
+        <rdar://73830632>
+
+        Reviewed by Jer Noble.
+
+        * Scripts/Preferences/WebPreferencesInternal.yaml:
+
 2021-02-06  Alex Christensen  <[email protected]>
 
         Non-special URLs should have an opaque origin

Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml (272610 => 272611)


--- trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml	2021-02-09 22:05:39 UTC (rev 272611)
@@ -775,6 +775,17 @@
     WebKit:
       default: defaultUseGPUProcessForWebGLEnabled()
 
+# FIXME: Remove once <rdar://73830961> has been fixed
+UseiTunesAVOutputContext:
+  type: bool
+  humanReadableName: "Use iTunes AVOutputContext"
+  humanReadableDescription: "Use iTunes AVOutputContext"
+  webcoreBinding: none
+  condition: ENABLE(WIRELESS_PLAYBACK_TARGET)
+  defaultValue:
+    WebKit:
+      default: true
+
 WebAPIStatisticsEnabled:
   type: bool
   humanReadableName: "Web API Statistics"

Modified: trunk/Source/WebCore/ChangeLog (272610 => 272611)


--- trunk/Source/WebCore/ChangeLog	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebCore/ChangeLog	2021-02-09 22:05:39 UTC (rev 272611)
@@ -1,3 +1,37 @@
+2021-02-09  Eric Carlson  <[email protected]>
+
+        [macOS] Add internal preference to control how AVOutputContext is allocated
+        https://bugs.webkit.org/show_bug.cgi?id=221583
+        <rdar://73830632>
+
+        Reviewed by Jer Noble.
+
+        No new tests, this can only be tested manually.
+
+        * Modules/airplay/WebMediaSessionManager.cpp:
+        (WebCore::WebMediaSessionManager::showPlaybackTargetPicker):
+        * Modules/airplay/WebMediaSessionManagerClient.h:
+        (WebCore::WebMediaSessionManagerClient::alwaysOnLoggingAllowed const):
+        (WebCore::WebMediaSessionManagerClient::useiTunesAVOutputContext const):
+        (WebCore::WebMediaSessionManagerClient::alwaysOnLoggingAllowed): Deleted.
+        * platform/graphics/MediaPlaybackTargetPicker.cpp:
+        (WebCore::MediaPlaybackTargetPicker::showPlaybackTargetPicker):
+        * platform/graphics/MediaPlaybackTargetPicker.h:
+        * platform/graphics/avfoundation/objc/AVOutputDeviceMenuControllerTargetPicker.h:
+        * platform/graphics/avfoundation/objc/AVOutputDeviceMenuControllerTargetPicker.mm:
+        (WebCore::AVOutputDeviceMenuControllerTargetPicker::showPlaybackTargetPicker):
+        * platform/graphics/avfoundation/objc/AVPlaybackTargetPicker.h:
+        * platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.h:
+        * platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.mm:
+        (WebCore::AVRoutePickerViewTargetPicker::outputContextInternal):
+        (WebCore::AVRoutePickerViewTargetPicker::showPlaybackTargetPicker):
+        * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
+        * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
+        (WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker):
+        * platform/mock/MediaPlaybackTargetPickerMock.cpp:
+        (WebCore::MediaPlaybackTargetPickerMock::showPlaybackTargetPicker):
+        * platform/mock/MediaPlaybackTargetPickerMock.h:
+
 2021-02-09  Martin Robinson  <[email protected]>
 
         Implement scroll-snap-stop for scroll snapping

Modified: trunk/Source/WebCore/Modules/airplay/WebMediaSessionManager.cpp (272610 => 272611)


--- trunk/Source/WebCore/Modules/airplay/WebMediaSessionManager.cpp	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebCore/Modules/airplay/WebMediaSessionManager.cpp	2021-02-09 22:05:39 UTC (rev 272611)
@@ -256,7 +256,7 @@
     ALWAYS_LOG_MEDIASESSIONMANAGER(__func__, m_clientState[index].get());
 
     bool hasActiveRoute = flagsAreSet(m_clientState[index]->flags, MediaProducer::IsPlayingToExternalDevice);
-    targetPicker().showPlaybackTargetPicker(client.platformView(), FloatRect(rect), hasActiveRoute, useDarkAppearance);
+    targetPicker().showPlaybackTargetPicker(client.platformView(), FloatRect(rect), hasActiveRoute, useDarkAppearance, client.useiTunesAVOutputContext());
 }
 
 void WebMediaSessionManager::clientStateDidChange(WebMediaSessionManagerClient& client, PlaybackTargetClientContextIdentifier contextId, MediaProducer::MediaStateFlags newFlags)

Modified: trunk/Source/WebCore/Modules/airplay/WebMediaSessionManagerClient.h (272610 => 272611)


--- trunk/Source/WebCore/Modules/airplay/WebMediaSessionManagerClient.h	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebCore/Modules/airplay/WebMediaSessionManagerClient.h	2021-02-09 22:05:39 UTC (rev 272611)
@@ -43,7 +43,8 @@
     virtual void externalOutputDeviceAvailableDidChange(PlaybackTargetClientContextIdentifier, bool) = 0;
     virtual void setShouldPlayToPlaybackTarget(PlaybackTargetClientContextIdentifier, bool) = 0;
     virtual void playbackTargetPickerWasDismissed(PlaybackTargetClientContextIdentifier) = 0;
-    virtual bool alwaysOnLoggingAllowed() { return false; }
+    virtual bool alwaysOnLoggingAllowed() const { return false; }
+    virtual bool useiTunesAVOutputContext() const { return true; }
     virtual PlatformView* platformView() const = 0;
 };
 

Modified: trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.cpp (272610 => 272611)


--- trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.cpp	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.cpp	2021-02-09 22:05:39 UTC (rev 272611)
@@ -73,7 +73,7 @@
     m_pendingActionTimer.startOneShot(pendingActionInterval);
 }
 
-void MediaPlaybackTargetPicker::showPlaybackTargetPicker(PlatformView*, const FloatRect&, bool, bool)
+void MediaPlaybackTargetPicker::showPlaybackTargetPicker(PlatformView*, const FloatRect&, bool, bool, bool)
 {
     ASSERT_NOT_REACHED();
 }

Modified: trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.h (272610 => 272611)


--- trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.h	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.h	2021-02-09 22:05:39 UTC (rev 272611)
@@ -53,7 +53,7 @@
 
     virtual ~MediaPlaybackTargetPicker();
 
-    virtual void showPlaybackTargetPicker(PlatformView*, const FloatRect&, bool checkActiveRoute, bool useDarkAppearance);
+    virtual void showPlaybackTargetPicker(PlatformView*, const FloatRect&, bool checkActiveRoute, bool useDarkAppearance, bool useiTunesAVOutputContext);
     virtual void startingMonitoringPlaybackTargets();
     virtual void stopMonitoringPlaybackTargets();
     virtual void invalidatePlaybackTargets();

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVOutputDeviceMenuControllerTargetPicker.h (272610 => 272611)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVOutputDeviceMenuControllerTargetPicker.h	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVOutputDeviceMenuControllerTargetPicker.h	2021-02-09 22:05:39 UTC (rev 272611)
@@ -45,7 +45,7 @@
     void currentDeviceDidChange();
 
 private:
-    void showPlaybackTargetPicker(NSView *, const FloatRect&, bool checkActiveRoute, bool useDarkAppearance) final;
+    void showPlaybackTargetPicker(NSView *, const FloatRect&, bool checkActiveRoute, bool useDarkAppearance, bool) final;
     void startingMonitoringPlaybackTargets() final;
     void stopMonitoringPlaybackTargets() final;
     void invalidatePlaybackTargets() final;

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVOutputDeviceMenuControllerTargetPicker.mm (272610 => 272611)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVOutputDeviceMenuControllerTargetPicker.mm	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVOutputDeviceMenuControllerTargetPicker.mm	2021-02-09 22:05:39 UTC (rev 272611)
@@ -101,7 +101,7 @@
         client()->currentDeviceChanged();
 }
 
-void AVOutputDeviceMenuControllerTargetPicker::showPlaybackTargetPicker(NSView *, const FloatRect& location, bool hasActiveRoute, bool useDarkAppearance)
+void AVOutputDeviceMenuControllerTargetPicker::showPlaybackTargetPicker(NSView *, const FloatRect& location, bool hasActiveRoute, bool useDarkAppearance, bool)
 {
     if (!client() || m_showingMenu)
         return;

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVPlaybackTargetPicker.h (272610 => 272611)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVPlaybackTargetPicker.h	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVPlaybackTargetPicker.h	2021-02-09 22:05:39 UTC (rev 272611)
@@ -56,7 +56,7 @@
     }
     virtual ~AVPlaybackTargetPicker() = default;
 
-    virtual void showPlaybackTargetPicker(NSView *, const FloatRect&, bool checkActiveRoute, bool useDarkAppearance) = 0;
+    virtual void showPlaybackTargetPicker(NSView *, const FloatRect&, bool checkActiveRoute, bool useDarkAppearancebool, bool useiTunesAVOutputContext) = 0;
     virtual void startingMonitoringPlaybackTargets() = 0;
     virtual void stopMonitoringPlaybackTargets() = 0;
     virtual void invalidatePlaybackTargets() = 0;

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.h (272610 => 272611)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.h	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.h	2021-02-09 22:05:39 UTC (rev 272611)
@@ -49,7 +49,7 @@
     void devicePickerWasDismissed();
 
 private:
-    void showPlaybackTargetPicker(NSView *, const FloatRect&, bool checkActiveRoute, bool useDarkAppearance) final;
+    void showPlaybackTargetPicker(NSView *, const FloatRect&, bool checkActiveRoute, bool useDarkAppearance, bool useiTunesAVOutputContext) final;
     void startingMonitoringPlaybackTargets() final;
     void stopMonitoringPlaybackTargets() final;
     void invalidatePlaybackTargets() final;
@@ -58,7 +58,7 @@
 
     AVRoutePickerView *devicePicker();
     AVRouteDetector *routeDetector();
-    AVOutputContext * outputContextInternal();
+    AVOutputContext * outputContextInternal(bool);
     bool hasActiveRoute() const;
 
     RetainPtr<AVRouteDetector> m_routeDetector;

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.mm (272610 => 272611)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.mm	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.mm	2021-02-09 22:05:39 UTC (rev 272611)
@@ -82,10 +82,13 @@
     [m_routePickerViewDelegate clearCallback];
 }
 
-AVOutputContext * AVRoutePickerViewTargetPicker::outputContextInternal()
+AVOutputContext * AVRoutePickerViewTargetPicker::outputContextInternal(bool useiTunesAVOutputContext)
 {
     if (!m_outputContext) {
-        m_outputContext = [PAL::getAVOutputContextClass() iTunesAudioContext];
+        if (useiTunesAVOutputContext)
+            m_outputContext = [PAL::getAVOutputContextClass() iTunesAudioContext];
+        else
+            m_outputContext = [PAL::getAVOutputContextClass() outputContext];
         ASSERT(m_outputContext);
         if (m_outputContext)
             [[NSNotificationCenter defaultCenter] addObserver:m_routePickerViewDelegate.get() selector:@selector(notificationHandler:) name:PAL::get_AVFoundation_AVOutputContextOutputDevicesDidChangeNotification() object:m_outputContext.get()];
@@ -116,7 +119,7 @@
     return m_routeDetector.get();
 }
 
-void AVRoutePickerViewTargetPicker::showPlaybackTargetPicker(NSView *view, const FloatRect& rectInScreenCoordinates, bool hasActiveRoute, bool useDarkAppearance)
+void AVRoutePickerViewTargetPicker::showPlaybackTargetPicker(NSView *view, const FloatRect& rectInScreenCoordinates, bool hasActiveRoute, bool useDarkAppearance, bool useiTunesAVOutputContext)
 {
     if (!client())
         return;
@@ -129,7 +132,7 @@
 
     auto rectInWindowCoordinates = [view.window convertRectFromScreen:NSMakeRect(rectInScreenCoordinates.x(), rectInScreenCoordinates.y(), 1.0, 1.0)];
     auto rectInViewCoordinates = [view convertRect:rectInWindowCoordinates fromView:view];
-    [picker showRoutePickingControlsForOutputContext:outputContextInternal() relativeToRect:rectInViewCoordinates ofView:view];
+    [picker showRoutePickingControlsForOutputContext:outputContextInternal(useiTunesAVOutputContext) relativeToRect:rectInViewCoordinates ofView:view];
 }
 
 void AVRoutePickerViewTargetPicker::startingMonitoringPlaybackTargets()

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h (272610 => 272611)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h	2021-02-09 22:05:39 UTC (rev 272611)
@@ -41,7 +41,7 @@
     explicit MediaPlaybackTargetPickerMac(MediaPlaybackTargetPicker::Client&);
     virtual ~MediaPlaybackTargetPickerMac();
 
-    void showPlaybackTargetPicker(PlatformView*, const FloatRect&, bool checkActiveRoute, bool useDarkAppearance) final;
+    void showPlaybackTargetPicker(PlatformView*, const FloatRect&, bool checkActiveRoute, bool useDarkAppearance, bool useiTunesAVOutputContext) final;
     void startingMonitoringPlaybackTargets() final;
     void stopMonitoringPlaybackTargets() final;
     void invalidatePlaybackTargets() final;

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm (272610 => 272611)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm	2021-02-09 22:05:39 UTC (rev 272611)
@@ -86,9 +86,9 @@
     return *m_routePicker;
 }
 
-void MediaPlaybackTargetPickerMac::showPlaybackTargetPicker(PlatformView* view, const FloatRect& location, bool hasActiveRoute, bool useDarkAppearance)
+void MediaPlaybackTargetPickerMac::showPlaybackTargetPicker(PlatformView* view, const FloatRect& location, bool hasActiveRoute, bool useDarkAppearance, bool useiTunesAVOutputContext)
 {
-    routePicker().showPlaybackTargetPicker(view, location, hasActiveRoute, useDarkAppearance);
+    routePicker().showPlaybackTargetPicker(view, location, hasActiveRoute, useDarkAppearance, useiTunesAVOutputContext);
 }
 
 void MediaPlaybackTargetPickerMac::startingMonitoringPlaybackTargets()

Modified: trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp (272610 => 272611)


--- trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp	2021-02-09 22:05:39 UTC (rev 272611)
@@ -61,7 +61,7 @@
     return WebCore::MediaPlaybackTargetMock::create(m_deviceName, m_state);
 }
 
-void MediaPlaybackTargetPickerMock::showPlaybackTargetPicker(PlatformView*, const FloatRect&, bool checkActiveRoute, bool useDarkAppearance)
+void MediaPlaybackTargetPickerMock::showPlaybackTargetPicker(PlatformView*, const FloatRect&, bool checkActiveRoute, bool useDarkAppearance, bool)
 {
     if (!client() || m_showingMenu)
         return;

Modified: trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.h (272610 => 272611)


--- trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.h	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.h	2021-02-09 22:05:39 UTC (rev 272611)
@@ -43,7 +43,7 @@
 
     virtual ~MediaPlaybackTargetPickerMock();
 
-    void showPlaybackTargetPicker(PlatformView*, const FloatRect&, bool checkActiveRoute, bool useDarkAppearance) override;
+    void showPlaybackTargetPicker(PlatformView*, const FloatRect&, bool checkActiveRoute, bool useDarkAppearance, bool) override;
     void startingMonitoringPlaybackTargets() override;
     void stopMonitoringPlaybackTargets() override;
     void invalidatePlaybackTargets() override;

Modified: trunk/Source/WebKit/ChangeLog (272610 => 272611)


--- trunk/Source/WebKit/ChangeLog	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebKit/ChangeLog	2021-02-09 22:05:39 UTC (rev 272611)
@@ -1,3 +1,15 @@
+2021-02-09  Eric Carlson  <[email protected]>
+
+        [macOS] Add internal preference to control how AVOutputContext is allocated
+        https://bugs.webkit.org/show_bug.cgi?id=221583
+        <rdar://73830632>
+
+        Reviewed by Jer Noble.
+
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/mac/WebPageProxyMac.mm:
+        (WebKit::WebPageProxy::useiTunesAVOutputContext const):
+
 2021-02-09  Martin Robinson  <[email protected]>
 
         Implement scroll-snap-stop for scroll snapping

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (272610 => 272611)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.h	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h	2021-02-09 22:05:39 UTC (rev 272611)
@@ -1536,8 +1536,10 @@
     void externalOutputDeviceAvailableDidChange(WebCore::PlaybackTargetClientContextIdentifier, bool) final;
     void setShouldPlayToPlaybackTarget(WebCore::PlaybackTargetClientContextIdentifier, bool) final;
     void playbackTargetPickerWasDismissed(WebCore::PlaybackTargetClientContextIdentifier) final;
-    bool alwaysOnLoggingAllowed() final { return isAlwaysOnLoggingAllowed(); }
+    bool alwaysOnLoggingAllowed() const final { return isAlwaysOnLoggingAllowed(); }
+    bool useiTunesAVOutputContext() const final;
     PlatformView* platformView() const final;
+
 #endif
 
     void didChangeBackgroundColor();

Modified: trunk/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm (272610 => 272611)


--- trunk/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm	2021-02-09 21:52:39 UTC (rev 272610)
+++ trunk/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm	2021-02-09 22:05:39 UTC (rev 272611)
@@ -49,6 +49,7 @@
 #import "WKSharingServicePickerDelegate.h"
 #import "WebContextMenuProxyMac.h"
 #import "WebPageMessages.h"
+#import "WebPreferencesKeys.h"
 #import "WebProcessProxy.h"
 #import <WebCore/AttributedString.h>
 #import <WebCore/DictionaryLookup.h>
@@ -651,6 +652,11 @@
     return [pageClient().platformWindow() contentView];
 }
 
+bool WebPageProxy::useiTunesAVOutputContext() const
+{
+    return m_preferences->store().getBoolValueForKey(WebPreferencesKey::useiTunesAVOutputContextKey());
+}
+
 #if ENABLE(UI_PROCESS_PDF_HUD)
 
 void WebPageProxy::createPDFHUD(PDFPluginIdentifier identifier, const WebCore::IntRect& rect)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to