- Revision
- 112584
- Author
- [email protected]
- Date
- 2012-03-29 15:10:07 -0700 (Thu, 29 Mar 2012)
Log Message
Source/WebCore: rollout r112484, r112545, r112574
https://bugs.webkit.org/show_bug.cgi?id=82662
Unreviewed, build fix.
this appears to be producing some questionable differences on
the apple mac bots, and possibly one test on chromium linux.
* css/mediaControls.css:
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
* 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):
* html/shadow/MediaControlElements.cpp:
(RenderMediaVolumeSliderContainer):
(WebCore):
(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaVolumeSliderContainer::layout):
(WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
* html/shadow/MediaControlElements.h:
(MediaControlVolumeSliderContainerElement):
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::create):
LayoutTests: rollout r112484, r112545, r112574, r112575
https://bugs.webkit.org/show_bug.cgi?id=82662
Unreviewed, build fix.
* media/video-controls-rendering-toggle-display-none-expected.txt: Removed.
* media/video-controls-rendering-toggle-display-none.html: Removed.
* platform/chromium/test_expectations.txt:
* platform/mac/Skipped.txt:
Modified Paths
Removed Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (112583 => 112584)
--- trunk/LayoutTests/ChangeLog 2012-03-29 21:59:18 UTC (rev 112583)
+++ trunk/LayoutTests/ChangeLog 2012-03-29 22:10:07 UTC (rev 112584)
@@ -1,3 +1,15 @@
+2012-03-29 Dirk Pranke <[email protected]>
+
+ rollout r112484, r112545, r112574, r112575
+ https://bugs.webkit.org/show_bug.cgi?id=82662
+
+ Unreviewed, build fix.
+
+ * media/video-controls-rendering-toggle-display-none-expected.txt: Removed.
+ * media/video-controls-rendering-toggle-display-none.html: Removed.
+ * platform/chromium/test_expectations.txt:
+ * platform/mac/Skipped.txt:
+
2012-03-29 Enrica Casucci <[email protected]>
Skipping crashing workers tests.
Deleted: trunk/LayoutTests/media/video-controls-rendering-toggle-display-none-expected.txt (112583 => 112584)
--- trunk/LayoutTests/media/video-controls-rendering-toggle-display-none-expected.txt 2012-03-29 21:59:18 UTC (rev 112583)
+++ trunk/LayoutTests/media/video-controls-rendering-toggle-display-none-expected.txt 2012-03-29 22:10:07 UTC (rev 112584)
@@ -1,11 +0,0 @@
-Tests that the video controls are properly rendered when the display none is set and unset.
-
-** The volume slider has the same left offset as the mute button
-EXPECTED (volumeSliderElement.offsetLeft == muteButtonElement.offsetLeft == 'true') OK
-
-** The volume slider should be on top of the mute button **
-EXPECTED (volumeSliderElement.offsetTop < muteButtonElement.offsetTop == 'true') OK
-
-** There should be no empty space between the two controls **
-EXPECTED (volumeSliderElement.offsetTop + volumeSliderElement.offsetHeight == muteButtonElement.offsetTop == 'true') OK
-
Deleted: trunk/LayoutTests/media/video-controls-rendering-toggle-display-none.html (112583 => 112584)
--- trunk/LayoutTests/media/video-controls-rendering-toggle-display-none.html 2012-03-29 21:59:18 UTC (rev 112583)
+++ trunk/LayoutTests/media/video-controls-rendering-toggle-display-none.html 2012-03-29 22:10:07 UTC (rev 112584)
@@ -1,72 +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 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 has the same left offset as the mute button");
- testExpected("volumeSliderElement.offsetLeft == muteButtonElement.offsetLeft", true);
-
- consoleWrite("");
- consoleWrite("** The volume slider should be on top of the mute button **");
- testExpected("volumeSliderElement.offsetTop < muteButtonElement.offsetTop", true);
-
- consoleWrite("");
- consoleWrite("** There should be no empty space between the two controls **");
- testExpected("volumeSliderElement.offsetTop + volumeSliderElement.offsetHeight == 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/LayoutTests/platform/chromium/test_expectations.txt (112583 => 112584)
--- trunk/LayoutTests/platform/chromium/test_expectations.txt 2012-03-29 21:59:18 UTC (rev 112583)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt 2012-03-29 22:10:07 UTC (rev 112584)
@@ -4079,27 +4079,27 @@
BUGWK37244 : tables/mozilla/bugs/bug27038-1.html = IMAGE+TEXT
BUGWK37244 : tables/mozilla/bugs/bug27038-2.html = IMAGE+TEXT
-// Need rebaselining.
-BUGWK82515 : media/media-document-audio-repaint.html = TEXT
-BUGWK82515 : media/video-no-audio.html = TEXT
-BUGWK82515 : media/controls-strict.html = TEXT
-BUGWK82515 : media/video-volume-slider.html = TEXT
-BUGWK82515 : media/controls-styling.html = TEXT
-BUGWK82515 : media/video-display-toggle.html = TEXT
-BUGWK82515 : media/audio-repaint.html = TEXT
-BUGWK82515 : media/audio-controls-rendering.html = TEXT
-BUGWK82515 : media/video-zoom-controls.html = TEXT
-BUGWK82515 : media/video-controls-rendering.html = TEXT
-BUGWK82515 : media/controls-without-preload.html = TEXT
-BUGWK82515 : media/media-controls-clone.html = TEXT
-BUGWK82515 : fast/layers/video-layer.html = TEXT
-BUGWK82515 : media/video-empty-source.html = TEXT
-BUGWK82515 : media/video-playing-and-pause.html = TEXT
-BUGWK82515 : media/controls-after-reload.html = TEXT
-
// New test, flaky since added in r110965.
BUGWK82097 : editing/selection/move-by-word-visually-crash-test-5.html = PASS TIMEOUT
+// Need rebaselining (?)
+BUGWK82150 : media/media-document-audio-repaint.html = IMAGE+TEXT
+BUGWK82150 : media/video-no-audio.html = IMAGE+TEXT
+BUGWK82150 : media/controls-strict.html = IMAGE+TEXT
+BUGWK82150 : media/video-volume-slider.html = IMAGE+TEXT
+BUGWK82150 : media/controls-styling.html = IMAGE+TEXT
+BUGWK82150 : media/video-display-toggle.html = IMAGE+TEXT
+BUGWK82150 : media/audio-repaint.html = IMAGE+TEXT
+BUGWK82150 : media/audio-controls-rendering.html = IMAGE+TEXT
+BUGWK82150 : media/video-zoom-controls.html = IMAGE+TEXT
+BUGWK82150 : media/video-controls-rendering.html = IMAGE+TEXT
+BUGWK82150 : media/controls-without-preload.html = IMAGE+TEXT
+BUGWK82150 : media/media-controls-clone.html = IMAGE+TEXT
+BUGWK82150 : fast/layers/video-layer.html = IMAGE+TEXT
+BUGWK82150 : media/video-empty-source.html = IMAGE+TEXT
+BUGWK82150 : media/video-playing-and-pause.html = IMAGE+TEXT
+BUGWK82150 : media/controls-after-reload.html = IMAGE+TEXT
+
// Just needs a rebaseline. The iframe size is now 600x300, before it was 300x150 - as we properly zoom the default intrinsic size now.
BUGWK81631 : fast/table/quote-text-around-iframe.html = IMAGE IMAGE+TEXT PASS
// Size should be 100 now, instead of 101 - if so, only needs a rebaseline.
Modified: trunk/LayoutTests/platform/mac/Skipped (112583 => 112584)
--- trunk/LayoutTests/platform/mac/Skipped 2012-03-29 21:59:18 UTC (rev 112583)
+++ trunk/LayoutTests/platform/mac/Skipped 2012-03-29 22:10:07 UTC (rev 112584)
@@ -635,25 +635,6 @@
# Spelling tests that are flakey. https://bugs.webkit.org/show_bug.cgi?id=82555
editing/spelling/spellcheck-async-mutation.html
-# Need rebaselining after http://trac.webkit.org/changeset/112484
-# https://bugs.webkit.org/show_bug.cgi?id=82626 Rebaseline media elements tests after r112484
-media/media-document-audio-repaint.html
-media/video-no-audio.html
-media/controls-strict.html
-media/video-volume-slider.html
-media/controls-styling.html
-media/video-display-toggle.html
-media/audio-repaint.html
-media/audio-controls-rendering.html
-media/video-zoom-controls.html
-media/video-controls-rendering.html
-media/controls-without-preload.html
-media/media-controls-clone.html
-fast/layers/video-layer.html
-media/video-empty-source.html
-media/video-playing-and-pause.html
-media/controls-after-reload.html
-
# Remove from the skipped list when https://bugs.webkit.org/show_bug.cgi?id=82660 is fixed.
fast/workers/empty-worker-nocrash.html
fast/workers/shared-worker-constructor.html
Modified: trunk/Source/WebCore/ChangeLog (112583 => 112584)
--- trunk/Source/WebCore/ChangeLog 2012-03-29 21:59:18 UTC (rev 112583)
+++ trunk/Source/WebCore/ChangeLog 2012-03-29 22:10:07 UTC (rev 112584)
@@ -1,3 +1,30 @@
+2012-03-29 Dirk Pranke <[email protected]>
+
+ rollout r112484, r112545, r112574
+ https://bugs.webkit.org/show_bug.cgi?id=82662
+
+ Unreviewed, build fix.
+
+ this appears to be producing some questionable differences on
+ the apple mac bots, and possibly one test on chromium linux.
+
+ * css/mediaControls.css:
+ (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
+ * 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):
+ * html/shadow/MediaControlElements.cpp:
+ (RenderMediaVolumeSliderContainer):
+ (WebCore):
+ (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
+ (WebCore::RenderMediaVolumeSliderContainer::layout):
+ (WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
+ * html/shadow/MediaControlElements.h:
+ (MediaControlVolumeSliderContainerElement):
+ * html/shadow/MediaControlRootElementChromium.cpp:
+ (WebCore::MediaControlRootElementChromium::create):
+
2012-03-29 Julien Chaffraix <[email protected]>
REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il
Modified: trunk/Source/WebCore/css/mediaControls.css (112583 => 112584)
--- trunk/Source/WebCore/css/mediaControls.css 2012-03-29 21:59:18 UTC (rev 112583)
+++ trunk/Source/WebCore/css/mediaControls.css 2012-03-29 22:10:07 UTC (rev 112584)
@@ -47,8 +47,7 @@
audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel {
display: -webkit-box;
-webkit-box-orient: horizontal;
- -webkit-box-align: end;
- -webkit-box-pack: end;
+ -webkit-box-align: center;
-webkit-user-select: none;
position: relative;
bottom: 0;
Modified: trunk/Source/WebCore/css/mediaControlsChromium.css (112583 => 112584)
--- trunk/Source/WebCore/css/mediaControlsChromium.css 2012-03-29 21:59:18 UTC (rev 112583)
+++ trunk/Source/WebCore/css/mediaControlsChromium.css 2012-03-29 22:10:07 UTC (rev 112584)
@@ -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;
@@ -57,7 +56,7 @@
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;
@@ -150,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/html/shadow/MediaControlElements.cpp (112583 => 112584)
--- trunk/Source/WebCore/html/shadow/MediaControlElements.cpp 2012-03-29 21:59:18 UTC (rev 112583)
+++ trunk/Source/WebCore/html/shadow/MediaControlElements.cpp 2012-03-29 22:10:07 UTC (rev 112584)
@@ -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 (112583 => 112584)
--- trunk/Source/WebCore/html/shadow/MediaControlElements.h 2012-03-29 21:59:18 UTC (rev 112583)
+++ trunk/Source/WebCore/html/shadow/MediaControlElements.h 2012-03-29 22:10:07 UTC (rev 112584)
@@ -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/MediaControlRootElementChromium.cpp (112583 => 112584)
--- trunk/Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp 2012-03-29 21:59:18 UTC (rev 112583)
+++ trunk/Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp 2012-03-29 22:10:07 UTC (rev 112584)
@@ -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)