The ImageBuffer should inherit the accelerated bit from the context it will eventually be painted into.
Created attachment 266728 [details] Patch
Attachment 266728 [details] did not pass style-queue: ERROR: Source/WebCore/html/shadow/MediaControlElements.cpp:1374: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 1 in 2 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 266729 [details] Patch
Realized some might be a bit confused by this block: CanvasCompositingStrategy compositingStrategy = canvasCompositingStrategy(*renderer); if (compositingStrategy != CanvasCompositingStrategy::UnacceleratedCanvas) accelerate = Accelerated; due to its ignorance of UnacceleratedNonPlatformBuffer as a viable option for the value of accelerate. The reasoning behind this is that--upon searching the entire codebase--UnacceleratedNonPlatformBuffer is not used throughout WebCore. Therefore, if the canvas is not unaccelerated, we treat it as accelerated; otherwise, it becomes unaccelerated.
Created attachment 266730 [details] Patch
Created attachment 266731 [details] Patch
Comment on attachment 266731 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=266731&action=review > Source/WebCore/html/shadow/MediaControlElements.cpp:1373 > + CanvasCompositingStrategy compositingStrategy = canvasCompositingStrategy(*renderer); I'm not sure what you're trying to do here. 'renderer' is not a RenderHTMLCanvas here, but canvasCompositingStrategy asserts that it is. Did you test this in debug?