| 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 | ||
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. |
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)