NEW 228828
WebM is not enabled in WebKitTestRunner when GPU Process is used
https://bugs.webkit.org/show_bug.cgi?id=228828
Summary WebM is not enabled in WebKitTestRunner when GPU Process is used
Kimmo Kinnunen
Reported 2021-08-05 08:25:33 PDT
WebM is not enabled in WebKitTestRunner when GPU Process is used void GPUProcessProxy::updatePreferences() { .... WebPageGroup::forEach([&] (auto& group) mutable { if (!group.preferences().useGPUProcessForMediaEnabled()) return; #if ENABLE(OPUS) if (group.preferences().opusDecoderEnabled()) hasEnabledOpus = true; #endif #if ENABLE(VORBIS) if (group.preferences().vorbisDecoderEnabled()) hasEnabledVorbis = true; #endif #if ENABLE(WEBM_FORMAT_READER) if (group.preferences().webMFormatReaderEnabled()) hasEnabledWebMFormatReader = true; #endif #if ENABLE(MEDIA_SOURCE) && ENABLE(VP9) if (group.preferences().webMParserEnabled()) hasEnabledWebMParser = true; #endif }); ... It's not correct to iterate the WebPageGroup::forEach. The WebKitTestRunner and MiniBrowser do not seem to use a preferences object that is part of a WebPageGroup. They seem to be using a brand new preferences object. Tested by: run-webkit-tests --debug --force media/media-can-play-webm.html (observe the double negative result expectations in internal)
Attachments
Kimmo Kinnunen
Comment 1 2021-08-05 08:27:29 PDT
One option would be to just simplify and unilaterally always enable the codecs and the format reader in the GPU process. If I understand correctly there shouldn't be any security downside, at least.
Radar WebKit Bug Importer
Comment 2 2021-08-12 08:26:18 PDT
Note You need to log in before you can comment on or make changes to this bug.