Changeset 116900 in webkit
- Timestamp:
- May 13, 2012 12:11:51 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r116864 r116900 1 2012-05-13 Victor Carbune <vcarbune@adobe.com> 2 3 Volume slider needs to be displayed below the mute button 4 https://bugs.webkit.org/show_bug.cgi?id=85990 5 6 Reviewed by Dimitri Glazkov. 7 8 Updated tests expectation and marked failing tests accordingly. 9 10 * media/media-volume-slider-rendered-below.html: Added. 11 * media/media-volume-slider-rendered-expected.txt: Added. 12 * platform/chromium/test_expectations.txt: Updated. 13 * platform/mac/media/audio-controls-rendering-expected.txt: Updated (z-index change). 14 * platform/mac/media/controls-after-reload-expected.txt: Same. 15 * platform/mac/media/controls-strict-expected.txt: Same. 16 * platform/mac/media/video-controls-rendering-expected.txt: Same. 17 * platform/mac/media/video-display-toggle-expected.txt: Same. 18 * platform/mac/media/video-playing-and-pause-expected.txt: Same. 19 * platform/mac/test_expectations.txt: Updated. 20 1 21 2012-05-12 Abhishek Arya <inferno@chromium.org> 2 22 -
trunk/LayoutTests/platform/chromium/test_expectations.txt
r116849 r116900 3048 3048 BUGWK83882 : media/track/track-mode.html = PASS TEXT TIMEOUT 3049 3049 3050 BUGWK85990 : media/video-controls-rendering-toggle-display-none.html = TEXT 3051 BUGWK85990 : media/video-controls-toggling.html = TIMEOUT 3052 3053 // Needs rebaseline. 3054 BUGWK85990 : media/video-volume-slider.html = TEXT 3055 3050 3056 BUGWK72271 MAC DEBUG : fast/loader/javascript-url-in-embed.html = PASS CRASH 3051 3057 BUGWK72271 SNOWLEOPARD DEBUG : fast/dom/node-iterator-reference-node-moved-crash.html = PASS CRASH -
trunk/LayoutTests/platform/mac/media/audio-controls-rendering-expected.txt
r115885 r116900 30 30 RenderBlock (relative positioned) {DIV} at (0,0) size 10x8 31 31 layer at (185,48) size 14x12 32 RenderButton zI: 2{INPUT} at (2,0) size 14x1232 RenderButton zI: 1 {INPUT} at (2,0) size 14x12 33 33 layer at (8,85) size 320x25 34 34 RenderDeprecatedFlexibleBox (relative positioned) {DIV} at (0,0) size 320x25 … … 56 56 RenderBlock (relative positioned) {DIV} at (0,0) size 10x8 57 57 layer at (305,91) size 14x12 58 RenderButton zI: 2{INPUT} at (2,0) size 14x1258 RenderButton zI: 1 {INPUT} at (2,0) size 14x12 59 59 layer at (8,128) size 320x100 60 60 RenderMedia {AUDIO} at (8,128) size 320x100 [bgcolor=#0000FF] … … 84 84 RenderBlock (relative positioned) {DIV} at (0,0) size 10x8 85 85 layer at (305,209) size 14x12 86 RenderButton zI: 2{INPUT} at (2,0) size 14x1286 RenderButton zI: 1 {INPUT} at (2,0) size 14x12 -
trunk/LayoutTests/platform/mac/media/controls-after-reload-expected.txt
r115879 r116900 37 37 RenderBlock (relative positioned) {DIV} at (0,0) size 10x8 38 38 layer at (275,263) size 14x12 39 RenderButton zI: 2{INPUT} at (2,0) size 14x1239 RenderButton zI: 1 {INPUT} at (2,0) size 14x12 -
trunk/LayoutTests/platform/mac/media/controls-strict-expected.txt
r115879 r116900 37 37 RenderBlock (relative positioned) {DIV} at (0,0) size 10x8 38 38 layer at (275,271) size 14x12 39 RenderButton zI: 2{INPUT} at (2,0) size 14x1239 RenderButton zI: 1 {INPUT} at (2,0) size 14x12 -
trunk/LayoutTests/platform/mac/media/video-controls-rendering-expected.txt
r115879 r116900 42 42 RenderBlock (relative positioned) {DIV} at (0,0) size 10x8 43 43 layer at (275,263) size 14x12 44 RenderButton zI: 2{INPUT} at (2,0) size 14x1244 RenderButton zI: 1 {INPUT} at (2,0) size 14x12 45 45 layer at (8,282) size 320x240 46 46 RenderDeprecatedFlexibleBox (relative positioned) {DIV} at (0,0) size 320x240 … … 69 69 RenderBlock (relative positioned) {DIV} at (0,0) size 10x8 70 70 layer at (275,503) size 14x12 71 RenderButton zI: 2{INPUT} at (2,0) size 14x1271 RenderButton zI: 1 {INPUT} at (2,0) size 14x12 72 72 layer at (8,522) size 320x240 73 73 RenderVideo {VIDEO} at (8,522) size 320x240 … … 98 98 RenderBlock (relative positioned) {DIV} at (0,0) size 10x8 99 99 layer at (275,743) size 14x12 100 RenderButton zI: 2{INPUT} at (2,0) size 14x12100 RenderButton zI: 1 {INPUT} at (2,0) size 14x12 -
trunk/LayoutTests/platform/mac/media/video-display-toggle-expected.txt
r115879 r116900 36 36 RenderBlock (relative positioned) {DIV} at (0,0) size 10x8 37 37 layer at (275,247) size 14x12 38 RenderButton zI: 2{INPUT} at (2,0) size 14x1238 RenderButton zI: 1 {INPUT} at (2,0) size 14x12 -
trunk/LayoutTests/platform/mac/media/video-playing-and-pause-expected.txt
r115879 r116900 38 38 RenderBlock (relative positioned) {DIV} at (0,0) size 10x8 39 39 layer at (275,289) size 14x12 40 RenderButton zI: 2{INPUT} at (2,0) size 14x1240 RenderButton zI: 1 {INPUT} at (2,0) size 14x12 -
trunk/LayoutTests/platform/mac/test_expectations.txt
r116808 r116900 205 205 BUGWK85689 SKIP : fast/animation/request-animation-frame-disabled.html = TEXT 206 206 207 BUGWK85990 : media/video-controls-rendering-toggle-display-none.html = TEXT 208 BUGWK85990 : media/video-controls-toggling.html = TIMEOUT TEXT 209 207 210 BUGWK85308 : ietestcenter/css3/valuesandunits/units-000.htm = IMAGE 208 211 BUGWK85310 : ietestcenter/css3/valuesandunits/units-010.htm = IMAGE -
trunk/Source/WebCore/ChangeLog
r116899 r116900 1 2012-05-13 Victor Carbune <vcarbune@adobe.com> 2 3 Volume slider needs to be displayed below the mute button 4 https://bugs.webkit.org/show_bug.cgi?id=85990 5 6 Reviewed by Dimitri Glazkov. 7 8 Added back code for rendering offset, but used only when the volume slider 9 needs to be displayed below the controls. 10 11 Test: media/media-volume-slider-rendered-below.html 12 13 * css/mediaControlsChromium.css: 14 (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container): 15 Changed positioning of the slider to absolute, otherwise it is not possible to position it from the layout() method. 16 * css/mediaControlsQuickTime.css: 17 Added back the double mute-button and changed the z-index of the original button. When the slider is displayed 18 the second mute button is actually there. 19 (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): 20 (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container): 21 (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): 22 Added copy. 23 * html/shadow/MediaControlElements.cpp: 24 (WebCore::MediaControlPanelElement::makeTransparent): Disabled the possible of hiding controls. WebVTT rendering 25 in the place of controls when these are visible is not possible with the current code. 26 (RenderMediaVolumeSliderContainer): 27 (WebCore): 28 (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): 29 (WebCore::RenderMediaVolumeSliderContainer::layout): 30 Checked if the absolute coordinates of the corner of the slider would be rendered outside the page. This part of the 31 code is faulty if display:none is toggled on the controls. 32 (WebCore::MediaControlVolumeSliderContainerElement::createRenderer): 33 * html/shadow/MediaControlElements.h: 34 (MediaControlVolumeSliderContainerElement): 35 * html/shadow/MediaControlRootElement.cpp: 36 (WebCore::MediaControlRootElement::create): 37 1 38 2012-05-13 Igor Oliveira <igor.o@sisa.samsung.com> 2 39 -
trunk/Source/WebCore/css/mediaControlsChromium.css
r114957 r116900 155 155 audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container { 156 156 -webkit-appearance: media-volume-slider-container; 157 position: relative; 157 position: absolute; 158 bottom: 32px; 158 159 159 160 width: 34px; -
trunk/Source/WebCore/css/mediaControlsQuickTime.css
r114957 r116900 51 51 52 52 position: relative; 53 z-index: 2;53 z-index: 1; 54 54 } 55 55 … … 205 205 206 206 bottom: 0px; 207 z-index: 1;207 z-index: 2; 208 208 209 209 width: 22px; … … 222 222 height: 80px; 223 223 } 224 225 audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button { 226 -webkit-appearance: media-volume-slider-mute-button; 227 display: inline; 228 229 position: absolute; 230 231 bottom: 7px; 232 left: 0px; 233 234 width: 14px; 235 height: 12px; 236 237 margin-left: 2px; 238 margin-right: 9px; 239 240 border: none !important; 241 } -
trunk/Source/WebCore/html/shadow/MediaControlElements.cpp
r115215 r116900 257 257 258 258 m_opaque = false; 259 260 startTimer();261 259 } 262 260 … … 323 321 // ---------------------------- 324 322 323 class RenderMediaVolumeSliderContainer : public RenderBlock { 324 public: 325 RenderMediaVolumeSliderContainer(Node*); 326 327 private: 328 virtual void layout(); 329 }; 330 331 RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer(Node* node) 332 : RenderBlock(node) 333 { 334 } 335 336 void RenderMediaVolumeSliderContainer::layout() 337 { 338 RenderBlock::layout(); 339 340 if (style()->display() == NONE || !nextSibling() || !nextSibling()->isBox()) 341 return; 342 343 RenderBox* buttonBox = toRenderBox(nextSibling()); 344 int absoluteOffsetTop = buttonBox->localToAbsolute(FloatPoint(0, -size().height())).y(); 345 346 LayoutStateDisabler layoutStateDisabler(view()); 347 348 // If the slider would be rendered outside the page, it should be moved below the controls. 349 if (UNLIKELY(absoluteOffsetTop < 0)) 350 setY(buttonBox->offsetTop() + theme()->volumeSliderOffsetFromMuteButton(buttonBox, pixelSnappedSize()).y()); 351 } 352 325 353 inline MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement(Document* document) 326 354 : MediaControlElement(document) … … 333 361 element->hide(); 334 362 return element.release(); 363 } 364 365 RenderObject* MediaControlVolumeSliderContainerElement::createRenderer(RenderArena* arena, RenderStyle*) 366 { 367 return new (arena) RenderMediaVolumeSliderContainer(this); 335 368 } 336 369 -
trunk/Source/WebCore/html/shadow/MediaControlElements.h
r115125 r116900 162 162 private: 163 163 MediaControlVolumeSliderContainerElement(Document*); 164 virtual RenderObject* createRenderer(RenderArena*, RenderStyle*); 164 165 virtual void defaultEventHandler(Event*); 165 166 virtual MediaControlElementType displayType() const; -
trunk/Source/WebCore/html/shadow/MediaControlRootElement.cpp
r115125 r116900 184 184 controls->m_volumeSlider = slider.get(); 185 185 volumeSliderContainer->appendChild(slider.release(), ec, true); 186 if (ec) 187 return 0; 188 189 // This is a duplicate mute button, which is visible in some ports at the bottom of the volume bar. 190 // It's important only when the volume bar is displayed below the controls. 191 RefPtr<MediaControlVolumeSliderMuteButtonElement> volumeSliderMuteButton = MediaControlVolumeSliderMuteButtonElement::create(document); 192 controls->m_volumeSliderMuteButton = volumeSliderMuteButton.get(); 193 volumeSliderContainer->appendChild(volumeSliderMuteButton.release(), ec, true); 194 186 195 if (ec) 187 196 return 0;
Note: See TracChangeset
for help on using the changeset viewer.