Changeset 181838 in webkit
- Timestamp:
- Mar 22, 2015, 6:08:42 PM (10 years ago)
- Location:
- trunk/Source
- Files:
-
- 2 added
- 20 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r181837 r181838 1 2015-03-22 Eric Carlson <eric.carlson@apple.com> 2 3 [Mac] Enable WIRELESS_PLAYBACK_TARGET for WK1 4 https://bugs.webkit.org/show_bug.cgi?id=142940 5 6 Reviewed by Sam Weinig. 7 8 * dom/Document.cpp: 9 (WebCore::Document::didChoosePlaybackTarget): const-ify the didChoosePlaybackTarget argument. 10 * dom/Document.h: 11 12 * html/HTMLMediaSession.cpp: 13 (WebCore::HTMLMediaSession::didChoosePlaybackTarget): Ditto. 14 * html/HTMLMediaSession.h: 15 16 * page/Page.cpp: 17 (WebCore::Page::didChoosePlaybackTarget): Ditto. 18 * page/Page.h: 19 20 * platform/audio/MediaSession.h: 21 * platform/graphics/MediaPlaybackTargetPickerClient.h: 22 * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm: 23 (WebCore::MediaPlaybackTargetPickerMac::devicePicker): Ditto. 24 1 25 2015-03-22 Anders Carlsson <andersca@apple.com> 2 26 -
trunk/Source/WebCore/dom/Document.cpp
r181753 r181838 6518 6518 } 6519 6519 6520 void Document::didChoosePlaybackTarget( MediaPlaybackTarget& device)6520 void Document::didChoosePlaybackTarget(const MediaPlaybackTarget& device) 6521 6521 { 6522 6522 MediaPlaybackTargetPickerClient* clientThatRequestedPicker = nullptr; -
trunk/Source/WebCore/dom/Document.h
r181615 r181838 1224 1224 #if ENABLE(WIRELESS_PLAYBACK_TARGET) 1225 1225 void showPlaybackTargetPicker(const HTMLMediaElement&); 1226 void didChoosePlaybackTarget( MediaPlaybackTarget&);1226 void didChoosePlaybackTarget(const MediaPlaybackTarget&); 1227 1227 void addPlaybackTargetPickerClient(MediaPlaybackTargetPickerClient&); 1228 1228 void removePlaybackTargetPickerClient(MediaPlaybackTargetPickerClient&); -
trunk/Source/WebCore/html/HTMLMediaSession.cpp
r181423 r181838 276 276 } 277 277 278 void HTMLMediaSession::didChoosePlaybackTarget( MediaPlaybackTarget& device)278 void HTMLMediaSession::didChoosePlaybackTarget(const MediaPlaybackTarget& device) 279 279 { 280 280 m_haveRequestedPlaybackTargetPicker = false; -
trunk/Source/WebCore/html/HTMLMediaSession.h
r181423 r181838 99 99 100 100 // MediaPlaybackTargetPickerClient 101 virtual void didChoosePlaybackTarget( MediaPlaybackTarget&) override;101 virtual void didChoosePlaybackTarget(const MediaPlaybackTarget&) override; 102 102 virtual void externalOutputDeviceAvailableDidChange(bool) const override; 103 103 virtual bool requiresPlaybackTargetRouteMonitoring() const override; -
trunk/Source/WebCore/page/Page.cpp
r181753 r181838 1695 1695 } 1696 1696 1697 void Page::didChoosePlaybackTarget( MediaPlaybackTarget& target)1697 void Page::didChoosePlaybackTarget(const MediaPlaybackTarget& target) 1698 1698 { 1699 1699 Document* documentThatRequestedPicker = nullptr; -
trunk/Source/WebCore/page/Page.h
r181753 r181838 431 431 void configurePlaybackTargetMonitoring(); 432 432 433 WEBCORE_EXPORT void didChoosePlaybackTarget( MediaPlaybackTarget&);433 WEBCORE_EXPORT void didChoosePlaybackTarget(const MediaPlaybackTarget&); 434 434 WEBCORE_EXPORT void playbackTargetAvailabilityDidChange(bool); 435 435 #endif -
trunk/Source/WebCore/platform/audio/MediaSession.h
r181423 r181838 120 120 #if ENABLE(WIRELESS_PLAYBACK_TARGET) 121 121 // MediaPlaybackTargetPickerClient 122 virtual void didChoosePlaybackTarget( MediaPlaybackTarget&) override { }122 virtual void didChoosePlaybackTarget(const MediaPlaybackTarget&) override { } 123 123 virtual void externalOutputDeviceAvailableDidChange(bool) const override { } 124 124 virtual bool requiresPlaybackTargetRouteMonitoring() const override { return false; } -
trunk/Source/WebCore/platform/graphics/MediaPlaybackTargetPickerClient.h
r181423 r181838 39 39 virtual ~MediaPlaybackTargetPickerClient() { } 40 40 41 virtual void didChoosePlaybackTarget( MediaPlaybackTarget&) = 0;41 virtual void didChoosePlaybackTarget(const MediaPlaybackTarget&) = 0; 42 42 virtual void externalOutputDeviceAvailableDidChange(bool) const = 0; 43 43 -
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm
r181777 r181838 119 119 [m_devicePickerMenuController addObserver:m_devicePickerMenuControllerDelegate.get() forKeyPath:externalOutputDevicePickedKeyName options:NSKeyValueObservingOptionNew context:nil]; 120 120 121 if ( devicePicker().externalOutputDeviceAvailable)121 if (m_devicePickerMenuController.get().externalOutputDeviceAvailable) 122 122 availableDevicesDidChange(); 123 123 } -
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
r180876 r181838 14 14 070F549B17F1E42B00169E04 /* WebUserMediaClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 070F549917F1E42B00169E04 /* WebUserMediaClient.h */; }; 15 15 070F549C17F1E42B00169E04 /* WebUserMediaClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 070F549A17F1E42B00169E04 /* WebUserMediaClient.mm */; }; 16 072E5F451ABF88750003B164 /* WebMediaPlaybackTargetPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 072E5F431ABF88750003B164 /* WebMediaPlaybackTargetPicker.h */; }; 17 072E5F461ABF88750003B164 /* WebMediaPlaybackTargetPicker.mm in Sources */ = {isa = PBXBuildFile; fileRef = 072E5F441ABF88750003B164 /* WebMediaPlaybackTargetPicker.mm */; }; 16 18 0AB752370FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AB752350FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.h */; }; 17 19 0AB752380FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0AB752360FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.mm */; }; … … 477 479 070F549917F1E42B00169E04 /* WebUserMediaClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebUserMediaClient.h; sourceTree = "<group>"; }; 478 480 070F549A17F1E42B00169E04 /* WebUserMediaClient.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebUserMediaClient.mm; sourceTree = "<group>"; }; 481 072E5F431ABF88750003B164 /* WebMediaPlaybackTargetPicker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebMediaPlaybackTargetPicker.h; sourceTree = "<group>"; }; 482 072E5F441ABF88750003B164 /* WebMediaPlaybackTargetPicker.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebMediaPlaybackTargetPicker.mm; sourceTree = "<group>"; }; 479 483 0AB752350FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNetscapeContainerCheckContextInfo.h; sourceTree = "<group>"; }; 480 484 0AB752360FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNetscapeContainerCheckContextInfo.mm; sourceTree = "<group>"; }; … … 1337 1341 isa = PBXGroup; 1338 1342 children = ( 1343 072E5F431ABF88750003B164 /* WebMediaPlaybackTargetPicker.h */, 1344 072E5F441ABF88750003B164 /* WebMediaPlaybackTargetPicker.mm */, 1339 1345 F52CA6BD02DF9D0F018635CA /* HTML */, 1340 1346 51E94C0706C02CA300A9B09E /* PDF */, … … 1978 1984 939810750824BF01008DF038 /* WebUIDelegate.h in Headers */, 1979 1985 A10C1D6B1820300E0036883A /* WebFrameIOS.h in Headers */, 1986 072E5F451ABF88750003B164 /* WebMediaPlaybackTargetPicker.h in Headers */, 1980 1987 939810830824BF01008DF038 /* WebUIDelegatePrivate.h in Headers */, 1981 1988 A10C1D3418202FC50036883A /* WebGeolocationCoreLocationProvider.h in Headers */, … … 2294 2301 0AB752380FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.mm in Sources */, 2295 2302 0AEBFF640F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.mm in Sources */, 2303 072E5F461ABF88750003B164 /* WebMediaPlaybackTargetPicker.mm in Sources */, 2296 2304 1AEA66D50DC6B1FF003D12BF /* WebNetscapePluginEventHandler.mm in Sources */, 2297 2305 A10C1D651820300E0036883A /* WebChromeClientIOS.mm in Sources */, -
trunk/Source/WebKit/mac/ChangeLog
r181791 r181838 1 2015-03-22 Eric Carlson <eric.carlson@apple.com> 2 3 [Mac] Enable WIRELESS_PLAYBACK_TARGET for WK1 4 https://bugs.webkit.org/show_bug.cgi?id=142940 5 6 Reviewed by Sam Weinig. 7 8 * WebCoreSupport/WebChromeClient.h: 9 * WebCoreSupport/WebChromeClient.mm: 10 (WebChromeClient::showPlaybackTargetPicker): New. 11 (WebChromeClient::startingMonitoringPlaybackTargets): New. 12 (WebChromeClient::stopMonitoringPlaybackTargets): New. 13 14 * WebView/WebView.mm: 15 (-[WebView _close]): Invalidate and free the target picker. 16 (-[WebView _devicePicker]): New. 17 (-[WebView _showPlaybackTargetPicker:hasVideo:]): New. 18 (-[WebView _startingMonitoringPlaybackTargets]): New. 19 (-[WebView _stopMonitoringPlaybackTargets]): New. 20 21 * WebView/WebMediaPlaybackTargetPicker.h: 22 * WebView/WebMediaPlaybackTargetPicker.mm: 23 (WebMediaPlaybackTargetPicker::create): New. 24 (WebMediaPlaybackTargetPicker::WebMediaPlaybackTargetPicker): New. 25 (WebMediaPlaybackTargetPicker::showPlaybackTargetPicker): New. 26 (WebMediaPlaybackTargetPicker::startingMonitoringPlaybackTargets): New. 27 (WebMediaPlaybackTargetPicker::stopMonitoringPlaybackTargets): New. 28 (WebMediaPlaybackTargetPicker::didChoosePlaybackTarget): New. 29 (WebMediaPlaybackTargetPicker::externalOutputDeviceAvailableDidChange): New. 30 (WebMediaPlaybackTargetPicker::invalidate): New. 31 (WebMediaPlaybackTargetPicker::targetPicker): New. 32 33 * WebView/WebViewData.h: 34 (WebMediaPlaybackTargetPicker::~WebMediaPlaybackTargetPicker): 35 * WebView/WebViewData.mm: 36 * WebView/WebViewInternal.h: 37 1 38 2015-03-19 Andy Estes <aestes@apple.com> 2 39 -
trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h
r178575 r181838 214 214 #endif 215 215 216 #if ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS) 217 virtual void showPlaybackTargetPicker(const WebCore::IntPoint&, bool /* hasVideo */) override; 218 virtual void startingMonitoringPlaybackTargets() override; 219 virtual void stopMonitoringPlaybackTargets() override; 220 #endif 221 216 222 private: 217 223 WebView *m_webView; -
trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm
r179409 r181838 1035 1035 1036 1036 #endif 1037 1038 #if ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS) 1039 void WebChromeClient::showPlaybackTargetPicker(const WebCore::IntPoint& location, bool hasVideo) 1040 { 1041 [m_webView _showPlaybackTargetPicker:location hasVideo:hasVideo]; 1042 } 1043 1044 void WebChromeClient::startingMonitoringPlaybackTargets() 1045 { 1046 [m_webView _startingMonitoringPlaybackTargets]; 1047 } 1048 1049 void WebChromeClient::stopMonitoringPlaybackTargets() 1050 { 1051 [m_webView _stopMonitoringPlaybackTargets]; 1052 } 1053 #endif -
trunk/Source/WebKit/mac/WebView/WebView.mm
r181753 r181838 292 292 #endif 293 293 294 #if ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS) 295 #import "WebMediaPlaybackTargetPicker.h" 296 #endif 297 294 298 #if PLATFORM(MAC) 295 299 SOFT_LINK_CONSTANT_MAY_FAIL(Lookup, LUNotificationPopoverWillClose, NSString *) … … 1781 1785 [self _closePluginDatabases]; 1782 1786 1787 #if ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS) 1788 if (_private->m_playbackTargetPicker) { 1789 _private->m_playbackTargetPicker->invalidate(); 1790 _private->m_playbackTargetPicker = nullptr; 1791 } 1792 #endif 1793 1783 1794 #ifndef NDEBUG 1784 1795 // Need this to make leak messages accurate. … … 8641 8652 #endif // PLATFORM(MAC) 8642 8653 8654 #if ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS) 8655 - (WebMediaPlaybackTargetPicker *) _devicePicker 8656 { 8657 if (!_private->m_playbackTargetPicker) 8658 _private->m_playbackTargetPicker = WebMediaPlaybackTargetPicker::create(*_private->page); 8659 8660 return _private->m_playbackTargetPicker.get(); 8661 } 8662 8663 - (void)_showPlaybackTargetPicker:(const WebCore::IntPoint&)location hasVideo:(BOOL)hasVideo 8664 { 8665 if (!_private->page) 8666 return; 8667 8668 NSRect rectInWindowCoordinates = [self convertRect:[self _convertRectFromRootView:CGRectMake(location.x(), location.y(), 0, 0)] toView:nil]; 8669 NSRect rectInScreenCoordinates = [self.window convertRectToScreen:rectInWindowCoordinates]; 8670 [self _devicePicker]->showPlaybackTargetPicker(rectInScreenCoordinates, hasVideo); 8671 } 8672 8673 - (void)_startingMonitoringPlaybackTargets 8674 { 8675 if (!_private->page) 8676 return; 8677 8678 [self _devicePicker]->startingMonitoringPlaybackTargets(); 8679 } 8680 8681 - (void)_stopMonitoringPlaybackTargets 8682 { 8683 if (!_private->page) 8684 return; 8685 8686 [self _devicePicker]->stopMonitoringPlaybackTargets(); 8687 } 8688 #endif 8689 8643 8690 @end 8644 8691 -
trunk/Source/WebKit/mac/WebView/WebViewData.h
r178797 r181838 81 81 #endif 82 82 83 #if ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS) 84 class WebMediaPlaybackTargetPicker; 85 #endif 86 83 87 extern BOOL applicationIsTerminating; 84 88 extern int pluginDatabaseClientCount; … … 304 308 305 309 BOOL _didPerformFirstNavigation; 310 311 #if ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS) 312 std::unique_ptr<WebMediaPlaybackTargetPicker> m_playbackTargetPicker; 313 #endif 306 314 } 307 315 @end -
trunk/Source/WebKit/mac/WebView/WebViewData.mm
r177131 r181838 45 45 #if PLATFORM(IOS) 46 46 #import "WebGeolocationProviderIOS.h" 47 #endif 48 49 #if ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS) 50 #import "WebMediaPlaybackTargetPicker.h" 47 51 #endif 48 52 -
trunk/Source/WebKit/mac/WebView/WebViewInternal.h
r178797 r181838 61 61 62 62 struct DictionaryPopupInfo; 63 class WebMediaPlaybackTargetPicker; 63 64 class WebSelectionServiceController; 64 65 #endif … … 269 270 #endif 270 271 271 @end 272 #if ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS) && defined(__cplusplus) 273 - (WebMediaPlaybackTargetPicker *) _devicePicker; 274 - (void)_showPlaybackTargetPicker:(const WebCore::IntPoint&)location hasVideo:(BOOL)hasVideo; 275 - (void)_startingMonitoringPlaybackTargets; 276 - (void)_stopMonitoringPlaybackTargets; 277 #endif 278 279 @end -
trunk/Source/WebKit2/ChangeLog
r181837 r181838 1 2015-03-22 Eric Carlson <eric.carlson@apple.com> 2 3 [Mac] Enable WIRELESS_PLAYBACK_TARGET for WK1 4 https://bugs.webkit.org/show_bug.cgi?id=142940 5 6 Reviewed by Sam Weinig. 7 8 * WebProcess/WebPage/mac/WebPageMac.mm: 9 (WebKit::WebPage::playbackTargetSelected): Argument to didChoosePlaybackTarget is now const. 10 1 11 2015-03-22 Anders Carlsson <andersca@apple.com> 2 12 -
trunk/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm
r181660 r181838 1208 1208 void WebPage::playbackTargetSelected(const WebCore::MediaPlaybackTarget& playbackTarget) const 1209 1209 { 1210 MediaPlaybackTarget nonConstTarget(playbackTarget.devicePickerContext()); 1211 m_page->didChoosePlaybackTarget(nonConstTarget); 1210 m_page->didChoosePlaybackTarget(playbackTarget); 1212 1211 } 1213 1212
Note:
See TracChangeset
for help on using the changeset viewer.