WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
85990
Volume slider needs to be displayed below the mute button
https://bugs.webkit.org/show_bug.cgi?id=85990
Summary
Volume slider needs to be displayed below the mute button
Victor Carbune
Reported
2012-05-09 06:37:09 PDT
When the controls are very close to the top of the page, the volume slider should be displayed below the mute button.
http://code.google.com/p/chromium/issues/detail?id=126385
Attachments
Preliminary patch
(4.92 KB, patch)
2012-05-09 06:46 PDT
,
Victor Carbune
no flags
Details
Formatted Diff
Diff
Added back custom rendering
(8.86 KB, patch)
2012-05-09 16:35 PDT
,
Victor Carbune
no flags
Details
Formatted Diff
Diff
Updated patch
(20.11 KB, patch)
2012-05-10 06:22 PDT
,
Victor Carbune
no flags
Details
Formatted Diff
Diff
Updated patch
(20.05 KB, patch)
2012-05-10 11:24 PDT
,
Victor Carbune
no flags
Details
Formatted Diff
Diff
Rebased patch
(18.37 KB, patch)
2012-05-10 11:53 PDT
,
Victor Carbune
no flags
Details
Formatted Diff
Diff
Patch for landing
(21.22 KB, patch)
2012-05-10 12:48 PDT
,
Victor Carbune
no flags
Details
Formatted Diff
Diff
PaPatch
(21.22 KB, patch)
2012-05-10 14:29 PDT
,
Victor Carbune
no flags
Details
Formatted Diff
Diff
Another rebase
(20.64 KB, patch)
2012-05-10 14:41 PDT
,
Victor Carbune
no flags
Details
Formatted Diff
Diff
Patch for landing
(20.02 KB, patch)
2012-05-13 11:19 PDT
,
Victor Carbune
no flags
Details
Formatted Diff
Diff
Show Obsolete
(8)
View All
Add attachment
proposed patch, testcase, etc.
Victor Carbune
Comment 1
2012-05-09 06:46:48 PDT
Created
attachment 140931
[details]
Preliminary patch
Build Bot
Comment 2
2012-05-09 07:02:25 PDT
Comment on
attachment 140931
[details]
Preliminary patch
Attachment 140931
[details]
did not pass mac-ews (mac): Output:
http://queues.webkit.org/results/12645690
Eric Carlson
Comment 3
2012-05-09 09:24:46 PDT
Comment on
attachment 140931
[details]
Preliminary patch View in context:
https://bugs.webkit.org/attachment.cgi?id=140931&action=review
> Source/WebCore/html/shadow/MediaControlElements.cpp:375 > +void MediaControlVolumeSliderContainerElement::displayBelowMuteButton(bool status) > +{ > + DEFINE_STATIC_LOCAL(AtomicString, classAttribute, ("class")); > + DEFINE_STATIC_LOCAL(AtomicString, classAttributeValue, ("webkit-media-controls-volume-slider-below")); > + ExceptionCode ec; > + > + setAttribute(classAttribute, classAttributeValue, ec); > + setNeedsStyleRecalc(); > +}
Don't you need to do something with "status"?
> Source/WebCore/html/shadow/MediaControlElements.cpp:380 > +RenderObject* MediaControlVolumeSliderContainerElement::createRenderer(RenderArena *arena, RenderStyle *style) > +{ > + return new (arena) RenderMediaVolumeSliderContainer(this); > +}
"style" isn't used so this will fail to compile on Mac/Windows.
Dimitri Glazkov (Google)
Comment 4
2012-05-09 09:31:45 PDT
Comment on
attachment 140931
[details]
Preliminary patch View in context:
https://bugs.webkit.org/attachment.cgi?id=140931&action=review
I don't like this. We shouldn't be mutating DOM inside layout.
> Source/WebCore/css/mediaControlsChromium.css:178 > +::-webkit-media-controls * div[class="webkit-media-controls-volume-slider-below"] {
Why do you need the * selector there?
> Source/WebCore/html/shadow/MediaControlElements.cpp:351 > + slider->displayBelowMuteButton(true);
Mutating DOM inside layout seems like a hideous violation of layering to me.
Victor Carbune
Comment 5
2012-05-09 16:35:41 PDT
Created
attachment 141049
[details]
Added back custom rendering
Victor Carbune
Comment 6
2012-05-09 16:51:05 PDT
(In reply to
comment #4
)
> (From update of
attachment 140931
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=140931&action=review
> > I don't like this. We shouldn't be mutating DOM inside layout. > > > Source/WebCore/css/mediaControlsChromium.css:178 > > +::-webkit-media-controls * div[class="webkit-media-controls-volume-slider-below"] { > > Why do you need the * selector there?
The mute button and volume slider are in the same <div> container (and not direct children of the panel element. I suggest we keep this for two reasons: i) we can let css position the slider within the <div> container in most of the cases ii) within the layout() method the positioning is done only on the y-axis, when it's needed to be rendered below.
> > Source/WebCore/html/shadow/MediaControlElements.cpp:351 > > + slider->displayBelowMuteButton(true); > > Mutating DOM inside layout seems like a hideous violation of layering to me.
It was a possible alternative that I initially thought it deserves some attention. My bad.
Victor Carbune
Comment 7
2012-05-09 16:52:40 PDT
Comment on
attachment 141049
[details]
Added back custom rendering I need to run and see how this looks on a mac machine before we can check this in.
Victor Carbune
Comment 8
2012-05-10 06:22:30 PDT
Created
attachment 141160
[details]
Updated patch
Eric Carlson
Comment 9
2012-05-10 10:15:34 PDT
Comment on
attachment 141160
[details]
Updated patch View in context:
https://bugs.webkit.org/attachment.cgi?id=141160&action=review
This looks fine to me modulo the minor comments, but it would probably be good to get a nod from dglazkov as well since he had strong feelings about the previous version.
> Source/WebCore/ChangeLog:15 > + Changed positioning of the slider to absolute, otherwise it is possible to position it from the layout() method.
Nit: do you mean "otherwise it is *not* possible"?
> Source/WebCore/html/shadow/MediaControlElements.cpp:263 > + // Setting the display:none property on controls is not working > + // because localToAbsolute is behaving differently(?!) > + > + // startTimer();
I think it would be better to just remove the comment and code. You and I won't forget about it just because it isn't here :-(
> LayoutTests/media/media-volume-slider-rendered-below.html:17 > + function test() {
Nit: a function's opening brace should be on its own line.
> LayoutTests/media/media-volume-slider-rendered-below.html:29 > + consoleWrite("ERROR: unable to get controls coordinates."); > + > + layoutTestController.notifyDone();
Nit: You could simplify slightly this by using failTest().
> LayoutTests/media/media-volume-slider-rendered-below.html:48 > + function initialize() {
Nit: the brace should be on a new line.
Victor Carbune
Comment 10
2012-05-10 11:24:50 PDT
Created
attachment 141205
[details]
Updated patch
Dimitri Glazkov (Google)
Comment 11
2012-05-10 11:29:57 PDT
Comment on
attachment 141205
[details]
Updated patch ok.
Victor Carbune
Comment 12
2012-05-10 11:53:37 PDT
Created
attachment 141216
[details]
Rebased patch
Victor Carbune
Comment 13
2012-05-10 12:00:11 PDT
Comment on
attachment 141216
[details]
Rebased patch Bad rebase, sorry.
Victor Carbune
Comment 14
2012-05-10 12:48:36 PDT
Created
attachment 141230
[details]
Patch for landing
WebKit Review Bot
Comment 15
2012-05-10 14:16:30 PDT
Comment on
attachment 141230
[details]
Patch for landing Rejecting
attachment 141230
[details]
from commit-queue. Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 2 Last 500 characters of output: controls-strict-expected.txt patching file LayoutTests/platform/mac/media/video-controls-rendering-expected.txt patching file LayoutTests/platform/mac/media/video-display-toggle-expected.txt patching file LayoutTests/platform/mac/media/video-playing-and-pause-expected.txt patching file LayoutTests/platform/mac/test_expectations.txt Failed to run "[u'/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply', u'--force', u'--reviewer', u'Eric Carls..." exit_code: 1 cwd: /mnt/git/webkit-commit-queue/ Full output:
http://queues.webkit.org/results/12648966
Victor Carbune
Comment 16
2012-05-10 14:29:55 PDT
Created
attachment 141257
[details]
PaPatch Seems I wrote 89950 instead of 85990 in test expectations. Corrected.
Victor Carbune
Comment 17
2012-05-10 14:41:34 PDT
Created
attachment 141263
[details]
Another rebase I'm not sure why the CQ fails to apply this patch
WebKit Review Bot
Comment 18
2012-05-13 11:01:41 PDT
Comment on
attachment 141263
[details]
Another rebase Rejecting
attachment 141263
[details]
from commit-queue. Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 2 Last 500 characters of output: file LayoutTests/platform/mac/media/video-controls-rendering-expected.txt patching file LayoutTests/platform/mac/media/video-display-toggle-expected.txt patching file LayoutTests/platform/mac/media/video-playing-and-pause-expected.txt patching file LayoutTests/platform/mac/test_expectations.txt Hunk #1 succeeded at 204 with fuzz 1. Failed to run "[u'/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply', u'--force', u'--reviewer', u'Eric Carls..." exit_code: 1 cwd: /mnt/git/webkit-commit-queue/ Full output:
http://queues.webkit.org/results/12678663
Victor Carbune
Comment 19
2012-05-13 11:19:38 PDT
Created
attachment 141609
[details]
Patch for landing
WebKit Review Bot
Comment 20
2012-05-13 11:20:07 PDT
Comment on
attachment 141609
[details]
Patch for landing Rejecting
attachment 141609
[details]
from commit-queue.
victor@rosedu.org
does not have committer permissions according to
http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py
. - If you do not have committer rights please read
http://webkit.org/coding/contributing.html
for instructions on how to use bugzilla flags. - If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed). The commit-queue restarts itself every 2 hours. After restart the commit-queue will correctly respect your committer rights.
Dimitri Glazkov (Google)
Comment 21
2012-05-13 11:33:31 PDT
Comment on
attachment 141609
[details]
Patch for landing View in context:
https://bugs.webkit.org/attachment.cgi?id=141609&action=review
> Source/WebCore/ChangeLog:6 > + Reviewed by NOBODY (OOPS!).
This will be filled in by webkit-patch land-safely (but only if you have an actual active r+ on the bug). Don't let it be cleared by webkit-patch upload
WebKit Review Bot
Comment 22
2012-05-13 12:11:06 PDT
Comment on
attachment 141609
[details]
Patch for landing Clearing flags on attachment: 141609 Committed
r116900
: <
http://trac.webkit.org/changeset/116900
>
WebKit Review Bot
Comment 23
2012-05-13 12:11:12 PDT
All reviewed patches have been landed. Closing bug.
Raphael Kubo da Costa (:rakuco)
Comment 24
2012-05-13 14:45:04 PDT
This patch caused the EFL bots to fail media/video-controls-rendering-toggle-display-none.html and media/video-controls-toggling.html, I've skipped them for now. It looks like the commit has caused failures for GTK+ as well.
Philippe Normand
Comment 25
2012-05-13 18:50:00 PDT
(In reply to
comment #24
)
> This patch caused the EFL bots to fail media/video-controls-rendering-toggle-display-none.html and media/video-controls-toggling.html, I've skipped them for now. It looks like the commit has caused failures for GTK+ as well.
See
bug 86328
Victor Carbune
Comment 26
2012-05-14 04:59:31 PDT
(In reply to
comment #24
)
> This patch caused the EFL bots to fail media/video-controls-rendering-toggle-display-none.html and media/video-controls-toggling.html, I've skipped them for now. It looks like the commit has caused failures for GTK+ as well.
This is, unfortunately, expected; that's why I have marked the tests as failing in Mac and Chromium at this time. Seems that after toggling "display:none", localToAbsolute returns different coordinates. I'm trying to find out what's the cause of this. Thanks for marking them accordingly Raphael, Philippe.
Victor Carbune
Comment 27
2012-05-27 12:11:34 PDT
(In reply to
comment #26
)
> (In reply to
comment #24
) > > This patch caused the EFL bots to fail media/video-controls-rendering-toggle-display-none.html and media/video-controls-toggling.html, I've skipped them for now. It looks like the commit has caused failures for GTK+ as well. > > This is, unfortunately, expected; that's why I have marked the tests as failing in Mac and Chromium at this time. > > Seems that after toggling "display:none", localToAbsolute returns different coordinates. I'm trying to find out what's the cause of this.
I tried figuring out what's happening there, but this seems to be non-trivial. The easiest solution I could come with is to hide the volume slider each time the controls are hidden (by JS or fadeout).
> Thanks for marking them accordingly Raphael, Philippe.
I have un-marked them in the same patch containing the changes mentioned above (
https://bugs.webkit.org/show_bug.cgi?id=87591
)
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug