Bug 144072 - Volume slider appears/doesn't appear at the wrong times
Summary: Volume slider appears/doesn't appear at the wrong times
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-22 15:48 PDT by Roger Fong
Modified: 2015-04-22 21:43 PDT (History)
2 users (show)

See Also:


Attachments
patch (2.86 KB, patch)
2015-04-22 16:00 PDT, Roger Fong
dino: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Roger Fong 2015-04-22 15:48:07 PDT
rdar://problem/20576145

2 things here:
a) set pointer-events: none of background divs for volume slider so the box doesn't appear randomly
b) call drawVolumeBackground on the over event for the mute box.
Comment 1 Roger Fong 2015-04-22 16:00:30 PDT
Created attachment 251375 [details]
patch
Comment 2 Roger Fong 2015-04-22 18:35:59 PDT
Note that the slider drew for <video> elements before because we drew it as a result of calling showControls().

However, we don't call showControls() for <audio> elements because the controls are always visible anyways.
Comment 3 Dean Jackson 2015-04-22 18:48:32 PDT
Comment on attachment 251375 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=251375&action=review

> Source/WebCore/ChangeLog:12
> +        Don't allow mouse interaction with the background divs.
> +        * Modules/mediacontrols/mediaControlsApple.css:
> +        (audio::-webkit-media-controls-volume-slider-container-background):
> +        (audio::-webkit-media-controls-volume-slider-container-tint):

I'm not sure why you needed to do this. As long as the backgrounds are behind the controls, wouldn't the control get the event?
Comment 4 Roger Fong 2015-04-22 18:53:48 PDT
(In reply to comment #3)
> Comment on attachment 251375 [details]
> patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=251375&action=review
> 
> > Source/WebCore/ChangeLog:12
> > +        Don't allow mouse interaction with the background divs.
> > +        * Modules/mediacontrols/mediaControlsApple.css:
> > +        (audio::-webkit-media-controls-volume-slider-container-background):
> > +        (audio::-webkit-media-controls-volume-slider-container-tint):
> 
> I'm not sure why you needed to do this. As long as the backgrounds are
> behind the controls, wouldn't the control get the event?

In this situation, when the volume box is hidden, the controls have a width of 0, so the background, while hidden, are above the controls.

Maybe a better way to do this is to make the widths of the background divs 0 as well while hidden.
Comment 5 Roger Fong 2015-04-22 21:43:13 PDT
http://trac.webkit.org/changeset/183168