[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198
carlosgc at webkit.org
carlosgc at webkit.org
Sun Feb 20 22:57:40 UTC 2011
The following commit has been merged in the webkit-1.3 branch:
commit a5e5328b03aef730c75eaac38601619ddbbadb62
Author: carlosgc at webkit.org <carlosgc at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Jan 14 17:27:45 2011 +0000
2011-01-14 Philippe Normand <pnormand at igalia.com>
Reviewed by Martin Robinson.
[GTK] Add volume slider to media player
https://bugs.webkit.org/show_bug.cgi?id=51532
* platform/gtk/Skipped:
* platform/gtk/media/audio-controls-rendering-expected.txt:
* platform/gtk/media/controls-after-reload-expected.txt:
* platform/gtk/media/controls-strict-expected.txt:
* platform/gtk/media/controls-styling-expected.txt:
* platform/gtk/media/video-controls-rendering-expected.txt:
* platform/gtk/media/video-display-toggle-expected.txt:
* platform/gtk/media/video-empty-source-expected.txt:
* platform/gtk/media/video-no-audio-expected.txt:
* platform/gtk/media/video-volume-slider-expected.txt: Added.
2011-01-14 Carlos Garcia Campos <cgarcia at igalia.com>
Reviewed by Martin Robinson.
[GTK] Add volume slider to media player
https://bugs.webkit.org/show_bug.cgi?id=51532
* css/mediaControlsGtk.css:
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
* platform/gtk/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
(WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer):
(WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
(WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb):
* platform/gtk/RenderThemeGtk.h:
* platform/gtk/RenderThemeGtk2.cpp:
(WebCore::RenderThemeGtk::paintSliderTrack):
(WebCore::RenderThemeGtk::paintSliderThumb):
(WebCore::RenderThemeGtk::adjustSliderThumbSize):
* platform/gtk/RenderThemeGtk3.cpp:
(WebCore::RenderThemeGtk::paintSliderTrack):
(WebCore::RenderThemeGtk::paintSliderThumb):
(WebCore::RenderThemeGtk::adjustSliderThumbSize):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index e74d2f4..b47f27d 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,21 @@
+2011-01-14 Philippe Normand <pnormand at igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Add volume slider to media player
+ https://bugs.webkit.org/show_bug.cgi?id=51532
+
+ * platform/gtk/Skipped:
+ * platform/gtk/media/audio-controls-rendering-expected.txt:
+ * platform/gtk/media/controls-after-reload-expected.txt:
+ * platform/gtk/media/controls-strict-expected.txt:
+ * platform/gtk/media/controls-styling-expected.txt:
+ * platform/gtk/media/video-controls-rendering-expected.txt:
+ * platform/gtk/media/video-display-toggle-expected.txt:
+ * platform/gtk/media/video-empty-source-expected.txt:
+ * platform/gtk/media/video-no-audio-expected.txt:
+ * platform/gtk/media/video-volume-slider-expected.txt: Added.
+
2011-01-14 Michael Saboff <msaboff at apple.com>
Reviewed by Oliver Hunt.
diff --git a/LayoutTests/platform/gtk/Skipped b/LayoutTests/platform/gtk/Skipped
index 2bb9ec4..e309ee3 100644
--- a/LayoutTests/platform/gtk/Skipped
+++ b/LayoutTests/platform/gtk/Skipped
@@ -2846,8 +2846,6 @@ media/video-display-toggle.html
# Tests generating new results
media/video-aspect-ratio.html
-# This test requires media controls has a volume slider.
-media/video-volume-slider.html
# Requires media engine closed caption support
media/media-captions.html
diff --git a/LayoutTests/platform/gtk/media/audio-controls-rendering-expected.txt b/LayoutTests/platform/gtk/media/audio-controls-rendering-expected.txt
index 2143e91..2352087 100644
--- a/LayoutTests/platform/gtk/media/audio-controls-rendering-expected.txt
+++ b/LayoutTests/platform/gtk/media/audio-controls-rendering-expected.txt
@@ -48,16 +48,16 @@ layer at (8,121) size 320x100
RenderMedia {AUDIO} at (8,121) size 320x100 [bgcolor=#0000FF]
layer at (8,121) size 320x100
RenderBlock (relative positioned) {DIV} at (0,0) size 320x100
-layer at (8,201) size 320x20 scrollHeight 30
- RenderFlexibleBox (positioned) {DIV} at (0,80) size 320x20
- RenderButton {INPUT} at (0,0) size 20x20
- RenderFlexibleBox {DIV} at (20,0) size 240x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
+layer at (8,121) size 320x100 scrollHeight 110
+ RenderFlexibleBox (positioned) {DIV} at (0,0) size 320x100
+ RenderButton {INPUT} at (0,80) size 20x20
+ RenderFlexibleBox {DIV} at (20,80) size 240x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
RenderBlock (anonymous) at (1,0) size 65x30
RenderBlock {DIV} at (0,0) size 65x30
RenderText {#text} at (5,5) size 55x12
text run at (5,5) width 55: "00:00 / 00:07"
RenderSlider {INPUT} at (66,0) size 173x20
RenderBlock {DIV} at (2,4) size 12x12
- RenderButton {INPUT} at (260,0) size 20x20
- RenderButton {INPUT} at (280,0) size 20x20
- RenderButton {INPUT} at (300,0) size 20x20
+ RenderButton {INPUT} at (260,80) size 20x20
+ RenderButton {INPUT} at (280,80) size 20x20
+ RenderButton {INPUT} at (300,80) size 20x20
diff --git a/LayoutTests/platform/gtk/media/controls-after-reload-expected.txt b/LayoutTests/platform/gtk/media/controls-after-reload-expected.txt
index e052c9d..3ae8c64 100644
--- a/LayoutTests/platform/gtk/media/controls-after-reload-expected.txt
+++ b/LayoutTests/platform/gtk/media/controls-after-reload-expected.txt
@@ -12,17 +12,17 @@ layer at (8,43) size 320x240
RenderVideo {VIDEO} at (0,0) size 320x240
layer at (8,43) size 320x240
RenderBlock (relative positioned) {DIV} at (0,0) size 320x240
-layer at (8,263) size 320x20 scrollHeight 30
- RenderFlexibleBox (positioned) {DIV} at (0,220) size 320x20
- RenderButton {INPUT} at (0,0) size 20x20
- RenderFlexibleBox {DIV} at (20,0) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
+layer at (8,43) size 320x240 scrollHeight 250
+ RenderFlexibleBox (positioned) {DIV} at (0,0) size 320x240
+ RenderButton {INPUT} at (0,220) size 20x20
+ RenderFlexibleBox {DIV} at (20,220) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
RenderBlock (anonymous) at (1,0) size 65x30
RenderBlock {DIV} at (0,0) size 65x30
RenderText {#text} at (5,5) size 55x12
- text run at (5,5) width 55: "00:00 / 00:00"
+ text run at (5,5) width 55: "00:00 / 00:06"
RenderSlider {INPUT} at (66,0) size 153x20
RenderBlock {DIV} at (2,4) size 12x12
- RenderButton {INPUT} at (240,0) size 20x20
- RenderButton {INPUT} at (260,0) size 20x20
- RenderButton {INPUT} at (280,0) size 20x20
- RenderButton {INPUT} at (300,0) size 20x20
+ RenderButton {INPUT} at (240,220) size 20x20
+ RenderButton {INPUT} at (260,220) size 20x20
+ RenderButton {INPUT} at (280,220) size 20x20
+ RenderButton {INPUT} at (300,220) size 20x20
diff --git a/LayoutTests/platform/gtk/media/controls-strict-expected.txt b/LayoutTests/platform/gtk/media/controls-strict-expected.txt
index c234269..0fcaf7a 100644
--- a/LayoutTests/platform/gtk/media/controls-strict-expected.txt
+++ b/LayoutTests/platform/gtk/media/controls-strict-expected.txt
@@ -12,17 +12,17 @@ layer at (8,51) size 320x240
RenderVideo {VIDEO} at (0,0) size 320x240
layer at (8,51) size 320x240
RenderBlock (relative positioned) {DIV} at (0,0) size 320x240
-layer at (8,271) size 320x20 scrollHeight 31
- RenderFlexibleBox (positioned) {DIV} at (0,220) size 320x20
- RenderButton {INPUT} at (0,0) size 20x20
- RenderFlexibleBox {DIV} at (20,0) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
+layer at (8,51) size 320x240 scrollHeight 251
+ RenderFlexibleBox (positioned) {DIV} at (0,0) size 320x240
+ RenderButton {INPUT} at (0,220) size 20x20
+ RenderFlexibleBox {DIV} at (20,220) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
RenderBlock (anonymous) at (1,0) size 65x31
RenderBlock {DIV} at (0,1) size 65x30
RenderText {#text} at (5,5) size 55x12
text run at (5,5) width 55: "00:00 / 00:06"
RenderSlider {INPUT} at (66,0) size 153x20
RenderBlock {DIV} at (2,4) size 12x12
- RenderButton {INPUT} at (240,0) size 20x20
- RenderButton {INPUT} at (260,0) size 20x20
- RenderButton {INPUT} at (280,0) size 20x20
- RenderButton {INPUT} at (300,0) size 20x20
+ RenderButton {INPUT} at (240,220) size 20x20
+ RenderButton {INPUT} at (260,220) size 20x20
+ RenderButton {INPUT} at (280,220) size 20x20
+ RenderButton {INPUT} at (300,220) size 20x20
diff --git a/LayoutTests/platform/gtk/media/controls-styling-expected.txt b/LayoutTests/platform/gtk/media/controls-styling-expected.txt
index 71f0af5..67f155c 100644
--- a/LayoutTests/platform/gtk/media/controls-styling-expected.txt
+++ b/LayoutTests/platform/gtk/media/controls-styling-expected.txt
@@ -16,10 +16,10 @@ layer at (8,283) size 320x240
RenderVideo {VIDEO} at (0,0) size 320x240
layer at (18,43) size 320x240
RenderBlock (relative positioned) {DIV} at (0,0) size 320x240
-layer at (18,263) size 320x20 scrollHeight 261
- RenderFlexibleBox (positioned) {DIV} at (0,220) size 320x20
- RenderButton {INPUT} at (0,0) size 20x20
- RenderFlexibleBox {DIV} at (20,0) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
+layer at (18,43) size 320x240 scrollHeight 481
+ RenderFlexibleBox (positioned) {DIV} at (0,0) size 320x240
+ RenderButton {INPUT} at (0,220) size 20x20
+ RenderFlexibleBox {DIV} at (20,220) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
RenderBlock (anonymous) at (1,0) size 218x30
RenderBlock {DIV} at (10,0) size 218x30
RenderText {#text} at (27,49) size 178x212
@@ -28,23 +28,23 @@ layer at (18,263) size 320x20 scrollHeight 261
text run at (22,249) width 173: "00:06"
RenderSlider {INPUT} at (219,0) size 4x20
RenderBlock {DIV} at (2,4) size 12x12
- RenderButton {INPUT} at (240,0) size 20x20
- RenderButton {INPUT} at (260,0) size 20x20
- RenderButton {INPUT} at (280,0) size 20x20
- RenderButton {INPUT} at (300,0) size 20x20
+ RenderButton {INPUT} at (240,220) size 20x20
+ RenderButton {INPUT} at (260,220) size 20x20
+ RenderButton {INPUT} at (280,220) size 20x20
+ RenderButton {INPUT} at (300,220) size 20x20
layer at (8,283) size 320x240
RenderBlock (relative positioned) {DIV} at (0,0) size 320x240
-layer at (8,503) size 320x20 scrollHeight 30
- RenderFlexibleBox (positioned) {DIV} at (0,220) size 320x20
- RenderButton {INPUT} at (0,0) size 20x20
- RenderFlexibleBox {DIV} at (20,0) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
+layer at (8,283) size 320x240 scrollHeight 250
+ RenderFlexibleBox (positioned) {DIV} at (0,0) size 320x240
+ RenderButton {INPUT} at (0,220) size 20x20
+ RenderFlexibleBox {DIV} at (20,220) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
RenderBlock (anonymous) at (1,0) size 65x30
RenderBlock {DIV} at (0,0) size 65x30
RenderText {#text} at (5,5) size 55x12
text run at (5,5) width 55: "00:00 / 00:06"
RenderSlider {INPUT} at (66,0) size 153x20
RenderBlock {DIV} at (2,4) size 12x12
- RenderButton {INPUT} at (240,0) size 20x20
- RenderButton {INPUT} at (260,0) size 20x20
- RenderButton {INPUT} at (280,0) size 20x20
- RenderButton {INPUT} at (300,0) size 20x20
+ RenderButton {INPUT} at (240,220) size 20x20
+ RenderButton {INPUT} at (260,220) size 20x20
+ RenderButton {INPUT} at (280,220) size 20x20
+ RenderButton {INPUT} at (300,220) size 20x20
diff --git a/LayoutTests/platform/gtk/media/video-controls-rendering-expected.txt b/LayoutTests/platform/gtk/media/video-controls-rendering-expected.txt
index ecc1156..7e8607d 100644
--- a/LayoutTests/platform/gtk/media/video-controls-rendering-expected.txt
+++ b/LayoutTests/platform/gtk/media/video-controls-rendering-expected.txt
@@ -17,51 +17,51 @@ layer at (8,283) size 320x240
RenderVideo {VIDEO} at (0,0) size 320x240
layer at (8,43) size 320x240
RenderBlock (relative positioned) {DIV} at (0,0) size 320x240
-layer at (8,263) size 320x20 scrollHeight 30
- RenderFlexibleBox (positioned) {DIV} at (0,220) size 320x20
- RenderButton {INPUT} at (0,0) size 20x20
- RenderFlexibleBox {DIV} at (20,0) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
+layer at (8,43) size 320x240 scrollHeight 250
+ RenderFlexibleBox (positioned) {DIV} at (0,0) size 320x240
+ RenderButton {INPUT} at (0,220) size 20x20
+ RenderFlexibleBox {DIV} at (20,220) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
RenderBlock (anonymous) at (1,0) size 65x30
RenderBlock {DIV} at (0,0) size 65x30
RenderText {#text} at (5,5) size 55x12
text run at (5,5) width 55: "00:00 / 00:06"
RenderSlider {INPUT} at (66,0) size 153x20
RenderBlock {DIV} at (2,4) size 12x12
- RenderButton {INPUT} at (240,0) size 20x20
- RenderButton {INPUT} at (260,0) size 20x20
- RenderButton {INPUT} at (280,0) size 20x20
- RenderButton {INPUT} at (300,0) size 20x20
+ RenderButton {INPUT} at (240,220) size 20x20
+ RenderButton {INPUT} at (260,220) size 20x20
+ RenderButton {INPUT} at (280,220) size 20x20
+ RenderButton {INPUT} at (300,220) size 20x20
layer at (8,283) size 320x240
RenderBlock (relative positioned) {DIV} at (0,0) size 320x240
-layer at (8,503) size 320x20 scrollHeight 30
- RenderFlexibleBox (positioned) {DIV} at (0,220) size 320x20
- RenderButton {INPUT} at (0,0) size 20x20
- RenderFlexibleBox {DIV} at (20,0) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
+layer at (8,283) size 320x240 scrollHeight 250
+ RenderFlexibleBox (positioned) {DIV} at (0,0) size 320x240
+ RenderButton {INPUT} at (0,220) size 20x20
+ RenderFlexibleBox {DIV} at (20,220) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
RenderBlock (anonymous) at (1,0) size 65x30
RenderBlock {DIV} at (0,0) size 65x30
RenderText {#text} at (5,5) size 55x12
text run at (5,5) width 55: "00:00 / 00:06"
RenderSlider {INPUT} at (66,0) size 153x20
RenderBlock {DIV} at (2,4) size 12x12
- RenderButton {INPUT} at (240,0) size 20x20
- RenderButton {INPUT} at (260,0) size 20x20
- RenderButton {INPUT} at (280,0) size 20x20
- RenderButton {INPUT} at (300,0) size 20x20
+ RenderButton {INPUT} at (240,220) size 20x20
+ RenderButton {INPUT} at (260,220) size 20x20
+ RenderButton {INPUT} at (280,220) size 20x20
+ RenderButton {INPUT} at (300,220) size 20x20
layer at (8,523) size 320x240
RenderVideo {VIDEO} at (8,523) size 320x240
layer at (8,523) size 320x240
RenderBlock (relative positioned) {DIV} at (0,0) size 320x240
-layer at (8,743) size 320x20 scrollHeight 30
- RenderFlexibleBox (positioned) {DIV} at (0,220) size 320x20
- RenderButton {INPUT} at (0,0) size 20x20
- RenderFlexibleBox {DIV} at (20,0) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
+layer at (8,523) size 320x240 scrollHeight 250
+ RenderFlexibleBox (positioned) {DIV} at (0,0) size 320x240
+ RenderButton {INPUT} at (0,220) size 20x20
+ RenderFlexibleBox {DIV} at (20,220) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
RenderBlock (anonymous) at (1,0) size 65x30
RenderBlock {DIV} at (0,0) size 65x30
RenderText {#text} at (5,5) size 55x12
text run at (5,5) width 55: "00:00 / 00:06"
RenderSlider {INPUT} at (66,0) size 153x20
RenderBlock {DIV} at (2,4) size 12x12
- RenderButton {INPUT} at (240,0) size 20x20
- RenderButton {INPUT} at (260,0) size 20x20
- RenderButton {INPUT} at (280,0) size 20x20
- RenderButton {INPUT} at (300,0) size 20x20
+ RenderButton {INPUT} at (240,220) size 20x20
+ RenderButton {INPUT} at (260,220) size 20x20
+ RenderButton {INPUT} at (280,220) size 20x20
+ RenderButton {INPUT} at (300,220) size 20x20
diff --git a/LayoutTests/platform/gtk/media/video-display-toggle-expected.txt b/LayoutTests/platform/gtk/media/video-display-toggle-expected.txt
index f4023e7..fd126f3 100644
--- a/LayoutTests/platform/gtk/media/video-display-toggle-expected.txt
+++ b/LayoutTests/platform/gtk/media/video-display-toggle-expected.txt
@@ -11,17 +11,17 @@ layer at (8,27) size 320x240
RenderVideo {VIDEO} at (0,19) size 320x240
layer at (8,27) size 320x240
RenderBlock (relative positioned) {DIV} at (0,0) size 320x240
-layer at (8,247) size 320x20 scrollHeight 30
- RenderFlexibleBox (positioned) {DIV} at (0,220) size 320x20
- RenderButton {INPUT} at (0,0) size 20x20
- RenderFlexibleBox {DIV} at (20,0) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
+layer at (8,27) size 320x240 scrollHeight 250
+ RenderFlexibleBox (positioned) {DIV} at (0,0) size 320x240
+ RenderButton {INPUT} at (0,220) size 20x20
+ RenderFlexibleBox {DIV} at (20,220) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
RenderBlock (anonymous) at (1,0) size 65x30
RenderBlock {DIV} at (0,0) size 65x30
RenderText {#text} at (5,5) size 55x12
text run at (5,5) width 55: "00:00 / 00:06"
RenderSlider {INPUT} at (66,0) size 153x20
RenderBlock {DIV} at (2,4) size 12x12
- RenderButton {INPUT} at (240,0) size 20x20
- RenderButton {INPUT} at (260,0) size 20x20
- RenderButton {INPUT} at (280,0) size 20x20
- RenderButton {INPUT} at (300,0) size 20x20
+ RenderButton {INPUT} at (240,220) size 20x20
+ RenderButton {INPUT} at (260,220) size 20x20
+ RenderButton {INPUT} at (280,220) size 20x20
+ RenderButton {INPUT} at (300,220) size 20x20
diff --git a/LayoutTests/platform/gtk/media/video-empty-source-expected.txt b/LayoutTests/platform/gtk/media/video-empty-source-expected.txt
index b4b8751..81435b6 100644
--- a/LayoutTests/platform/gtk/media/video-empty-source-expected.txt
+++ b/LayoutTests/platform/gtk/media/video-empty-source-expected.txt
@@ -12,15 +12,15 @@ layer at (8,43) size 302x152
RenderVideo {VIDEO} at (0,0) size 302x152 [border: (1px solid #000000)]
layer at (9,44) size 300x150
RenderBlock (relative positioned) {DIV} at (1,1) size 300x150
-layer at (9,174) size 300x20 scrollHeight 30
- RenderFlexibleBox (positioned) {DIV} at (0,130) size 300x20
- RenderButton {INPUT} at (0,0) size 20x20
- RenderFlexibleBox {DIV} at (20,0) size 240x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
+layer at (9,44) size 300x150 scrollHeight 160
+ RenderFlexibleBox (positioned) {DIV} at (0,0) size 300x150
+ RenderButton {INPUT} at (0,130) size 20x20
+ RenderFlexibleBox {DIV} at (20,130) size 240x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
RenderBlock (anonymous) at (1,0) size 65x30
RenderBlock {DIV} at (0,0) size 65x30
RenderText {#text} at (5,5) size 55x12
text run at (5,5) width 55: "00:00 / 00:00"
RenderSlider {INPUT} at (66,0) size 173x20
RenderBlock {DIV} at (2,4) size 12x12
- RenderButton {INPUT} at (260,0) size 20x20
- RenderButton {INPUT} at (280,0) size 20x20
+ RenderButton {INPUT} at (260,130) size 20x20
+ RenderButton {INPUT} at (280,130) size 20x20
diff --git a/LayoutTests/platform/gtk/media/video-no-audio-expected.txt b/LayoutTests/platform/gtk/media/video-no-audio-expected.txt
index c15a5a7..4e86deb 100644
--- a/LayoutTests/platform/gtk/media/video-no-audio-expected.txt
+++ b/LayoutTests/platform/gtk/media/video-no-audio-expected.txt
@@ -12,16 +12,16 @@ layer at (8,43) size 352x288
RenderVideo {VIDEO} at (0,0) size 352x288
layer at (8,43) size 352x288
RenderBlock (relative positioned) {DIV} at (0,0) size 352x288
-layer at (8,311) size 352x20 scrollHeight 30
- RenderFlexibleBox (positioned) {DIV} at (0,268) size 352x20
- RenderButton {INPUT} at (0,0) size 20x20
- RenderFlexibleBox {DIV} at (20,0) size 272x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
+layer at (8,43) size 352x288 scrollHeight 298
+ RenderFlexibleBox (positioned) {DIV} at (0,0) size 352x288
+ RenderButton {INPUT} at (0,268) size 20x20
+ RenderFlexibleBox {DIV} at (20,268) size 272x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
RenderBlock (anonymous) at (1,0) size 65x30
RenderBlock {DIV} at (0,0) size 65x30
RenderText {#text} at (5,5) size 55x12
text run at (5,5) width 55: "00:00 / 00:09"
RenderSlider {INPUT} at (66,0) size 205x20
RenderBlock {DIV} at (2,4) size 12x12
- RenderButton {INPUT} at (292,0) size 20x20
- RenderButton {INPUT} at (312,0) size 20x20
- RenderButton {INPUT} at (332,0) size 20x20
+ RenderButton {INPUT} at (292,268) size 20x20
+ RenderButton {INPUT} at (312,268) size 20x20
+ RenderButton {INPUT} at (332,268) size 20x20
diff --git a/LayoutTests/platform/gtk/media/video-volume-slider-expected.txt b/LayoutTests/platform/gtk/media/video-volume-slider-expected.txt
new file mode 100644
index 0000000..6a46433
--- /dev/null
+++ b/LayoutTests/platform/gtk/media/video-volume-slider-expected.txt
@@ -0,0 +1,38 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderText {#text} at (0,0) size 433x19
+ text run at (0,0) width 433: "Tests if the volume slider is rendererd properly. This test assumes the"
+ RenderBR {BR} at (433,15) size 0x0
+ RenderText {#text} at (0,19) size 446x19
+ text run at (0,19) width 446: "volume slider is implmented and mouse over the right bottom corner of"
+ RenderBR {BR} at (446,34) size 0x0
+ RenderText {#text} at (0,38) size 270x19
+ text run at (0,38) width 270: "video element will show the volume slider."
+ RenderBR {BR} at (270,53) size 0x0
+ RenderText {#text} at (0,0) size 0x0
+layer at (8,65) size 320x240
+ RenderVideo {VIDEO} at (0,57) size 320x240
+layer at (8,65) size 320x240
+ RenderBlock (relative positioned) {DIV} at (0,0) size 320x240
+layer at (8,65) size 320x240 scrollHeight 250
+ RenderFlexibleBox (positioned) {DIV} at (0,0) size 320x240
+ RenderButton {INPUT} at (0,220) size 20x20
+ RenderFlexibleBox {DIV} at (20,220) size 220x20 [border: (1px solid #FFFFFF33) none (1px solid #FFFFFF33)]
+ RenderBlock (anonymous) at (1,0) size 65x30
+ RenderBlock {DIV} at (0,0) size 65x30
+ RenderText {#text} at (5,5) size 55x12
+ text run at (5,5) width 55: "00:00 / 00:06"
+ RenderSlider {INPUT} at (66,0) size 153x20
+ RenderBlock {DIV} at (2,4) size 12x12
+ RenderButton {INPUT} at (240,220) size 20x20
+ RenderButton {INPUT} at (260,220) size 20x20
+ RenderButton {INPUT} at (280,220) size 20x20
+ RenderButton {INPUT} at (300,220) size 20x20
+layer at (308,185) size 20x100
+ RenderBlock (positioned) {DIV} at (300,120) size 20x100
+layer at (311,190) size 14x95
+ RenderSlider {INPUT} at (3,5) size 14x95
+ RenderBlock {DIV} at (0,19) size 14x31
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index d6bebe2..0a69a74 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,29 @@
+2011-01-14 Carlos Garcia Campos <cgarcia at igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Add volume slider to media player
+ https://bugs.webkit.org/show_bug.cgi?id=51532
+
+ * css/mediaControlsGtk.css:
+ (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
+ (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
+ (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
+ * platform/gtk/RenderThemeGtk.cpp:
+ (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
+ (WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer):
+ (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
+ (WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb):
+ * platform/gtk/RenderThemeGtk.h:
+ * platform/gtk/RenderThemeGtk2.cpp:
+ (WebCore::RenderThemeGtk::paintSliderTrack):
+ (WebCore::RenderThemeGtk::paintSliderThumb):
+ (WebCore::RenderThemeGtk::adjustSliderThumbSize):
+ * platform/gtk/RenderThemeGtk3.cpp:
+ (WebCore::RenderThemeGtk::paintSliderTrack):
+ (WebCore::RenderThemeGtk::paintSliderThumb):
+ (WebCore::RenderThemeGtk::adjustSliderThumbSize):
+
2011-01-14 Joone Hur <joone.hur at collabora.co.uk>
Reviewed by David Levin.
diff --git a/Source/WebCore/css/mediaControlsGtk.css b/Source/WebCore/css/mediaControlsGtk.css
index 18b7dcc..b4637f7 100644
--- a/Source/WebCore/css/mediaControlsGtk.css
+++ b/Source/WebCore/css/mediaControlsGtk.css
@@ -26,7 +26,17 @@ audio {
}
audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel {
- height: 20px;
+ display: -webkit-box;
+ -webkit-box-orient: horizontal;
+ -webkit-box-align: end;
+ -webkit-user-select: none;
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ z-index: 0;
+ overflow: hidden;
+ text-align: right;
+ height: 100%;
}
audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button {
@@ -75,3 +85,21 @@ audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-f
width: 20px;
height: 20px;
}
+
+audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container {
+ -webkit-appearance: media-volume-slider-container;
+ position: absolute;
+ height: 100px;
+ width: 20px;
+}
+
+audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider {
+ -webkit-appearance: media-volume-slider;
+ display: inline;
+ position: absolute;
+ width: 14px;
+ height: 95px;
+
+ left: 3px;
+ top: 5px;
+}
\ No newline at end of file
diff --git a/Source/WebCore/platform/gtk/RenderThemeGtk.cpp b/Source/WebCore/platform/gtk/RenderThemeGtk.cpp
index c2f6eb8..276fb8f 100644
--- a/Source/WebCore/platform/gtk/RenderThemeGtk.cpp
+++ b/Source/WebCore/platform/gtk/RenderThemeGtk.cpp
@@ -387,12 +387,9 @@ String RenderThemeGtk::extraMediaControlsStyleSheet()
void RenderThemeGtk::adjustMediaSliderThumbSize(RenderObject* renderObject) const
{
- ControlPart part = renderObject->style()->appearance();
-
- if (part == MediaSliderThumbPart) {
- renderObject->style()->setWidth(Length(m_mediaSliderThumbWidth, Fixed));
- renderObject->style()->setHeight(Length(m_mediaSliderThumbHeight, Fixed));
- }
+ ASSERT(renderObject->style()->appearance() == MediaSliderThumbPart);
+ renderObject->style()->setWidth(Length(m_mediaSliderThumbWidth, Fixed));
+ renderObject->style()->setHeight(Length(m_mediaSliderThumbHeight, Fixed));
}
bool RenderThemeGtk::paintMediaButton(RenderObject* renderObject, GraphicsContext* context, const IntRect& rect, const char* iconName)
@@ -509,6 +506,23 @@ bool RenderThemeGtk::paintMediaSliderThumb(RenderObject* o, const PaintInfo& pai
return false;
}
+bool RenderThemeGtk::paintMediaVolumeSliderContainer(RenderObject*, const PaintInfo& paintInfo, const IntRect& rect)
+{
+ GraphicsContext* context = paintInfo.context;
+ context->fillRect(FloatRect(rect), m_panelColor, ColorSpaceDeviceRGB);
+ return false;
+}
+
+bool RenderThemeGtk::paintMediaVolumeSliderTrack(RenderObject* renderObject, const PaintInfo& paintInfo, const IntRect& rect)
+{
+ return paintSliderTrack(renderObject, paintInfo, rect);
+}
+
+bool RenderThemeGtk::paintMediaVolumeSliderThumb(RenderObject* renderObject, const PaintInfo& paintInfo, const IntRect& rect)
+{
+ return paintSliderThumb(renderObject, paintInfo, rect);
+}
+
String RenderThemeGtk::formatMediaControlsCurrentTime(float currentTime, float duration) const
{
return formatMediaControlsTime(currentTime) + " / " + formatMediaControlsTime(duration);
diff --git a/Source/WebCore/platform/gtk/RenderThemeGtk.h b/Source/WebCore/platform/gtk/RenderThemeGtk.h
index 74b88b3..90113e5 100644
--- a/Source/WebCore/platform/gtk/RenderThemeGtk.h
+++ b/Source/WebCore/platform/gtk/RenderThemeGtk.h
@@ -156,6 +156,9 @@ protected:
virtual bool paintMediaSeekForwardButton(RenderObject*, const PaintInfo&, const IntRect&);
virtual bool paintMediaSliderTrack(RenderObject*, const PaintInfo&, const IntRect&);
virtual bool paintMediaSliderThumb(RenderObject*, const PaintInfo&, const IntRect&);
+ virtual bool paintMediaVolumeSliderContainer(RenderObject*, const PaintInfo&, const IntRect&);
+ virtual bool paintMediaVolumeSliderTrack(RenderObject*, const PaintInfo&, const IntRect&);
+ virtual bool paintMediaVolumeSliderThumb(RenderObject*, const PaintInfo&, const IntRect&);
virtual bool paintMediaCurrentTime(RenderObject*, const PaintInfo&, const IntRect&);
#endif
diff --git a/Source/WebCore/platform/gtk/RenderThemeGtk2.cpp b/Source/WebCore/platform/gtk/RenderThemeGtk2.cpp
index 2ebcb0f..cc6299e 100644
--- a/Source/WebCore/platform/gtk/RenderThemeGtk2.cpp
+++ b/Source/WebCore/platform/gtk/RenderThemeGtk2.cpp
@@ -299,17 +299,17 @@ bool RenderThemeGtk::paintSliderTrack(RenderObject* object, const PaintInfo& inf
return false;
ControlPart part = object->style()->appearance();
- ASSERT(part == SliderHorizontalPart || part == SliderVerticalPart);
+ ASSERT(part == SliderHorizontalPart || part == SliderVerticalPart || part == MediaVolumeSliderPart);
// We shrink the trough rect slightly to make room for the focus indicator.
IntRect troughRect(IntPoint(), rect.size()); // This is relative to rect.
GtkWidget* widget = 0;
- if (part == SliderVerticalPart) {
- widget = gtkVScale();
- troughRect.inflateY(-gtk_widget_get_style(widget)->ythickness);
- } else {
+ if (part == SliderHorizontalPart) {
widget = gtkHScale();
troughRect.inflateX(-gtk_widget_get_style(widget)->xthickness);
+ } else {
+ widget = gtkVScale();
+ troughRect.inflateY(-gtk_widget_get_style(widget)->ythickness);
}
gtk_widget_set_direction(widget, gtkTextDirection(object->style()->direction()));
@@ -327,19 +327,19 @@ bool RenderThemeGtk::paintSliderThumb(RenderObject* object, const PaintInfo& inf
return false;
ControlPart part = object->style()->appearance();
- ASSERT(part == SliderThumbHorizontalPart || part == SliderThumbVerticalPart);
+ ASSERT(part == SliderThumbHorizontalPart || part == SliderThumbVerticalPart || part == MediaVolumeSliderThumbPart);
GtkWidget* widget = 0;
const char* detail = 0;
GtkOrientation orientation;
- if (part == SliderThumbVerticalPart) {
- widget = gtkVScale();
- detail = "vscale";
- orientation = GTK_ORIENTATION_VERTICAL;
- } else {
+ if (part == SliderThumbHorizontalPart) {
widget = gtkHScale();
detail = "hscale";
orientation = GTK_ORIENTATION_HORIZONTAL;
+ } else {
+ widget = gtkVScale();
+ detail = "vscale";
+ orientation = GTK_ORIENTATION_VERTICAL;
}
gtk_widget_set_direction(widget, gtkTextDirection(object->style()->direction()));
@@ -357,7 +357,7 @@ void RenderThemeGtk::adjustSliderThumbSize(RenderObject* o) const
{
ControlPart part = o->style()->appearance();
#if ENABLE(VIDEO)
- if (part == MediaSliderThumbPart || part == MediaVolumeSliderThumbPart) {
+ if (part == MediaSliderThumbPart) {
adjustMediaSliderThumbSize(o);
return;
}
@@ -375,7 +375,7 @@ void RenderThemeGtk::adjustSliderThumbSize(RenderObject* o) const
o->style()->setHeight(Length(width, Fixed));
return;
}
- ASSERT(part == SliderThumbVerticalPart);
+ ASSERT(part == SliderThumbVerticalPart || part == MediaVolumeSliderThumbPart);
o->style()->setWidth(Length(width, Fixed));
o->style()->setHeight(Length(length, Fixed));
}
diff --git a/Source/WebCore/platform/gtk/RenderThemeGtk3.cpp b/Source/WebCore/platform/gtk/RenderThemeGtk3.cpp
index c2fcfb5..269f0fd 100644
--- a/Source/WebCore/platform/gtk/RenderThemeGtk3.cpp
+++ b/Source/WebCore/platform/gtk/RenderThemeGtk3.cpp
@@ -596,7 +596,7 @@ bool RenderThemeGtk::paintTextField(RenderObject* renderObject, const PaintInfo&
bool RenderThemeGtk::paintSliderTrack(RenderObject* renderObject, const PaintInfo& paintInfo, const IntRect& rect)
{
ControlPart part = renderObject->style()->appearance();
- ASSERT(part == SliderHorizontalPart || part == SliderVerticalPart);
+ ASSERT(part == SliderHorizontalPart || part == SliderVerticalPart || part == MediaVolumeSliderPart);
GtkStyleContext* context = getStyleContext(part == SliderThumbHorizontalPart ? GTK_TYPE_HSCALE : GTK_TYPE_VSCALE);
gtk_style_context_save(context);
@@ -631,7 +631,7 @@ bool RenderThemeGtk::paintSliderTrack(RenderObject* renderObject, const PaintInf
bool RenderThemeGtk::paintSliderThumb(RenderObject* renderObject, const PaintInfo& paintInfo, const IntRect& rect)
{
ControlPart part = renderObject->style()->appearance();
- ASSERT(part == SliderThumbHorizontalPart || part == SliderThumbVerticalPart);
+ ASSERT(part == SliderThumbHorizontalPart || part == SliderThumbVerticalPart || part == MediaVolumeSliderThumbPart);
GtkStyleContext* context = getStyleContext(part == SliderThumbHorizontalPart ? GTK_TYPE_HSCALE : GTK_TYPE_VSCALE);
gtk_style_context_save(context);
@@ -667,7 +667,7 @@ void RenderThemeGtk::adjustSliderThumbSize(RenderObject* renderObject) const
{
ControlPart part = renderObject->style()->appearance();
#if ENABLE(VIDEO)
- if (part == MediaSliderThumbPart || part == MediaVolumeSliderThumbPart) {
+ if (part == MediaSliderThumbPart) {
adjustMediaSliderThumbSize(renderObject);
return;
}
@@ -683,7 +683,7 @@ void RenderThemeGtk::adjustSliderThumbSize(RenderObject* renderObject) const
renderObject->style()->setHeight(Length(sliderWidth, Fixed));
return;
}
- ASSERT(part == SliderThumbVerticalPart);
+ ASSERT(part == SliderThumbVerticalPart || part == MediaVolumeSliderThumbPart);
renderObject->style()->setWidth(Length(sliderWidth, Fixed));
renderObject->style()->setHeight(Length(sliderLength, Fixed));
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list