- Revision
- 113641
- Author
- [email protected]
- Date
- 2012-04-09 16:49:28 -0700 (Mon, 09 Apr 2012)
Log Message
Unreviewed, rolling out r113609.
http://trac.webkit.org/changeset/113609
https://bugs.webkit.org/show_bug.cgi?id=83522
it broke tests (Requested by dethbakin on #webkit).
Patch by Sheriff Bot <[email protected]> on 2012-04-09
Source/WebCore:
* css/mediaControlsChromium.css:
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
* css/mediaControlsQuickTime.css:
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
(audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
* html/shadow/MediaControlElements.cpp:
(RenderMediaVolumeSliderContainer):
(WebCore):
(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaVolumeSliderContainer::layout):
(WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
* html/shadow/MediaControlElements.h:
(MediaControlVolumeSliderContainerElement):
* html/shadow/MediaControlRootElement.cpp:
(WebCore::MediaControlRootElement::create):
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::create):
LayoutTests:
* media/video-controls-rendering-toggle-display-none-expected.txt: Removed.
* media/video-controls-rendering-toggle-display-none.html: Removed.
Modified Paths
Removed Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (113640 => 113641)
--- trunk/LayoutTests/ChangeLog 2012-04-09 23:45:43 UTC (rev 113640)
+++ trunk/LayoutTests/ChangeLog 2012-04-09 23:49:28 UTC (rev 113641)
@@ -1,3 +1,14 @@
+2012-04-09 Sheriff Bot <[email protected]>
+
+ Unreviewed, rolling out r113609.
+ http://trac.webkit.org/changeset/113609
+ https://bugs.webkit.org/show_bug.cgi?id=83522
+
+ it broke tests (Requested by dethbakin on #webkit).
+
+ * media/video-controls-rendering-toggle-display-none-expected.txt: Removed.
+ * media/video-controls-rendering-toggle-display-none.html: Removed.
+
2012-04-09 Dale Curtis <[email protected]>
Remove unworkable video-buffering-repaints-controls test.
Deleted: trunk/LayoutTests/media/video-controls-rendering-toggle-display-none-expected.txt (113640 => 113641)
--- trunk/LayoutTests/media/video-controls-rendering-toggle-display-none-expected.txt 2012-04-09 23:45:43 UTC (rev 113640)
+++ trunk/LayoutTests/media/video-controls-rendering-toggle-display-none-expected.txt 2012-04-09 23:49:28 UTC (rev 113641)
@@ -1,9 +0,0 @@
-Tests that the video controls are properly rendered when the display none is set and unset.
-
-** The volume slider should have almost the same left offset as the mute button **
-EXPECTED (volumeSliderElement.offsetLeft >= muteButtonElement.offsetLeft - threshold == 'true') OK
-EXPECTED (volumeSliderElement.offsetLeft <= muteButtonElement.offsetLeft + threshold == 'true') OK
-
-** The volume slider should be on top of the mute button **
-EXPECTED (volumeSliderElement.offsetTop < muteButtonElement.offsetTop == 'true') OK
-
Deleted: trunk/LayoutTests/media/video-controls-rendering-toggle-display-none.html (113640 => 113641)
--- trunk/LayoutTests/media/video-controls-rendering-toggle-display-none.html 2012-04-09 23:45:43 UTC (rev 113640)
+++ trunk/LayoutTests/media/video-controls-rendering-toggle-display-none.html 2012-04-09 23:49:28 UTC (rev 113641)
@@ -1,70 +0,0 @@
-<html>
-<head>
- <title>Test rendering of volume slider of video tag</title>
- <script src=""
- <script src=""
- <script src=""
- <script>
- var video;
- var panel;
- var threshold = 2;
-
- var muteButtonCoordinates;
- var volumeSliderCoordinates;
-
- var volumeSliderElement;
- var muteButtonElement;
-
- function init()
- {
- video = document.getElementsByTagName("video")[0];
- video.src = "" "content/test");
- }
-
- function test()
- {
- if (window.eventSender) {
- try {
- muteButtonCoordinates = mediaControlsButtonCoordinates(video, "mute-button");
- volumeSliderCoordinates = mediaControlsButtonCoordinates(video, "volume-slider-container");
- } catch (exception) {
- layoutTestController.notifyDone();
- return;
- }
-
- eventSender.mouseMoveTo(muteButtonCoordinates[0], muteButtonCoordinates[1]);
- }
-
- panel = mediaControlsElement(internals.shadowRoot(video).firstChild, "-webkit-media-controls-panel");
- volumeSliderElement = mediaControlsElement(internals.shadowRoot(video).firstChild, "-webkit-media-controls-volume-slider-container");
- muteButtonElement = mediaControlsElement(internals.shadowRoot(video).firstChild, "-webkit-media-controls-mute-button");
-
-
- // Ensure paint with display property set to "none".
- panel.style.display = "none";
- document.body.offsetTop;
-
- // Ensure (re)paint with default display property.
- panel.style.removeProperty("display");
- document.body.offsetTop;
-
- // Test that the left offset of both controls is equal.
- consoleWrite("");
- consoleWrite("** The volume slider should have almost the same left offset as the mute button **");
- testExpected("volumeSliderElement.offsetLeft >= muteButtonElement.offsetLeft - threshold", true);
- testExpected("volumeSliderElement.offsetLeft <= muteButtonElement.offsetLeft + threshold", true);
-
- consoleWrite("");
- consoleWrite("** The volume slider should be on top of the mute button **");
- testExpected("volumeSliderElement.offsetTop < muteButtonElement.offsetTop", true);
-
- layoutTestController.notifyDone();
- }
- </script>
-</head>
-<body _onload_="init()">
- Tests that the video controls are properly rendered when the display none is set and unset.<br>
-
- <video _oncanplaythrough_="test()" controls preload="true"></video>
-</body>
-</html>
Modified: trunk/Source/WebCore/ChangeLog (113640 => 113641)
--- trunk/Source/WebCore/ChangeLog 2012-04-09 23:45:43 UTC (rev 113640)
+++ trunk/Source/WebCore/ChangeLog 2012-04-09 23:49:28 UTC (rev 113641)
@@ -1,3 +1,32 @@
+2012-04-09 Sheriff Bot <[email protected]>
+
+ Unreviewed, rolling out r113609.
+ http://trac.webkit.org/changeset/113609
+ https://bugs.webkit.org/show_bug.cgi?id=83522
+
+ it broke tests (Requested by dethbakin on #webkit).
+
+ * css/mediaControlsChromium.css:
+ (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
+ (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
+ (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
+ * css/mediaControlsQuickTime.css:
+ (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
+ (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
+ (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
+ * html/shadow/MediaControlElements.cpp:
+ (RenderMediaVolumeSliderContainer):
+ (WebCore):
+ (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
+ (WebCore::RenderMediaVolumeSliderContainer::layout):
+ (WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
+ * html/shadow/MediaControlElements.h:
+ (MediaControlVolumeSliderContainerElement):
+ * html/shadow/MediaControlRootElement.cpp:
+ (WebCore::MediaControlRootElement::create):
+ * html/shadow/MediaControlRootElementChromium.cpp:
+ (WebCore::MediaControlRootElementChromium::create):
+
2012-04-09 Dana Jansens <[email protected]>
[chromium] Make culling work with clipped rects
Modified: trunk/Source/WebCore/css/mediaControlsChromium.css (113640 => 113641)
--- trunk/Source/WebCore/css/mediaControlsChromium.css 2012-04-09 23:45:43 UTC (rev 113640)
+++ trunk/Source/WebCore/css/mediaControlsChromium.css 2012-04-09 23:49:28 UTC (rev 113641)
@@ -41,7 +41,6 @@
audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel {
-webkit-user-select: none;
- -webkit-box-pack: end;
position: relative;
overflow: visible;
bottom: 0;
@@ -55,13 +54,9 @@
bottom: 0px;
}
-audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel {
- -webkit-box-align: end;
-}
-
audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button {
-webkit-appearance: media-mute-button;
- position: relative;
+ position: absolute;
top: auto;
bottom: 0;
right: 0;
@@ -154,7 +149,7 @@
audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container {
-webkit-appearance: media-volume-slider-container;
- position: relative;
+ position: absolute;
width: 34px;
height: 100px;
Modified: trunk/Source/WebCore/css/mediaControlsQuickTime.css (113640 => 113641)
--- trunk/Source/WebCore/css/mediaControlsQuickTime.css 2012-04-09 23:45:43 UTC (rev 113640)
+++ trunk/Source/WebCore/css/mediaControlsQuickTime.css 2012-04-09 23:49:28 UTC (rev 113641)
@@ -48,9 +48,6 @@
margin-left: 2px;
margin-right: 9px;
border: none !important;
-
- position: relative;
- z-index: 2;
}
audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button {
@@ -203,8 +200,8 @@
-webkit-appearance: media-volume-slider-container;
position: absolute;
- bottom: 0px;
- z-index: 1;
+ top: 0;
+ left: 0;
width: 22px;
height: 114px;
@@ -221,3 +218,16 @@
width: 10px;
height: 80px;
}
+
+audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button {
+ -webkit-appearance: media-volume-slider-mute-button;
+ display: inline;
+ position: absolute;
+
+ bottom: 5px;
+ left: 4px;
+
+ width: 14px;
+ height: 12px;
+ border: none !important;
+}
Modified: trunk/Source/WebCore/html/shadow/MediaControlElements.cpp (113640 => 113641)
--- trunk/Source/WebCore/html/shadow/MediaControlElements.cpp 2012-04-09 23:45:43 UTC (rev 113640)
+++ trunk/Source/WebCore/html/shadow/MediaControlElements.cpp 2012-04-09 23:49:28 UTC (rev 113641)
@@ -320,6 +320,34 @@
// ----------------------------
+class RenderMediaVolumeSliderContainer : public RenderBlock {
+public:
+ RenderMediaVolumeSliderContainer(Node*);
+
+private:
+ virtual void layout();
+};
+
+RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer(Node* node)
+ : RenderBlock(node)
+{
+}
+
+void RenderMediaVolumeSliderContainer::layout()
+{
+ RenderBlock::layout();
+ if (style()->display() == NONE || !previousSibling() || !previousSibling()->isBox())
+ return;
+
+ RenderBox* buttonBox = toRenderBox(previousSibling());
+
+ LayoutStateDisabler layoutStateDisabler(view());
+
+ LayoutPoint offset = theme()->volumeSliderOffsetFromMuteButton(buttonBox, size());
+ setX(offset.x() + buttonBox->offsetLeft());
+ setY(offset.y() + buttonBox->offsetTop());
+}
+
inline MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement(Document* document)
: MediaControlElement(document)
{
@@ -332,6 +360,11 @@
return element.release();
}
+RenderObject* MediaControlVolumeSliderContainerElement::createRenderer(RenderArena* arena, RenderStyle*)
+{
+ return new (arena) RenderMediaVolumeSliderContainer(this);
+}
+
void MediaControlVolumeSliderContainerElement::defaultEventHandler(Event* event)
{
if (!event->isMouseEvent() || event->type() != eventNames().mouseoutEvent)
Modified: trunk/Source/WebCore/html/shadow/MediaControlElements.h (113640 => 113641)
--- trunk/Source/WebCore/html/shadow/MediaControlElements.h 2012-04-09 23:45:43 UTC (rev 113640)
+++ trunk/Source/WebCore/html/shadow/MediaControlElements.h 2012-04-09 23:49:28 UTC (rev 113641)
@@ -159,6 +159,7 @@
private:
MediaControlVolumeSliderContainerElement(Document*);
+ virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
virtual void defaultEventHandler(Event*);
virtual MediaControlElementType displayType() const;
virtual const AtomicString& shadowPseudoId() const;
Modified: trunk/Source/WebCore/html/shadow/MediaControlRootElement.cpp (113640 => 113641)
--- trunk/Source/WebCore/html/shadow/MediaControlRootElement.cpp 2012-04-09 23:45:43 UTC (rev 113640)
+++ trunk/Source/WebCore/html/shadow/MediaControlRootElement.cpp 2012-04-09 23:49:28 UTC (rev 113641)
@@ -173,8 +173,11 @@
controls->m_fullScreenButton = fullScreenButton.get();
panel->appendChild(fullScreenButton.release(), ec, true);
- // The mute button and the slider element should be in the same div.
- RefPtr<HTMLDivElement> panelVolumeControlContainer = HTMLDivElement::create(document);
+ RefPtr<MediaControlPanelMuteButtonElement> panelMuteButton = MediaControlPanelMuteButtonElement::create(document, controls.get());
+ controls->m_panelMuteButton = panelMuteButton.get();
+ panel->appendChild(panelMuteButton.release(), ec, true);
+ if (ec)
+ return 0;
if (document->page()->theme()->usesMediaControlVolumeSlider()) {
RefPtr<MediaControlVolumeSliderContainerElement> volumeSliderContainer = MediaControlVolumeSliderContainerElement::create(document);
@@ -185,22 +188,18 @@
if (ec)
return 0;
+ RefPtr<MediaControlVolumeSliderMuteButtonElement> volumeSliderMuteButton = MediaControlVolumeSliderMuteButtonElement::create(document);
+ controls->m_volumeSliderMuteButton = volumeSliderMuteButton.get();
+ volumeSliderContainer->appendChild(volumeSliderMuteButton.release(), ec, true);
+ if (ec)
+ return 0;
+
controls->m_volumeSliderContainer = volumeSliderContainer.get();
- panelVolumeControlContainer->appendChild(volumeSliderContainer.release(), ec, true);
+ panel->appendChild(volumeSliderContainer.release(), ec, true);
if (ec)
return 0;
}
- RefPtr<MediaControlPanelMuteButtonElement> panelMuteButton = MediaControlPanelMuteButtonElement::create(document, controls.get());
- controls->m_panelMuteButton = panelMuteButton.get();
- panelVolumeControlContainer->appendChild(panelMuteButton.release(), ec, true);
- if (ec)
- return 0;
-
- panel->appendChild(panelVolumeControlContainer, ec, true);
- if (ec)
- return 0;
-
// FIXME: Only create when needed <http://webkit.org/b/57163>
RefPtr<MediaControlFullscreenVolumeMinButtonElement> fullScreenMinVolumeButton = MediaControlFullscreenVolumeMinButtonElement::create(document);
controls->m_fullScreenMinVolumeButton = fullScreenMinVolumeButton.get();
Modified: trunk/Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp (113640 => 113641)
--- trunk/Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp 2012-04-09 23:45:43 UTC (rev 113640)
+++ trunk/Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp 2012-04-09 23:49:28 UTC (rev 113641)
@@ -106,7 +106,11 @@
if (ec)
return 0;
- RefPtr<HTMLDivElement> panelVolumeControlContainer = HTMLDivElement::create(document);
+ RefPtr<MediaControlPanelMuteButtonElement> panelMuteButton = MediaControlPanelMuteButtonElement::create(document, controls.get());
+ controls->m_panelMuteButton = panelMuteButton.get();
+ panel->appendChild(panelMuteButton.release(), ec, true);
+ if (ec)
+ return 0;
RefPtr<MediaControlVolumeSliderContainerElement> volumeSliderContainer = MediaControlVolumeSliderContainerElement::create(document);
@@ -117,20 +121,10 @@
return 0;
controls->m_volumeSliderContainer = volumeSliderContainer.get();
- panelVolumeControlContainer->appendChild(volumeSliderContainer.release(), ec, true);
+ panel->appendChild(volumeSliderContainer.release(), ec, true);
if (ec)
return 0;
- RefPtr<MediaControlPanelMuteButtonElement> panelMuteButton = MediaControlPanelMuteButtonElement::create(document, controls.get());
- controls->m_panelMuteButton = panelMuteButton.get();
- panelVolumeControlContainer->appendChild(panelMuteButton.release(), ec, true);
- if (ec)
- return 0;
-
- panel->appendChild(panelVolumeControlContainer, ec, true);
- if (ec)
- return 0;
-
controls->m_panel = panel.get();
controls->appendChild(panel.release(), ec, true);
if (ec)