Bug 82124

Summary: Media controls rendering regression
Product: WebKit Reporter: Victor Carbune <vcarbune>
Component: MediaAssignee: Nobody <webkit-unassigned>
Severity: Normal CC: eric.carlson, jer.noble, silviapf
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 82125, 82150, 82476, 82515, 82626, 85990, 87591    
Bug Blocks: 79347    

Description Victor Carbune 2012-03-24 02:09:44 PDT
Bug 79746 introduced a regressions when displaying media controls.
I'm providing explanations and a quick fix and I'm working on solving them properly:

Controls are displayed on full-screen (http://code.google.com/p/chromium/issues/detail?id=119527):
In Bug79746 I have introduced a timer to set display:none on controls after the fade out transition ends (the reasons are explained in the ChangeLog). Before this change, the display property was used only in the logic above the PanelElement to set controls permanently displayed or not. The media control panel, however, should be aware of the state when toggling the display property. 

Volume slider is displayed below the volume box (http://code.google.com/p/chromium/issues/detail?id=119651):
This is also caused of toggling the display:none property. The current rendering of slider container contains logic offset in RenderMediaVolumeSliderContainer::layout() which isn't always called again when the display property is toggled.