Changeset 255881 in webkit
- Timestamp:
- Feb 5, 2020 5:03:01 PM (4 years ago)
- Location:
- trunk/Source
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r255876 r255881 1 2020-02-05 Jer Noble <jer.noble@apple.com> 2 3 Adopt MTOverrideShouldPlayHDRVideo() 4 https://bugs.webkit.org/show_bug.cgi?id=207275 5 <rdar://problem/58837093> 6 7 Reviewed by Eric Carlson. 8 9 * platform/PlatformScreen.h: 10 * platform/mac/PlatformScreenMac.mm: 11 (WebCore::setShouldOverrideScreenSupportsHighDynamicRange): 12 1 13 2020-02-05 Chris Dumez <cdumez@apple.com> 2 14 -
trunk/Source/WebCore/PAL/ChangeLog
r255819 r255881 1 2020-02-05 Jer Noble <jer.noble@apple.com> 2 3 Adopt MTOverrideShouldPlayHDRVideo() 4 https://bugs.webkit.org/show_bug.cgi?id=207275 5 <rdar://problem/58837093> 6 7 Reviewed by Eric Carlson. 8 9 * pal/cocoa/MediaToolboxSoftLink.cpp: 10 * pal/cocoa/MediaToolboxSoftLink.h: 11 1 12 2020-02-05 Commit Queue <commit-queue@webkit.org> 2 13 -
trunk/Source/WebCore/PAL/pal/cocoa/MediaToolboxSoftLink.cpp
r252762 r255881 34 34 35 35 SOFT_LINK_FUNCTION_MAY_FAIL_FOR_SOURCE_WITH_EXPORT(PAL, MediaToolbox, MTShouldPlayHDRVideo, Boolean, (CFArrayRef displayList), (displayList), PAL_EXPORT) 36 SOFT_LINK_FUNCTION_MAY_FAIL_FOR_SOURCE_WITH_EXPORT(PAL, MediaToolbox, MTOverrideShouldPlayHDRVideo, void, (Boolean override, Boolean playHDRVideo), (override, playHDRVideo), PAL_EXPORT) 36 37 37 38 #endif -
trunk/Source/WebCore/PAL/pal/cocoa/MediaToolboxSoftLink.h
r252762 r255881 34 34 35 35 SOFT_LINK_FUNCTION_MAY_FAIL_FOR_HEADER(PAL, MediaToolbox, MTShouldPlayHDRVideo, Boolean, (CFArrayRef displayList), (displayList)) 36 SOFT_LINK_FUNCTION_MAY_FAIL_FOR_HEADER(PAL, MediaToolbox, MTOverrideShouldPlayHDRVideo, void, (Boolean override, Boolean playHDRVideo), (override, playHDRVideo)) 36 37 37 38 #endif -
trunk/Source/WebCore/platform/PlatformScreen.h
r252762 r255881 77 77 78 78 #if PLATFORM(MAC) || PLATFORM(IOS_FAMILY) 79 bool screenSupportsHighDynamicRange(Widget* = nullptr);79 WEBCORE_EXPORT bool screenSupportsHighDynamicRange(Widget* = nullptr); 80 80 #else 81 81 constexpr bool screenSupportsHighDynamicRange(Widget* = nullptr) { return false; } … … 105 105 WEBCORE_EXPORT ScreenProperties collectScreenProperties(); 106 106 WEBCORE_EXPORT void setScreenProperties(const ScreenProperties&); 107 108 WEBCORE_EXPORT void setShouldOverrideScreenSupportsHighDynamicRange(bool shouldOverride, bool supportsHighDynamicRange); 107 109 108 110 WEBCORE_EXPORT PlatformDisplayID primaryScreenDisplayID(); -
trunk/Source/WebCore/platform/mac/PlatformScreenMac.mm
r253062 r255881 157 157 } 158 158 159 void setShouldOverrideScreenSupportsHighDynamicRange(bool shouldOverride, bool supportsHighDynamicRange) 160 { 161 if (PAL::canLoad_MediaToolbox_MTOverrideShouldPlayHDRVideo()) 162 PAL::softLink_MediaToolbox_MTOverrideShouldPlayHDRVideo(shouldOverride, supportsHighDynamicRange); 163 } 164 159 165 static ScreenData screenData(PlatformDisplayID screendisplayID) 160 166 { -
trunk/Source/WebKit/ChangeLog
r255879 r255881 1 2020-02-05 Jer Noble <jer.noble@apple.com> 2 3 Adopt MTOverrideShouldPlayHDRVideo() 4 https://bugs.webkit.org/show_bug.cgi?id=207275 5 <rdar://problem/58837093> 6 7 Reviewed by Eric Carlson. 8 9 The WebProcess sandbox can block access to the services necessary for MediaToolbox to determine whether 10 the current display is capable of displaying HDR. Rather than opening up the sandbox, provide the information 11 gathered by the UIProcess by way of MTOverrideShouldPlayHDRVideo(). 12 13 * WebProcess/WebPage/WebPage.cpp: 14 (WebKit::WebPage::windowScreenDidChange): 15 (WebKit::WebPage::displayID const): 16 * WebProcess/WebPage/WebPage.h: 17 * WebProcess/WebProcess.cpp: 18 (WebKit::WebProcess::setScreenProperties): Deleted. 19 * WebProcess/WebProcess.h: 20 * WebProcess/cocoa/WebProcessCocoa.mm: 21 (WebKit::WebProcess::setScreenProperties): 22 (WebKit::WebProcess::updatePageScreenProperties): 23 1 24 2020-02-05 Wenson Hsieh <wenson_hsieh@apple.com> 2 25 -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
r255532 r255881 1994 1994 { 1995 1995 m_page->chrome().windowScreenDidChange(static_cast<PlatformDisplayID>(displayID)); 1996 1997 #if PLATFORM(MAC) 1998 WebProcess::singleton().updatePageScreenProperties(); 1999 #endif 1996 2000 } 1997 2001 -
trunk/Source/WebKit/WebProcess/WebProcess.cpp
r255681 r255881 1878 1878 #endif 1879 1879 1880 #if PLATFORM(MAC)1881 void WebProcess::setScreenProperties(const WebCore::ScreenProperties& properties)1882 {1883 WebCore::setScreenProperties(properties);1884 for (auto& page : m_pageMap.values())1885 page->screenPropertiesDidChange();1886 }1887 #endif1888 1889 1880 #if ENABLE(MEDIA_STREAM) 1890 1881 void WebProcess::addMockMediaDevice(const WebCore::MockMediaDevice& device) -
trunk/Source/WebKit/WebProcess/WebProcess.h
r255681 r255881 324 324 #endif 325 325 326 #if PLATFORM(MAC) 327 void updatePageScreenProperties(); 328 #endif 329 326 330 private: 327 331 WebProcess(); -
trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
r255457 r255881 79 79 #import <stdio.h> 80 80 #import <wtf/FileSystem.h> 81 #import <wtf/ProcessPrivilege.h> 81 82 #import <wtf/cocoa/NSURLExtras.h> 82 83 … … 930 931 #endif 931 932 933 #if PLATFORM(MAC) 934 void WebProcess::setScreenProperties(const ScreenProperties& properties) 935 { 936 WebCore::setScreenProperties(properties); 937 for (auto& page : m_pageMap.values()) 938 page->screenPropertiesDidChange(); 939 updatePageScreenProperties(); 940 } 941 942 void WebProcess::updatePageScreenProperties() 943 { 944 if (hasProcessPrivilege(ProcessPrivilege::CanCommunicateWithWindowServer)) { 945 setShouldOverrideScreenSupportsHighDynamicRange(false, false); 946 return; 947 } 948 949 bool allPagesAreOnHDRScreens = allOf(m_pageMap.values(), [] (auto& page) { 950 return screenSupportsHighDynamicRange(page->mainFrameView()); 951 }); 952 setShouldOverrideScreenSupportsHighDynamicRange(true, allPagesAreOnHDRScreens); 953 } 954 #endif 955 932 956 } // namespace WebKit 933 957
Note: See TracChangeset
for help on using the changeset viewer.