While working on Bug 184364, I noticed that this callstack, which leads me to believe that improper backing store is being created: #0 0x00000002d0b42bb7 in WebCore::screenSupportsExtendedColor(WebCore::Widget*) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/platform/mac/PlatformScreenMac.mm:231 #1 0x00000002d2afc300 in WebCore::GraphicsLayerCA::createPlatformCALayer(WebCore::PlatformCALayer::LayerType, WebCore::PlatformCALayerClient*) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:370 #2 0x00000002d2afce1c in WebCore::GraphicsLayerCA::initialize(WebCore::GraphicsLayer::Type) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:426 #3 0x00000002d2afc132 in WebCore::GraphicsLayer::create(WebCore::GraphicsLayerFactory*, WebCore::GraphicsLayerClient&, WebCore::GraphicsLayer::Type) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:350 #4 0x00000002d2f818cb in WebCore::RenderLayerCompositor::ensureRootLayer() at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/rendering/RenderLayerCompositor.cpp:3260 #5 0x00000002d2f817e3 in WebCore::RenderLayerCompositor::enableCompositingMode(bool) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/rendering/RenderLayerCompositor.cpp:292 #6 0x00000002d2f46ee8 in WebCore::RenderLayerCompositor::updateCompositingLayers(WebCore::CompositingUpdateType, WebCore::RenderLayer*) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/rendering/RenderLayerCompositor.cpp:658 #7 0x00000002d2f845f9 in WebCore::RenderLayerCompositor::didRecalcStyleWithNoPendingLayout() at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/rendering/RenderLayerCompositor.cpp:382 #8 0x00000002d27b8334 in WebCore::FrameView::updateCompositingLayersAfterStyleChange() at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/page/FrameView.cpp:806 #9 0x00000002d1e0d769 in WebCore::Document::resolveStyle(WebCore::Document::ResolveStyleType) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/dom/Document.cpp:1871 #10 0x00000002d1e114ae in WebCore::Document::createRenderTree() at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/dom/Document.cpp:2232 #11 0x00000002d1e11665 in WebCore::Document::didBecomeCurrentDocumentInFrame() at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/dom/Document.cpp:2243 #12 0x00000002d2799d6f in WebCore::Frame::setDocument(WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >&&) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/page/Frame.cpp:303 #13 0x00000002d25e1dcd in WebCore::DocumentWriter::begin(WebCore::URL const&, bool, WebCore::Document*) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/loader/DocumentWriter.cpp:173 #14 0x00000002d25a591e in WebCore::DocumentLoader::commitData(char const*, unsigned long) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/loader/DocumentLoader.cpp:978 #15 0x00000002d25a53a5 in WebCore::DocumentLoader::finishedLoading() at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/loader/DocumentLoader.cpp:426 #16 0x00000002d25af1e9 in WebCore::DocumentLoader::maybeLoadEmpty() at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/loader/DocumentLoader.cpp:1645 #17 0x00000002d25af35e in WebCore::DocumentLoader::startLoadingMainResource() at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/loader/DocumentLoader.cpp:1657 #18 0x00000002d25eed7c in WebCore::FrameLoader::init() at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/loader/FrameLoader.cpp:309 #19 0x00000002d2798ef4 in WebCore::Frame::init() at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebCore/page/Frame.cpp:202 #20 0x00000001017320d4 in WebKit::WebFrame::createWithCoreMainFrame(WebKit::WebPage*, WebCore::Frame*) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebKit/WebProcess/WebPage/WebFrame.cpp:119 #21 0x000000010185812a in WebKit::WebPage::WebPage(unsigned long long, WebKit::WebPageCreationParameters&&) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebKit/WebProcess/WebPage/WebPage.cpp:455 #22 0x0000000101854de5 in WebKit::WebPage::WebPage(unsigned long long, WebKit::WebPageCreationParameters&&) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebKit/WebProcess/WebPage/WebPage.cpp:384 #23 0x0000000101854cc4 in WebKit::WebPage::create(unsigned long long, WebKit::WebPageCreationParameters&&) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebKit/WebProcess/WebPage/WebPage.cpp:325 #24 0x0000000101abcc66 in WebKit::WebProcess::createWebPage(unsigned long long, WebKit::WebPageCreationParameters&&) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebKit/WebProcess/WebProcess.cpp:600 #25 0x0000000101b14f30 in void IPC::callMemberFunctionImpl<WebKit::WebProcess, void (WebKit::WebProcess::*)(unsigned long long, WebKit::WebPageCreationParameters&&), std::__1::tuple<unsigned long long, WebKit::WebPageCreationParameters>, 0ul, 1ul>(WebKit::WebProcess*, void (WebKit::WebProcess::*)(unsigned long long, WebKit::WebPageCreationParameters&&), std::__1::tuple<unsigned long long, WebKit::WebPageCreationParameters>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebKit/Platform/IPC/HandleMessage.h:40 #26 0x0000000101b14c90 in void IPC::callMemberFunction<WebKit::WebProcess, void (WebKit::WebProcess::*)(unsigned long long, WebKit::WebPageCreationParameters&&), std::__1::tuple<unsigned long long, WebKit::WebPageCreationParameters>, std::__1::integer_sequence<unsigned long, 0ul, 1ul> >(std::__1::tuple<unsigned long long, WebKit::WebPageCreationParameters>&&, WebKit::WebProcess*, void (WebKit::WebProcess::*)(unsigned long long, WebKit::WebPageCreationParameters&&)) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebKit/Platform/IPC/HandleMessage.h:46 #27 0x0000000101b0ee85 in void IPC::handleMessage<Messages::WebProcess::CreateWebPage, WebKit::WebProcess, void (WebKit::WebProcess::*)(unsigned long long, WebKit::WebPageCreationParameters&&)>(IPC::Decoder&, WebKit::WebProcess*, void (WebKit::WebProcess::*)(unsigned long long, WebKit::WebPageCreationParameters&&)) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebKit/Platform/IPC/HandleMessage.h:126 #28 0x0000000101b0cbad in WebKit::WebProcess::didReceiveWebProcessMessage(IPC::Connection&, IPC::Decoder&) at /Users/bfulgham/Projects/WebKit/OpenSource/WebKitBuild/Debug/DerivedSources/WebKit2/WebProcessMessageReceiver.cpp:74 #29 0x0000000101abdb2b in WebKit::WebProcess::didReceiveMessage(IPC::Connection&, IPC::Decoder&) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebKit/WebProcess/WebProcess.cpp:665 #30 0x0000000100f23163 in IPC::Connection::dispatchMessage(IPC::Decoder&) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebKit/Platform/IPC/Connection.cpp:906 #31 0x0000000100f18718 in IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebKit/Platform/IPC/Connection.cpp:933 #32 0x0000000100f2376a in IPC::Connection::dispatchOneMessage() at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebKit/Platform/IPC/Connection.cpp:964 #33 0x0000000100f3ba2d in IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14::operator()() at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WebKit/Platform/IPC/Connection.cpp:900 #34 0x0000000100f3b989 in WTF::Function<void ()>::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14>::call() at /Users/bfulgham/Projects/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/Function.h:101 #35 0x00000002df94cbfb in WTF::Function<void ()>::operator()() const at /Users/bfulgham/Projects/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/Function.h:56 #36 0x00000002df99e99d in WTF::RunLoop::performWork() at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WTF/wtf/RunLoop.cpp:123 #37 0x00000002df99f1b4 in WTF::RunLoop::performWork(void*) at /Users/bfulgham/Projects/WebKit/OpenSource/Source/WTF/wtf/cf/RunLoopCF.cpp:38 While the Media Query is done properly, it looks like the creation of the main view backing store is always done without extended color support on macOS. The following locations will create non-extended backing stores: GraphicsLayerCA::createPlatformCALayer() GraphicsLayerCARemote::createPlatformCALayer LegacyTileGridTile::LegacyTileGridTile WKWebView _takeViewSnapshot
<rdar://problem/39249074>
Are you saying that screenSupportsExtendedColor() always returns false here?
(In reply to Simon Fraser (smfr) from comment #2) > Are you saying that screenSupportsExtendedColor() always returns false here? Yes. I think all instances of ‘GraphicsLayerCA::initialize result in a backing store that lacks extended color support. I talked with Dino about this on Friday, and he thinks it is unlikely to create visible problems, it that the backing store is technically wrong in these devices.
Created attachment 337610 [details] Patch
Comment on attachment 337610 [details] Patch Attachment 337610 [details] did not pass win-ews (win): Output: http://webkit-queues.webkit.org/results/7281146 New failing tests: http/tests/security/canvas-remote-read-remote-video-localhost.html
Created attachment 337689 [details] Archive of layout-test-results from ews206 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews206 Port: win-future Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Comment on attachment 337610 [details] Patch I wish we could test this.
Comment on attachment 337689 [details] Archive of layout-test-results from ews206 for win-future There is no way a change in a Mac-specific file would cause these Windows failures.
Committed r230542: <https://trac.webkit.org/changeset/230542>