Bug 228828
Summary: | WebM is not enabled in WebKitTestRunner when GPU Process is used | ||
---|---|---|---|
Product: | WebKit | Reporter: | Kimmo Kinnunen <kkinnunen> |
Component: | Media | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | jer.noble, peng.liu6, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Local Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Bug Depends on: | |||
Bug Blocks: | 228830, 243818 |
Kimmo Kinnunen
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 | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Kimmo Kinnunen
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
<rdar://problem/81850175>