WebKit Bugzilla
Attachment 343623 Details for
Bug 187054
: [Mac] AirPlay picker uses incorrect theme in Dark mode
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-187054-20180626110643.patch (text/plain), 13.43 KB, created by
Eric Carlson
on 2018-06-26 11:06:44 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Eric Carlson
Created:
2018-06-26 11:06:44 PDT
Size:
13.43 KB
patch
obsolete
>Subversion Revision: 233147 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 2243d681c2a44c1c2ac0bd0b5d8f699183a582cc..fb33ac398a54ea894b6159fa91d1f51a6a1074da 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,28 @@ >+2018-06-26 Eric Carlson <eric.carlson@apple.com> >+ >+ [Mac] AirPlay picker uses incorrect theme in Dark mode >+ https://bugs.webkit.org/show_bug.cgi?id=187054 >+ <rdar://problem/41291093> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * Modules/mediasession/WebMediaSessionManager.cpp: >+ (WebCore::WebMediaSessionManager::showPlaybackTargetPicker): Add useDefaultAppearance parameter. >+ * Modules/mediasession/WebMediaSessionManager.h: >+ >+ * platform/graphics/MediaPlaybackTargetPicker.cpp: >+ (WebCore::MediaPlaybackTargetPicker::showPlaybackTargetPicker): Ditto. >+ * platform/graphics/MediaPlaybackTargetPicker.h: >+ >+ * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h: >+ * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm: >+ (WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker): Choose theme based on >+ useDefaultAppearance parameter. >+ >+ * platform/mock/MediaPlaybackTargetPickerMock.cpp: >+ (WebCore::MediaPlaybackTargetPickerMock::showPlaybackTargetPicker): Log parameter. >+ * platform/mock/MediaPlaybackTargetPickerMock.h: >+ > 2018-06-25 Zalan Bujtas <zalan@apple.com> > > [LFC] Adjust static position with containing block's content box top/left >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 542a83de155e76a30f1d8e3b9140de335fdcd7bf..9b66a92684986ad73572fa0c33b51268eeca50fd 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,14 @@ >+2018-06-26 Eric Carlson <eric.carlson@apple.com> >+ >+ [Mac] AirPlay picker uses incorrect theme in Dark mode >+ https://bugs.webkit.org/show_bug.cgi?id=187054 >+ <rdar://problem/41291093> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * UIProcess/WebPageProxy.cpp: >+ (WebKit::WebPageProxy::showPlaybackTargetPicker): Pass m_defaultAppearance. >+ > 2018-06-24 Michael Catanzaro <mcatanzaro@igalia.com> > > Unreviewed, fix GTK debug build after r233131 >diff --git a/Source/WebKitLegacy/mac/ChangeLog b/Source/WebKitLegacy/mac/ChangeLog >index 52a668fe8f1a8decefb9790f440171350f6a2ca2..41a2fe8087c2c930f798bcacd72a92deb2a62af3 100644 >--- a/Source/WebKitLegacy/mac/ChangeLog >+++ b/Source/WebKitLegacy/mac/ChangeLog >@@ -1,3 +1,14 @@ >+2018-06-26 Eric Carlson <eric.carlson@apple.com> >+ >+ [Mac] AirPlay picker uses incorrect theme in Dark mode >+ https://bugs.webkit.org/show_bug.cgi?id=187054 >+ <rdar://problem/41291093> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * WebView/WebMediaPlaybackTargetPicker.mm: >+ (WebMediaPlaybackTargetPicker::showPlaybackTargetPicker): Pass page->defaultAppearance(). >+ > 2018-06-23 Yusuke Suzuki <utatane.tea@gmail.com> > > [WTF] Add user-defined literal for ASCIILiteral >diff --git a/Source/WebCore/Modules/mediasession/WebMediaSessionManager.cpp b/Source/WebCore/Modules/mediasession/WebMediaSessionManager.cpp >index 4209ffaed8696186fb199c489c1ef9c6ba1b0121..8e3a8d0eb97f27a7d1c14afddde537c717f1fe9d 100644 >--- a/Source/WebCore/Modules/mediasession/WebMediaSessionManager.cpp >+++ b/Source/WebCore/Modules/mediasession/WebMediaSessionManager.cpp >@@ -178,7 +178,7 @@ void WebMediaSessionManager::removeAllPlaybackTargetPickerClients(WebMediaSessio > scheduleDelayedTask(TargetMonitoringConfigurationTask | TargetClientsConfigurationTask); > } > >-void WebMediaSessionManager::showPlaybackTargetPicker(WebMediaSessionManagerClient& client, uint64_t contextId, const IntRect& rect, bool) >+void WebMediaSessionManager::showPlaybackTargetPicker(WebMediaSessionManagerClient& client, uint64_t contextId, const IntRect& rect, bool, bool useDefaultAppearance) > { > size_t index = find(&client, contextId); > ASSERT(index != notFound); >@@ -193,7 +193,7 @@ void WebMediaSessionManager::showPlaybackTargetPicker(WebMediaSessionManagerClie > > bool hasActiveRoute = flagsAreSet(m_clientState[index]->flags, MediaProducer::IsPlayingToExternalDevice); > LOG(Media, "WebMediaSessionManager::showPlaybackTargetPicker(%p + %llu) - hasActiveRoute = %i", &client, contextId, (int)hasActiveRoute); >- targetPicker().showPlaybackTargetPicker(FloatRect(rect), hasActiveRoute); >+ targetPicker().showPlaybackTargetPicker(FloatRect(rect), hasActiveRoute, useDefaultAppearance); > } > > void WebMediaSessionManager::clientStateDidChange(WebMediaSessionManagerClient& client, uint64_t contextId, MediaProducer::MediaStateFlags newFlags) >diff --git a/Source/WebCore/Modules/mediasession/WebMediaSessionManager.h b/Source/WebCore/Modules/mediasession/WebMediaSessionManager.h >index 84eff68d438a1bcc92f7583d56ad028ae9d31eb1..b58fc9fd68adcb5415760427e8dec3ac644956c8 100644 >--- a/Source/WebCore/Modules/mediasession/WebMediaSessionManager.h >+++ b/Source/WebCore/Modules/mediasession/WebMediaSessionManager.h >@@ -53,7 +53,7 @@ public: > WEBCORE_EXPORT uint64_t addPlaybackTargetPickerClient(WebMediaSessionManagerClient&, uint64_t); > WEBCORE_EXPORT void removePlaybackTargetPickerClient(WebMediaSessionManagerClient&, uint64_t); > WEBCORE_EXPORT void removeAllPlaybackTargetPickerClients(WebMediaSessionManagerClient&); >- WEBCORE_EXPORT void showPlaybackTargetPicker(WebMediaSessionManagerClient&, uint64_t, const IntRect&, bool); >+ WEBCORE_EXPORT void showPlaybackTargetPicker(WebMediaSessionManagerClient&, uint64_t, const IntRect&, bool, bool); > WEBCORE_EXPORT void clientStateDidChange(WebMediaSessionManagerClient&, uint64_t, WebCore::MediaProducer::MediaStateFlags); > > protected: >diff --git a/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.cpp b/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.cpp >index f5013f4a0f493af1ab952718c934084c755d26ab..3246c4fb23e277eae9b8c2a61858f26cd40f1448 100644 >--- a/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.cpp >+++ b/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.cpp >@@ -70,7 +70,7 @@ void MediaPlaybackTargetPicker::addPendingAction(PendingActionFlags action) > m_pendingActionTimer.startOneShot(pendingActionInterval); > } > >-void MediaPlaybackTargetPicker::showPlaybackTargetPicker(const FloatRect&, bool) >+void MediaPlaybackTargetPicker::showPlaybackTargetPicker(const FloatRect&, bool, bool) > { > ASSERT_NOT_REACHED(); > } >diff --git a/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.h b/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.h >index 542013d059ae8851de6ce899e72e418da543ac41..a8a4d7f8e7573a3fea205848b78147d6175da482 100644 >--- a/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.h >+++ b/Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.h >@@ -51,7 +51,7 @@ public: > > virtual ~MediaPlaybackTargetPicker(); > >- virtual void showPlaybackTargetPicker(const FloatRect&, bool checkActiveRoute); >+ virtual void showPlaybackTargetPicker(const FloatRect&, bool checkActiveRoute, bool useDefaultAppearance); > virtual void startingMonitoringPlaybackTargets(); > virtual void stopMonitoringPlaybackTargets(); > virtual void invalidatePlaybackTargets(); >diff --git a/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h b/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h >index 9a13869677951c0ce01298b7512cfa57e5ae11ed..f66629bcc2469a6fc876e5898f000046752782f6 100644 >--- a/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h >+++ b/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h >@@ -43,7 +43,7 @@ public: > > virtual ~MediaPlaybackTargetPickerMac(); > >- void showPlaybackTargetPicker(const FloatRect&, bool checkActiveRoute) override; >+ void showPlaybackTargetPicker(const FloatRect&, bool checkActiveRoute, bool useDefaultAppearance) override; > void startingMonitoringPlaybackTargets() override; > void stopMonitoringPlaybackTargets() override; > void invalidatePlaybackTargets() override; >diff --git a/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm b/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm >index a8037ec5fdbee3c480071373cbe1b3e5b6e17e99..1644994066cf3c33b91a68009caf222ea451d153 100644 >--- a/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm >+++ b/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm >@@ -110,7 +110,7 @@ AVOutputDeviceMenuControllerWKType *MediaPlaybackTargetPickerMac::devicePicker() > return m_outputDeviceMenuController.get(); > } > >-void MediaPlaybackTargetPickerMac::showPlaybackTargetPicker(const FloatRect& location, bool checkActiveRoute) >+void MediaPlaybackTargetPickerMac::showPlaybackTargetPicker(const FloatRect& location, bool checkActiveRoute, bool useDefaultAppearance) > { > if (!client() || m_showingMenu) > return; >@@ -119,7 +119,7 @@ void MediaPlaybackTargetPickerMac::showPlaybackTargetPicker(const FloatRect& loc > > m_showingMenu = true; > >- if ([devicePicker() showMenuForRect:location appearanceName:NSAppearanceNameVibrantLight allowReselectionOfSelectedOutputDevice:!checkActiveRoute]) { >+ if ([devicePicker() showMenuForRect:location appearanceName:useDefaultAppearance ? NSAppearanceNameVibrantLight : NSAppearanceNameVibrantDark allowReselectionOfSelectedOutputDevice:!checkActiveRoute]) { > if (!checkActiveRoute) > currentDeviceDidChange(); > } >diff --git a/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp b/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp >index 5aaa84dc9a0acc2906fb093e1bf824b6e7980c33..93f4676477911eb10b4fb549840b9c94aa6fa2bc 100644 >--- a/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp >+++ b/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.cpp >@@ -70,15 +70,16 @@ void MediaPlaybackTargetPickerMock::timerFired() > currentDeviceDidChange(); > } > >-void MediaPlaybackTargetPickerMock::showPlaybackTargetPicker(const FloatRect&, bool checkActiveRoute) >+void MediaPlaybackTargetPickerMock::showPlaybackTargetPicker(const FloatRect&, bool checkActiveRoute, bool useDefaultAppearance) > { > if (!client() || m_showingMenu) > return; > > #if LOG_DISABLED > UNUSED_PARAM(checkActiveRoute); >+ UNUSED_PARAM(useDefaultAppearance); > #endif >- LOG(Media, "MediaPlaybackTargetPickerMock::showPlaybackTargetPicker - checkActiveRoute = %i", (int)checkActiveRoute); >+ LOG(Media, "MediaPlaybackTargetPickerMock::showPlaybackTargetPicker - checkActiveRoute = %i, useDefaultAppearance = %i", (int)checkActiveRoute, (int)useDefaultAppearance); > > m_showingMenu = true; > m_timer.startOneShot(timerInterval); >diff --git a/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.h b/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.h >index 35cc954b0654e07ad6788ffb2dc5093b79f0fde1..13cff1c1ba447e7d4befb29100d36e538343a153 100644 >--- a/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.h >+++ b/Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.h >@@ -41,7 +41,7 @@ public: > > virtual ~MediaPlaybackTargetPickerMock(); > >- void showPlaybackTargetPicker(const FloatRect&, bool checkActiveRoute) override; >+ void showPlaybackTargetPicker(const FloatRect&, bool checkActiveRoute, bool useDefaultAppearance) override; > void startingMonitoringPlaybackTargets() override; > void stopMonitoringPlaybackTargets() override; > void invalidatePlaybackTargets() override; >diff --git a/Source/WebKit/UIProcess/WebPageProxy.cpp b/Source/WebKit/UIProcess/WebPageProxy.cpp >index 27d75c0f175ec98e2a14fdb91e9a122f34081d42..3558ac279abbaccb2750a26442ae4c1c3d21bb1e 100644 >--- a/Source/WebKit/UIProcess/WebPageProxy.cpp >+++ b/Source/WebKit/UIProcess/WebPageProxy.cpp >@@ -7356,7 +7356,7 @@ void WebPageProxy::removePlaybackTargetPickerClient(uint64_t contextId) > > void WebPageProxy::showPlaybackTargetPicker(uint64_t contextId, const WebCore::FloatRect& rect, bool hasVideo) > { >- m_pageClient.mediaSessionManager().showPlaybackTargetPicker(*this, contextId, m_pageClient.rootViewToScreen(IntRect(rect)), hasVideo); >+ m_pageClient.mediaSessionManager().showPlaybackTargetPicker(*this, contextId, m_pageClient.rootViewToScreen(IntRect(rect)), hasVideo, m_defaultAppearance); > } > > void WebPageProxy::playbackTargetPickerClientStateDidChange(uint64_t contextId, WebCore::MediaProducer::MediaStateFlags state) >diff --git a/Source/WebKitLegacy/mac/WebView/WebMediaPlaybackTargetPicker.mm b/Source/WebKitLegacy/mac/WebView/WebMediaPlaybackTargetPicker.mm >index 6d8cbf575ffa70ba6fe8f2f70068538f9f9e2b0f..99a36ee50cc73c4263f69507f32d057bc985ab0a 100644 >--- a/Source/WebKitLegacy/mac/WebView/WebMediaPlaybackTargetPicker.mm >+++ b/Source/WebKitLegacy/mac/WebView/WebMediaPlaybackTargetPicker.mm >@@ -53,7 +53,7 @@ void WebMediaPlaybackTargetPicker::removePlaybackTargetPickerClient(uint64_t con > > void WebMediaPlaybackTargetPicker::showPlaybackTargetPicker(uint64_t contextId, const WebCore::FloatRect& rect, bool hasVideo) > { >- WebCore::WebMediaSessionManager::shared().showPlaybackTargetPicker(*this, contextId, WebCore::IntRect(rect), hasVideo); >+ WebCore::WebMediaSessionManager::shared().showPlaybackTargetPicker(*this, contextId, WebCore::IntRect(rect), hasVideo, m_page ? m_page->defaultAppearance() : true); > } > > void WebMediaPlaybackTargetPicker::playbackTargetPickerClientStateDidChange(uint64_t contextId, WebCore::MediaProducer::MediaStateFlags state)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 187054
: 343623