Changeset 186484 in webkit
- Timestamp:
- Jul 7, 2015 4:52:29 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/CMakeLists.txt
r186103 r186484 252 252 Shared/WebKeyboardEvent.cpp 253 253 Shared/WebKit2Initialize.cpp 254 Shared/WebMediaSessionMetadata.cpp 254 255 Shared/WebMemorySampler.cpp 255 256 Shared/WebMouseEvent.cpp … … 426 427 UIProcess/API/C/WKKeyValueStorageManager.cpp 427 428 UIProcess/API/C/WKMediaCacheManager.cpp 429 UIProcess/API/C/WKMediaSessionMetadata.cpp 428 430 UIProcess/API/C/WKNavigationActionRef.cpp 429 431 UIProcess/API/C/WKNavigationDataRef.cpp -
trunk/Source/WebKit2/ChangeLog
r186476 r186484 1 2015-07-06 Matt Rajca <mrajca@apple.com> 2 3 Media Session: propagate metadata changes to UI clients 4 https://bugs.webkit.org/show_bug.cgi?id=146660 5 6 Reviewed by Tim Horton. 7 8 * CMakeLists.txt: Added WebMediaSessionMetadata and WKMediaSessionMetadata. 9 * Shared/API/APIObject.h: Added a media session metadata type. 10 * Shared/API/c/WKBase.h: 11 * Shared/WebMediaSessionMetadata.cpp: Added API adapter for WebCore::MediaSessionMetadata. 12 (WebKit::WebMediaSessionMetadata::create): 13 (WebKit::WebMediaSessionMetadata::WebMediaSessionMetadata): 14 (WebKit::WebMediaSessionMetadata::~WebMediaSessionMetadata): 15 * Shared/WebMediaSessionMetadata.h: Added API adapter for WebCore::MediaSessionMetadata. 16 (WebKit::WebMediaSessionMetadata::title): 17 (WebKit::WebMediaSessionMetadata::artist): 18 (WebKit::WebMediaSessionMetadata::album): 19 * UIProcess/API/APIUIClient.h: Added 'mediaSessionMetadataDidChange' interface. 20 (API::UIClient::mediaSessionMetadataDidChange): 21 * UIProcess/API/C/WKAPICast.h: 22 * UIProcess/API/C/WKMediaSessionMetadata.cpp: Added C wrapper for WebMediaSessionMetadata. 23 (WKMediaSessionMetadataGetTypeID): 24 (WKMediaSessionMetadataCopyTitle): 25 (WKMediaSessionMetadataCopyArtist): 26 (WKMediaSessionMetadataCopyAlbum): 27 * UIProcess/API/C/WKMediaSessionMetadata.h: Added C wrapper for WebMediaSessionMetadata. 28 * UIProcess/API/C/WKPage.cpp: Forward 'mediaSessionMetadataDidChange' to client. 29 (WKPageSetPageUIClient): 30 * UIProcess/API/C/WKPageUIClient.h: Added 'mediaSessionMetadataDidChange' callback. 31 * UIProcess/WebPageProxy.cpp: Forward 'mediaSessionMetadataDidChange' to UI client. 32 (WebKit::WebPageProxy::mediaSessionMetadataDidChange): 33 * WebKit2.xcodeproj/project.pbxproj: Added WebMediaSessionMetadata and WKMediaSessionMetadata. 34 1 35 2015-07-07 Brady Eidson <beidson@apple.com> 2 36 -
trunk/Source/WebKit2/Shared/API/APIObject.h
r181808 r186484 150 150 WebsiteDataStore, 151 151 152 #if ENABLE(MEDIA_SESSION) 153 MediaSessionMetadata, 154 #endif 155 152 156 // Bundle types 153 157 Bundle, -
trunk/Source/WebKit2/Shared/API/c/WKBase.h
r183697 r186484 113 113 typedef const struct OpaqueWKKeyValueStorageManager* WKKeyValueStorageManagerRef; 114 114 typedef const struct OpaqueWKMediaCacheManager* WKMediaCacheManagerRef; 115 typedef const struct OpaqueWKMediaSessionMetadata* WKMediaSessionMetadataRef; 115 116 typedef const struct OpaqueWKNavigationAction* WKNavigationActionRef; 116 117 typedef const struct OpaqueWKNavigationData* WKNavigationDataRef; -
trunk/Source/WebKit2/UIProcess/API/APIUIClient.h
r185877 r186484 58 58 struct NavigationActionData; 59 59 struct SecurityOriginData; 60 61 #if ENABLE(MEDIA_SESSION) 62 class WebMediaSessionMetadata; 63 #endif 60 64 } 61 65 … … 151 155 virtual void isPlayingAudioDidChange(WebKit::WebPageProxy&) { } 152 156 157 #if ENABLE(MEDIA_SESSION) 158 virtual void mediaSessionMetadataDidChange(WebKit::WebPageProxy&, WebKit::WebMediaSessionMetadata*) { } 159 #endif 160 153 161 #if PLATFORM(IOS) 154 162 virtual RetainPtr<NSArray> actionsForElement(_WKActivatedElementInfo *, RetainPtr<NSArray> defaultActions) { return WTF::move(defaultActions); } -
trunk/Source/WebKit2/UIProcess/API/C/WKAPICast.h
r185623 r186484 93 93 class WebInspectorProxy; 94 94 class WebMediaCacheManagerProxy; 95 class WebMediaSessionMetadata; 95 96 class WebNotification; 96 97 class WebNotificationManagerProxy; … … 136 137 WK_ADD_API_MAPPING(WKInspectorRef, WebInspectorProxy) 137 138 WK_ADD_API_MAPPING(WKMediaCacheManagerRef, WebMediaCacheManagerProxy) 139 WK_ADD_API_MAPPING(WKMediaSessionMetadataRef, WebMediaSessionMetadata) 138 140 WK_ADD_API_MAPPING(WKNavigationActionRef, API::NavigationAction) 139 141 WK_ADD_API_MAPPING(WKNavigationDataRef, API::NavigationData) -
trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp
r186059 r186484 81 81 82 82 #if ENABLE(MEDIA_SESSION) 83 #include "WebMediaSessionMetadata.h" 83 84 #include <WebCore/MediaEventTypes.h> 84 85 #endif … … 1801 1802 m_client.didClickAutoFillButton(toAPI(&page), toAPI(userInfo), m_client.base.clientInfo); 1802 1803 } 1804 1805 #if ENABLE(MEDIA_SESSION) 1806 virtual void mediaSessionMetadataDidChange(WebPageProxy& page, WebMediaSessionMetadata* metadata) override 1807 { 1808 if (!m_client.mediaSessionMetadataDidChange) 1809 return; 1810 1811 m_client.mediaSessionMetadataDidChange(toAPI(&page), toAPI(metadata), m_client.base.clientInfo); 1812 } 1813 #endif 1803 1814 }; 1804 1815 -
trunk/Source/WebKit2/UIProcess/API/C/WKPageUIClient.h
r186046 r186484 92 92 typedef void (*WKPageDecidePolicyForUserMediaPermissionRequestCallback)(WKPageRef page, WKFrameRef frame, WKSecurityOriginRef origin, WKUserMediaPermissionRequestRef permissionRequest, const void* clientInfo); 93 93 typedef void (*WKPageDidClickAutoFillButtonCallback)(WKPageRef page, WKTypeRef userData, const void *clientInfo); 94 typedef void (*WKPageMediaSessionMetadataDidChangeCallback)(WKPageRef page, WKMediaSessionMetadataRef metadata, const void* clientInfo); 94 95 95 96 // Deprecated … … 453 454 WKPageRunJavaScriptConfirmCallback runJavaScriptConfirm; 454 455 WKPageRunJavaScriptPromptCallback runJavaScriptPrompt; 456 WKPageMediaSessionMetadataDidChangeCallback mediaSessionMetadataDidChange; 455 457 } WKPageUIClientV5; 456 458 -
trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp
r186279 r186484 160 160 #endif 161 161 162 #if ENABLE(MEDIA_SESSION) 163 #include "WebMediaSessionMetadata.h" 164 #include <WebCore/MediaSessionMetadata.h> 165 #endif 166 162 167 // This controls what strategy we use for mouse wheel coalescing. 163 168 #define MERGE_WHEEL_EVENTS 1 … … 5807 5812 void WebPageProxy::mediaSessionMetadataDidChange(const WebCore::MediaSessionMetadata& metadata) 5808 5813 { 5814 Ref<WebMediaSessionMetadata> webMetadata = WebMediaSessionMetadata::create(metadata); 5815 m_uiClient->mediaSessionMetadataDidChange(*this, webMetadata.ptr()); 5809 5816 } 5810 5817 #endif -
trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
r186268 r186484 1660 1660 C5FA1ED318E1062200B3F402 /* WKAirPlayRoutePicker.h in Headers */ = {isa = PBXBuildFile; fileRef = C5FA1ED118E1062200B3F402 /* WKAirPlayRoutePicker.h */; }; 1661 1661 C5FA1ED418E1062200B3F402 /* WKAirPlayRoutePicker.mm in Sources */ = {isa = PBXBuildFile; fileRef = C5FA1ED218E1062200B3F402 /* WKAirPlayRoutePicker.mm */; }; 1662 C9CD43971B4B001900239E33 /* WebMediaSessionMetadata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C9CD43931B4B000E00239E33 /* WebMediaSessionMetadata.cpp */; }; 1663 C9CD43981B4B001D00239E33 /* WebMediaSessionMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = C9CD43941B4B000E00239E33 /* WebMediaSessionMetadata.h */; }; 1664 C9CD439D1B4B024F00239E33 /* WKMediaSessionMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = C9CD439A1B4B024200239E33 /* WKMediaSessionMetadata.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1665 C9CD439E1B4B025300239E33 /* WKMediaSessionMetadata.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C9CD43991B4B024200239E33 /* WKMediaSessionMetadata.cpp */; }; 1662 1666 CD003A5219D49B5D005ABCE0 /* WebMediaKeyStorageManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD003A5019D49B5D005ABCE0 /* WebMediaKeyStorageManager.cpp */; }; 1663 1667 CD003A5319D49B5D005ABCE0 /* WebMediaKeyStorageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = CD003A5119D49B5D005ABCE0 /* WebMediaKeyStorageManager.h */; }; … … 3880 3884 C5FA1ED118E1062200B3F402 /* WKAirPlayRoutePicker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKAirPlayRoutePicker.h; path = ios/forms/WKAirPlayRoutePicker.h; sourceTree = "<group>"; }; 3881 3885 C5FA1ED218E1062200B3F402 /* WKAirPlayRoutePicker.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKAirPlayRoutePicker.mm; path = ios/forms/WKAirPlayRoutePicker.mm; sourceTree = "<group>"; }; 3886 C9CD43931B4B000E00239E33 /* WebMediaSessionMetadata.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebMediaSessionMetadata.cpp; sourceTree = "<group>"; }; 3887 C9CD43941B4B000E00239E33 /* WebMediaSessionMetadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebMediaSessionMetadata.h; sourceTree = "<group>"; }; 3888 C9CD43991B4B024200239E33 /* WKMediaSessionMetadata.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKMediaSessionMetadata.cpp; sourceTree = "<group>"; }; 3889 C9CD439A1B4B024200239E33 /* WKMediaSessionMetadata.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKMediaSessionMetadata.h; sourceTree = "<group>"; }; 3882 3890 CD003A5019D49B5D005ABCE0 /* WebMediaKeyStorageManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebMediaKeyStorageManager.cpp; path = MediaCache/WebMediaKeyStorageManager.cpp; sourceTree = "<group>"; }; 3883 3891 CD003A5119D49B5D005ABCE0 /* WebMediaKeyStorageManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebMediaKeyStorageManager.h; path = MediaCache/WebMediaKeyStorageManager.h; sourceTree = "<group>"; }; … … 4764 4772 BC9BA5021697C45300E44616 /* WebKit2Initialize.cpp */, 4765 4773 BC9BA5031697C45300E44616 /* WebKit2Initialize.h */, 4774 C9CD43931B4B000E00239E33 /* WebMediaSessionMetadata.cpp */, 4775 C9CD43941B4B000E00239E33 /* WebMediaSessionMetadata.h */, 4766 4776 905620E812BC248B000799B6 /* WebMemorySampler.cpp */, 4767 4777 905620E912BC248B000799B6 /* WebMemorySampler.h */, … … 6303 6313 33D3A3B31339600B00709BE4 /* WKMediaCacheManager.cpp */, 6304 6314 33D3A3B41339600B00709BE4 /* WKMediaCacheManager.h */, 6315 C9CD43991B4B024200239E33 /* WKMediaSessionMetadata.cpp */, 6316 C9CD439A1B4B024200239E33 /* WKMediaSessionMetadata.h */, 6305 6317 C09AE5E8125257C20025825D /* WKNativeEvent.h */, 6306 6318 2D3A65D81A7C3A1F00CAC637 /* WKNavigationActionRef.cpp */, … … 7968 7980 33D3A3CB1339617900709BE4 /* WebMediaCacheManagerProxyMessages.h in Headers */, 7969 7981 CD003A5319D49B5D005ABCE0 /* WebMediaKeyStorageManager.h in Headers */, 7982 C9CD43981B4B001D00239E33 /* WebMediaSessionMetadata.h in Headers */, 7970 7983 2D3EF4431917646300034184 /* WebMemoryPressureHandlerIOS.h in Headers */, 7971 7984 909854ED12BC4E18000AD080 /* WebMemorySampler.h in Headers */, … … 8185 8198 2D790A9F1AD7164900AB90B3 /* WKLayoutMode.h in Headers */, 8186 8199 33D3A3B61339600B00709BE4 /* WKMediaCacheManager.h in Headers */, 8200 C9CD439D1B4B024F00239E33 /* WKMediaSessionMetadata.h in Headers */, 8187 8201 BC4075FE124FF0270068F20A /* WKMutableArray.h in Headers */, 8188 8202 BC407600124FF0270068F20A /* WKMutableDictionary.h in Headers */, … … 9783 9797 33D3A3CA1339617900709BE4 /* WebMediaCacheManagerProxyMessageReceiver.cpp in Sources */, 9784 9798 CD003A5219D49B5D005ABCE0 /* WebMediaKeyStorageManager.cpp in Sources */, 9799 C9CD43971B4B001900239E33 /* WebMediaSessionMetadata.cpp in Sources */, 9785 9800 2D3EF4421917646300034184 /* WebMemoryPressureHandlerIOS.mm in Sources */, 9786 9801 909854EC12BC4E17000AD080 /* WebMemorySampler.cpp in Sources */, … … 9969 9984 51A9E10A1315CD18009E7031 /* WKKeyValueStorageManager.cpp in Sources */, 9970 9985 33D3A3B51339600B00709BE4 /* WKMediaCacheManager.cpp in Sources */, 9986 C9CD439E1B4B025300239E33 /* WKMediaSessionMetadata.cpp in Sources */, 9971 9987 BC4075FD124FF0270068F20A /* WKMutableArray.cpp in Sources */, 9972 9988 BC4075FF124FF0270068F20A /* WKMutableDictionary.cpp in Sources */, -
trunk/Tools/ChangeLog
r186476 r186484 1 2015-07-06 Matt Rajca <mrajca@apple.com> 2 3 Media Session: propagate metadata changes to UI clients 4 https://bugs.webkit.org/show_bug.cgi?id=146660 5 6 Reviewed by Tim Horton. 7 8 * WebKitTestRunner/TestController.cpp: Build fixes for updated PageUIClient. 9 (WTR::TestController::createOtherPage): 10 (WTR::TestController::createWebViewWithOptions): 11 1 12 2015-07-07 Brady Eidson <beidson@apple.com> 2 13 -
trunk/Tools/WebKitTestRunner/TestController.cpp
r185915 r186484 264 264 0, // runJavaScriptConfirm 265 265 0, // runJavaScriptPrompt 266 0, // mediaSessionMetadataDidChange 266 267 }; 267 268 WKPageSetPageUIClient(newPage, &otherPageUIClient.base); … … 512 513 0, // runJavaScriptConfirm 513 514 0, // runJavaScriptPrompt 515 0, // mediaSessionMetadataDidChange 514 516 }; 515 517 WKPageSetPageUIClient(m_mainWebView->page(), &pageUIClient.base);
Note: See TracChangeset
for help on using the changeset viewer.