Primary eng (and PM) emails
Summary
The UI for <video controls> is implemented using shadow DOM elements, which are styled using ::-webkit-media-controls* pseudo-element selectors in the user agent stylesheet, mediaControls.css. Unfortunately, page author stylesheets can also use these selectors, overriding parts of the user agent style.
Rename ::-webkit-media-controls* to ::-internal-media-controls* and make them accessible only to the user agent stylesheet.
Motivation
In https://crbug.com/415407 (restricted, sorry) a fuzzer has found a problem where a page overrides ::-webkit-media-controls { display: ... }, hitting an assert.
Compatibility Risk
Unfortunately, there is some:
http://css-tricks.com/custom-controls-in-html5-video-full-screen/
This combines ::-webkit-media-controls { display: none; } with a bug in our fullscreen implementation, namely that z-index on non-fullscreen elements can allow them to appear above the fullscreen element.
Alternative implementation suggestion for web developers
To get rid of native fullscreen controls, use a parent of the <video> element as the fullscreen element, don't use <video controls> and place things on top of the <video> as usual.
Usage information from UseCounter
None, and issue 41540 is targeted for M39 so we can't add a counter and wait. If this is unacceptable some temporary workaround in C++ will likely be needed.
Entry on chromestatus.com, crbug.com, or MDN
None.
Requesting approval to remove too?
Yes, although it's removal by renaming.Primary eng (and PM) emails
Summary
The UI for <video controls> is implemented using shadow DOM elements, which are styled using ::-webkit-media-controls* pseudo-element selectors in the user agent stylesheet, mediaControls.css. Unfortunately, page author stylesheets can also use these selectors, overriding parts of the user agent style.
Rename ::-webkit-media-controls* to ::-internal-media-controls* and make them accessible only to the user agent stylesheet.
Motivation
In https://crbug.com/415407 (restricted, sorry) a fuzzer has found a problem where a page overrides ::-webkit-media-controls { display: ... }, hitting an assert.