REGRESSION(r171593) [Mac] Media controls create a large (and unnecessary) backing...
authorjer.noble@apple.com <jer.noble@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 28 Oct 2014 19:37:22 +0000 (19:37 +0000)
committerjer.noble@apple.com <jer.noble@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 28 Oct 2014 19:37:22 +0000 (19:37 +0000)
https://bugs.webkit.org/show_bug.cgi?id=137757

Reviewed by Eric Carlson.

Source/WebCore:

In r171593, a <div> was added to the media controls which is only ever used on iOS. Instead
of creating and adding this <div> in mediaControlsApple.js (which is used on OS X), this
<div> should be created and added in mediaControlsiOS.js, which requires overloading
Controller.addControls.

* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-panel.hidden): Drive-by fix: allow the panel itself to be hidden.
(video::-webkit-media-controls-panel-composited-parent): Deleted.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.createControls): Remove the composited parent.
(Controller.prototype.addControls): Ditto.
* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.createControls): Create the composited parent.
(ControllerIOS.prototype.addControls): Copied from (previous) apple.js.

LayoutTests:

* platform/mac-mavericks/media/audio-controls-rendering-expected.png:
* platform/mac-mavericks/media/audio-controls-rendering-expected.txt:
* platform/mac-mavericks/media/controls-strict-expected.txt:
* platform/mac-mavericks/media/controls-without-preload-expected.txt: Copied from LayoutTests/platform/mac/media/controls-without-preload-expected.txt.
* platform/mac-mavericks/media/video-controls-rendering-expected.txt:
* platform/mac-mavericks/media/video-display-toggle-expected.txt:
* platform/mac-mavericks/media/video-empty-source-expected.txt: Copied from LayoutTests/platform/mac/media/video-empty-source-expected.txt.
* platform/mac-mavericks/media/video-no-audio-expected.png:
* platform/mac-mavericks/media/video-no-audio-expected.txt:
* platform/mac-mavericks/media/video-volume-slider-expected.txt:
* platform/mac-mavericks/media/video-zoom-controls-expected.png:
* platform/mac-mavericks/media/video-zoom-controls-expected.txt:
* platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
* platform/mac/fast/layers/video-layer-expected.txt:
* platform/mac/media/audio-controls-rendering-expected.png:
* platform/mac/media/audio-controls-rendering-expected.txt:
* platform/mac/media/controls-after-reload-expected.png:
* platform/mac/media/controls-after-reload-expected.txt:
* platform/mac/media/controls-strict-expected.png:
* platform/mac/media/controls-strict-expected.txt:
* platform/mac/media/controls-without-preload-expected.png:
* platform/mac/media/controls-without-preload-expected.txt:
* platform/mac/media/media-controls-clone-expected.png:
* platform/mac/media/media-controls-clone-expected.txt:
* platform/mac/media/video-controls-rendering-expected.png:
* platform/mac/media/video-controls-rendering-expected.txt:
* platform/mac/media/video-display-toggle-expected.png:
* platform/mac/media/video-display-toggle-expected.txt:
* platform/mac/media/video-empty-source-expected.png:
* platform/mac/media/video-empty-source-expected.txt:
* platform/mac/media/video-no-audio-expected.png:
* platform/mac/media/video-no-audio-expected.txt:
* platform/mac/media/video-volume-slider-expected.png:
* platform/mac/media/video-volume-slider-expected.txt:
* platform/mac/media/video-zoom-controls-expected.png:
* platform/mac/media/video-zoom-controls-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@175268 268f45cc-cd09-0410-ab3c-d52691b4dbfc

41 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/mac-mavericks/media/audio-controls-rendering-expected.png
LayoutTests/platform/mac-mavericks/media/audio-controls-rendering-expected.txt
LayoutTests/platform/mac-mavericks/media/controls-strict-expected.txt
LayoutTests/platform/mac-mavericks/media/controls-without-preload-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-mavericks/media/video-controls-rendering-expected.txt
LayoutTests/platform/mac-mavericks/media/video-display-toggle-expected.txt
LayoutTests/platform/mac-mavericks/media/video-empty-source-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-mavericks/media/video-no-audio-expected.png
LayoutTests/platform/mac-mavericks/media/video-no-audio-expected.txt
LayoutTests/platform/mac-mavericks/media/video-volume-slider-expected.txt
LayoutTests/platform/mac-mavericks/media/video-zoom-controls-expected.png
LayoutTests/platform/mac-mavericks/media/video-zoom-controls-expected.txt
LayoutTests/platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt
LayoutTests/platform/mac/fast/layers/video-layer-expected.txt
LayoutTests/platform/mac/media/audio-controls-rendering-expected.png
LayoutTests/platform/mac/media/audio-controls-rendering-expected.txt
LayoutTests/platform/mac/media/controls-after-reload-expected.png
LayoutTests/platform/mac/media/controls-after-reload-expected.txt
LayoutTests/platform/mac/media/controls-strict-expected.png
LayoutTests/platform/mac/media/controls-strict-expected.txt
LayoutTests/platform/mac/media/controls-without-preload-expected.png
LayoutTests/platform/mac/media/controls-without-preload-expected.txt
LayoutTests/platform/mac/media/media-controls-clone-expected.png
LayoutTests/platform/mac/media/media-controls-clone-expected.txt
LayoutTests/platform/mac/media/video-controls-rendering-expected.png
LayoutTests/platform/mac/media/video-controls-rendering-expected.txt
LayoutTests/platform/mac/media/video-display-toggle-expected.png
LayoutTests/platform/mac/media/video-display-toggle-expected.txt
LayoutTests/platform/mac/media/video-empty-source-expected.png
LayoutTests/platform/mac/media/video-empty-source-expected.txt
LayoutTests/platform/mac/media/video-no-audio-expected.png
LayoutTests/platform/mac/media/video-no-audio-expected.txt
LayoutTests/platform/mac/media/video-volume-slider-expected.png
LayoutTests/platform/mac/media/video-volume-slider-expected.txt
LayoutTests/platform/mac/media/video-zoom-controls-expected.png
LayoutTests/platform/mac/media/video-zoom-controls-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/Modules/mediacontrols/mediaControlsApple.css
Source/WebCore/Modules/mediacontrols/mediaControlsApple.js
Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js

index b4bea90..62418ff 100644 (file)
@@ -1,3 +1,47 @@
+2014-10-28  Jer Noble  <jer.noble@apple.com>
+
+        REGRESSION(r171593) [Mac] Media controls create a large (and unnecessary) backing store
+        https://bugs.webkit.org/show_bug.cgi?id=137757
+
+        Reviewed by Eric Carlson.
+
+        * platform/mac-mavericks/media/audio-controls-rendering-expected.png:
+        * platform/mac-mavericks/media/audio-controls-rendering-expected.txt:
+        * platform/mac-mavericks/media/controls-strict-expected.txt:
+        * platform/mac-mavericks/media/controls-without-preload-expected.txt: Copied from LayoutTests/platform/mac/media/controls-without-preload-expected.txt.
+        * platform/mac-mavericks/media/video-controls-rendering-expected.txt:
+        * platform/mac-mavericks/media/video-display-toggle-expected.txt:
+        * platform/mac-mavericks/media/video-empty-source-expected.txt: Copied from LayoutTests/platform/mac/media/video-empty-source-expected.txt.
+        * platform/mac-mavericks/media/video-no-audio-expected.png:
+        * platform/mac-mavericks/media/video-no-audio-expected.txt:
+        * platform/mac-mavericks/media/video-volume-slider-expected.txt:
+        * platform/mac-mavericks/media/video-zoom-controls-expected.png:
+        * platform/mac-mavericks/media/video-zoom-controls-expected.txt:
+        * platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
+        * platform/mac/fast/layers/video-layer-expected.txt:
+        * platform/mac/media/audio-controls-rendering-expected.png:
+        * platform/mac/media/audio-controls-rendering-expected.txt:
+        * platform/mac/media/controls-after-reload-expected.png:
+        * platform/mac/media/controls-after-reload-expected.txt:
+        * platform/mac/media/controls-strict-expected.png:
+        * platform/mac/media/controls-strict-expected.txt:
+        * platform/mac/media/controls-without-preload-expected.png:
+        * platform/mac/media/controls-without-preload-expected.txt:
+        * platform/mac/media/media-controls-clone-expected.png:
+        * platform/mac/media/media-controls-clone-expected.txt:
+        * platform/mac/media/video-controls-rendering-expected.png:
+        * platform/mac/media/video-controls-rendering-expected.txt:
+        * platform/mac/media/video-display-toggle-expected.png:
+        * platform/mac/media/video-display-toggle-expected.txt:
+        * platform/mac/media/video-empty-source-expected.png:
+        * platform/mac/media/video-empty-source-expected.txt:
+        * platform/mac/media/video-no-audio-expected.png:
+        * platform/mac/media/video-no-audio-expected.txt:
+        * platform/mac/media/video-volume-slider-expected.png:
+        * platform/mac/media/video-volume-slider-expected.txt:
+        * platform/mac/media/video-zoom-controls-expected.png:
+        * platform/mac/media/video-zoom-controls-expected.txt:
+
 2014-10-28  Alexey Proskuryakov  <ap@apple.com>
 
         text-combine needs to center glyphs within the vertical area.
index 863e688..77490b3 100644 (file)
Binary files a/LayoutTests/platform/mac-mavericks/media/audio-controls-rendering-expected.png and b/LayoutTests/platform/mac-mavericks/media/audio-controls-rendering-expected.png differ
index f6ce110..b9f1c03 100644 (file)
@@ -16,7 +16,6 @@ layer at (0,0) size 800x600
         RenderBR {BR} at (0,86) size 0x18
 layer at (8,42) size 200x25
   RenderFlexibleBox {DIV} at (0,0) size 200x25
-    RenderBlock {DIV} at (0,0) size 200x25
 layer at (8,42) size 200x25
   RenderFlexibleBox {DIV} at (0,0) size 200x25
 layer at (14,47) size 16x16
@@ -55,7 +54,6 @@ layer at (187,47) size 16x16
   RenderButton {BUTTON} at (3,3) size 16x16 [color=#FFFFFF]
 layer at (8,85) size 320x25
   RenderFlexibleBox {DIV} at (0,0) size 320x25
-    RenderBlock {DIV} at (0,0) size 320x25
 layer at (8,85) size 320x25
   RenderFlexibleBox {DIV} at (0,0) size 320x25
 layer at (14,90) size 16x16
@@ -96,9 +94,8 @@ layer at (8,128) size 320x100
   RenderMedia {AUDIO} at (8,128) size 320x100 [bgcolor=#0000FF]
 layer at (8,128) size 320x100
   RenderFlexibleBox {DIV} at (0,0) size 320x100
-    RenderBlock {DIV} at (0,75) size 320x25
 layer at (8,203) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,75) size 320x25
 layer at (14,208) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,208) size 16x16
index 1fa2359..dc9bd14 100644 (file)
@@ -13,9 +13,7 @@ layer at (8,50) size 320x240
 layer at (8,50) size 320x240
   RenderFlexibleBox {DIV} at (0,0) size 320x240
 layer at (8,265) size 320x25
-  RenderBlock {DIV} at (0,215) size 320x25
-layer at (8,265) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,215) size 320x25
 layer at (14,270) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,270) size 16x16
diff --git a/LayoutTests/platform/mac-mavericks/media/controls-without-preload-expected.txt b/LayoutTests/platform/mac-mavericks/media/controls-without-preload-expected.txt
new file mode 100644 (file)
index 0000000..0716565
--- /dev/null
@@ -0,0 +1,52 @@
+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
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 312x18
+          text run at (0,0) width 312: "The controls should not depend on preload value."
+      RenderBlock (anonymous) at (0,34) size 784x240
+        RenderText {#text} at (0,0) size 0x0
+layer at (8,42) size 320x240
+  RenderVideo {VIDEO} at (0,0) size 320x240
+layer at (8,42) size 320x240
+  RenderFlexibleBox {DIV} at (0,0) size 320x240
+layer at (8,257) size 320x25
+  RenderFlexibleBox {DIV} at (0,215) size 320x25
+layer at (14,262) size 16x16
+  RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
+layer at (40,262) size 16x16
+  RenderButton {BUTTON} at (32,5) size 16x16 [color=#FFFFFF]
+layer at (57,265) size 217x11
+  RenderFlexibleBox {DIV} at (49,7) size 217x12
+layer at (57,265) size 45x11
+  RenderFlexibleBox {DIV} at (0,0) size 45x11 [color=#FFFFFF]
+    RenderBlock (anonymous) at (9,0) size 27x11
+      RenderText {#text} at (0,0) size 26x11
+        text run at (0,0) width 26: "00:00"
+layer at (229,265) size 45x11
+  RenderFlexibleBox {DIV} at (172,0) size 45x11 [color=#FFFFFF]
+    RenderBlock (anonymous) at (7,0) size 31x11
+      RenderText {#text} at (0,0) size 31x11
+        text run at (0,0) width 31: "-00:06"
+layer at (104,266) size 123x9
+  RenderFlexibleBox {DIV} at (47,1) size 123x9
+    RenderSlider {INPUT} at (0,0) size 123x9 [color=#909090] [bgcolor=#4A4A4A]
+      RenderFlexibleBox {DIV} at (0,0) size 123x9
+        RenderBlock {DIV} at (0,1) size 123x7
+layer at (104,267) size 6x6
+  RenderBlock {DIV} at (0,0) size 6x6 [bgcolor=#FFFFFF]
+layer at (274,259) size 22x22
+  RenderFlexibleBox {DIV} at (266,2) size 22x22
+layer at (274,259) size 2x22
+  RenderFlexibleBox {DIV} at (0,0) size 2x22 [border: (1px solid #000000F3)]
+    RenderSlider {INPUT} at (-7,6) size 2x10 [color=#909090] [border: (1px solid #000000DF)]
+      RenderFlexibleBox {DIV} at (1,1) size 0x8
+        RenderBlock {DIV} at (0,0) size 0x8
+layer at (260,266) size 8x8
+  RenderBlock {DIV} at (-8,0) size 8x8
+layer at (277,262) size 16x16
+  RenderButton {BUTTON} at (3,3) size 16x16 [color=#FFFFFF]
+layer at (305,262) size 16x16
+  RenderButton {BUTTON} at (297,5) size 16x16 [color=#FFFFFF]
index 7ce6734..8b695fd 100644 (file)
@@ -18,9 +18,7 @@ layer at (8,282) size 320x240
 layer at (8,42) size 320x240
   RenderFlexibleBox {DIV} at (0,0) size 320x240
 layer at (8,257) size 320x25
-  RenderBlock {DIV} at (0,215) size 320x25
-layer at (8,257) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,215) size 320x25
 layer at (14,262) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,262) size 16x16
@@ -60,9 +58,7 @@ layer at (305,262) size 16x16
 layer at (8,282) size 320x240
   RenderFlexibleBox {DIV} at (0,0) size 320x240
 layer at (8,497) size 320x25
-  RenderBlock {DIV} at (0,215) size 320x25
-layer at (8,497) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,215) size 320x25
 layer at (14,502) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,502) size 16x16
@@ -104,9 +100,7 @@ layer at (8,522) size 320x240
 layer at (8,522) size 320x240
   RenderFlexibleBox {DIV} at (0,0) size 320x240
 layer at (8,737) size 320x25
-  RenderBlock {DIV} at (0,215) size 320x25
-layer at (8,737) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,215) size 320x25
 layer at (14,742) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,742) size 16x16
index 4f4c158..7726d82 100644 (file)
@@ -12,9 +12,7 @@ layer at (8,26) size 320x240
 layer at (8,26) size 320x240
   RenderFlexibleBox {DIV} at (0,0) size 320x240
 layer at (8,241) size 320x25
-  RenderBlock {DIV} at (0,215) size 320x25
-layer at (8,241) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,215) size 320x25
 layer at (14,246) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,246) size 16x16
diff --git a/LayoutTests/platform/mac-mavericks/media/video-empty-source-expected.txt b/LayoutTests/platform/mac-mavericks/media/video-empty-source-expected.txt
new file mode 100644 (file)
index 0000000..dca81e1
--- /dev/null
@@ -0,0 +1,28 @@
+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
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 430x18
+          text run at (0,0) width 430: "Slider drawing with no source. The controls should render correctly."
+      RenderBlock (anonymous) at (0,34) size 784x152
+        RenderText {#text} at (0,0) size 0x0
+layer at (8,42) size 302x152
+  RenderVideo {VIDEO} at (0,0) size 302x152 [border: (1px solid #000000)]
+layer at (9,43) size 300x150
+  RenderFlexibleBox {DIV} at (1,1) size 300x150
+layer at (9,168) size 300x25
+  RenderFlexibleBox {DIV} at (0,125) size 300x25
+layer at (58,169) size 138x25
+  RenderBlock {DIV} at (49,0) size 138x26 [color=#FFFFFF]
+    RenderText {#text} at (12,7) size 22x11
+      text run at (12,7) width 22: "Error"
+layer at (15,173) size 16x16
+  RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
+layer at (41,173) size 16x16
+  RenderButton {BUTTON} at (32,5) size 16x16 [color=#FFFFFF]
+layer at (196,177) size 113x9
+  RenderFlexibleBox {DIV} at (186,8) size 114x10
+layer at (198,177) size 110x9
+  RenderFlexibleBox {DIV} at (2,0) size 110x9
index ac09252..b184423 100644 (file)
Binary files a/LayoutTests/platform/mac-mavericks/media/video-no-audio-expected.png and b/LayoutTests/platform/mac-mavericks/media/video-no-audio-expected.png differ
index 7d6375c..06aaa37 100644 (file)
@@ -13,9 +13,7 @@ layer at (8,42) size 352x288
 layer at (8,42) size 352x288
   RenderFlexibleBox {DIV} at (0,0) size 352x288
 layer at (8,305) size 352x25
-  RenderBlock {DIV} at (0,263) size 352x25
-layer at (8,305) size 352x25
-  RenderFlexibleBox {DIV} at (0,0) size 352x25
+  RenderFlexibleBox {DIV} at (0,263) size 352x25
 layer at (14,310) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,310) size 16x16
index 4807926..e41d295 100644 (file)
@@ -18,9 +18,7 @@ layer at (8,62) size 320x240
 layer at (8,62) size 320x240
   RenderFlexibleBox {DIV} at (0,0) size 320x240
 layer at (8,277) size 320x25
-  RenderBlock {DIV} at (0,215) size 320x25
-layer at (8,277) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,215) size 320x25
 layer at (14,282) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,282) size 16x16
index 5ab1900..ae84cd0 100644 (file)
Binary files a/LayoutTests/platform/mac-mavericks/media/video-zoom-controls-expected.png and b/LayoutTests/platform/mac-mavericks/media/video-zoom-controls-expected.png differ
index 1cd0a8d..217551c 100644 (file)
@@ -11,9 +11,7 @@ layer at (57,85) size 240x180
 layer at (57,85) size 240x180
   RenderFlexibleBox {DIV} at (0,0) size 240x180
 layer at (57,228) size 240x37
-  RenderBlock {DIV} at (0,142) size 240x38
-layer at (57,228) size 240x38
-  RenderFlexibleBox {DIV} at (0,0) size 240x38
+  RenderFlexibleBox {DIV} at (0,142) size 240x38
 layer at (66,234) size 24x24
   RenderButton {BUTTON} at (9,6) size 24x25 [color=#FFFFFF]
 layer at (105,235) size 24x24
@@ -50,9 +48,7 @@ layer at (57,310) size 240x180
 layer at (57,310) size 240x180
   RenderFlexibleBox {DIV} at (0,0) size 240x180
 layer at (57,453) size 240x37
-  RenderBlock {DIV} at (0,142) size 240x38
-layer at (57,453) size 240x38
-  RenderFlexibleBox {DIV} at (0,0) size 240x38
+  RenderFlexibleBox {DIV} at (0,142) size 240x38
 layer at (66,459) size 24x24
   RenderButton {BUTTON} at (9,6) size 24x25 [color=#FFFFFF]
 layer at (105,460) size 24x24
index cdc29bc..ad65baa 100644 (file)
@@ -13,9 +13,7 @@ layer at (8,26) size 300x150
 layer at (8,26) size 300x150
   RenderFlexibleBox {DIV} at (0,0) size 300x150
 layer at (8,151) size 300x25
-  RenderBlock {DIV} at (0,125) size 300x25
-layer at (8,151) size 300x25
-  RenderFlexibleBox {DIV} at (0,0) size 300x25
+  RenderFlexibleBox {DIV} at (0,125) size 300x25
 layer at (14,156) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,156) size 16x16
index bc9c197..cd9dcd3 100644 (file)
@@ -18,9 +18,7 @@ layer at (58,110) size 302x152
 layer at (59,111) size 300x150
   RenderFlexibleBox {DIV} at (1,1) size 300x150
 layer at (59,236) size 300x25
-  RenderBlock {DIV} at (0,125) size 300x25
-layer at (59,236) size 300x25
-  RenderFlexibleBox {DIV} at (0,0) size 300x25
+  RenderFlexibleBox {DIV} at (0,125) size 300x25
 layer at (65,241) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (91,241) size 16x16
index 4bd0d7c..4df9d8d 100644 (file)
Binary files a/LayoutTests/platform/mac/media/audio-controls-rendering-expected.png and b/LayoutTests/platform/mac/media/audio-controls-rendering-expected.png differ
index 366eb5f..d560432 100644 (file)
@@ -16,7 +16,6 @@ layer at (0,0) size 800x600
         RenderBR {BR} at (0,86) size 0x18
 layer at (8,42) size 200x25
   RenderFlexibleBox {DIV} at (0,0) size 200x25
-    RenderBlock {DIV} at (0,0) size 200x25
 layer at (8,42) size 200x25
   RenderFlexibleBox {DIV} at (0,0) size 200x25
 layer at (14,47) size 16x16
@@ -55,7 +54,6 @@ layer at (187,47) size 16x16
   RenderButton {BUTTON} at (3,3) size 16x16 [color=#FFFFFF]
 layer at (8,85) size 320x25
   RenderFlexibleBox {DIV} at (0,0) size 320x25
-    RenderBlock {DIV} at (0,0) size 320x25
 layer at (8,85) size 320x25
   RenderFlexibleBox {DIV} at (0,0) size 320x25
 layer at (14,90) size 16x16
@@ -96,9 +94,8 @@ layer at (8,128) size 320x100
   RenderMedia {AUDIO} at (8,128) size 320x100 [bgcolor=#0000FF]
 layer at (8,128) size 320x100
   RenderFlexibleBox {DIV} at (0,0) size 320x100
-    RenderBlock {DIV} at (0,75) size 320x25
 layer at (8,203) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,75) size 320x25
 layer at (14,208) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,208) size 16x16
index f15aa96..70e13fa 100644 (file)
Binary files a/LayoutTests/platform/mac/media/controls-after-reload-expected.png and b/LayoutTests/platform/mac/media/controls-after-reload-expected.png differ
index 7f6c009..55eea8a 100644 (file)
@@ -13,9 +13,7 @@ layer at (8,42) size 320x240
 layer at (8,42) size 320x240
   RenderFlexibleBox {DIV} at (0,0) size 320x240
 layer at (8,257) size 320x25
-  RenderBlock {DIV} at (0,215) size 320x25
-layer at (8,257) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,215) size 320x25
 layer at (14,262) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,262) size 16x16
@@ -24,14 +22,14 @@ layer at (57,265) size 217x11
   RenderFlexibleBox {DIV} at (49,7) size 217x12
 layer at (57,265) size 45x11
   RenderFlexibleBox {DIV} at (0,0) size 45x11 [color=#FFFFFF]
-    RenderBlock (anonymous) at (9,0) size 27x11
-      RenderText {#text} at (0,0) size 26x11
-        text run at (0,0) width 26: "00:00"
+    RenderBlock (anonymous) at (10,0) size 25x11
+      RenderText {#text} at (0,0) size 25x11
+        text run at (0,0) width 25: "00:00"
 layer at (229,265) size 45x11
   RenderFlexibleBox {DIV} at (172,0) size 45x11 [color=#FFFFFF]
-    RenderBlock (anonymous) at (7,0) size 31x11
-      RenderText {#text} at (0,0) size 31x11
-        text run at (0,0) width 31: "-00:06"
+    RenderBlock (anonymous) at (8,0) size 29x11
+      RenderText {#text} at (0,0) size 29x11
+        text run at (0,0) width 29: "-00:06"
 layer at (104,266) size 123x9
   RenderFlexibleBox {DIV} at (47,1) size 123x9
     RenderSlider {INPUT} at (0,0) size 123x9 [color=#909090] [bgcolor=#4A4A4A]
index 22b7432..478aa9f 100644 (file)
Binary files a/LayoutTests/platform/mac/media/controls-strict-expected.png and b/LayoutTests/platform/mac/media/controls-strict-expected.png differ
index 7c1d457..45cc65c 100644 (file)
@@ -13,9 +13,7 @@ layer at (8,50) size 320x240
 layer at (8,50) size 320x240
   RenderFlexibleBox {DIV} at (0,0) size 320x240
 layer at (8,265) size 320x25
-  RenderBlock {DIV} at (0,215) size 320x25
-layer at (8,265) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,215) size 320x25
 layer at (14,270) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,270) size 16x16
index 29ce91a..0576935 100644 (file)
Binary files a/LayoutTests/platform/mac/media/controls-without-preload-expected.png and b/LayoutTests/platform/mac/media/controls-without-preload-expected.png differ
index 8ec6a3b..bb2411f 100644 (file)
@@ -13,9 +13,7 @@ layer at (8,42) size 320x240
 layer at (8,42) size 320x240
   RenderFlexibleBox {DIV} at (0,0) size 320x240
 layer at (8,257) size 320x25
-  RenderBlock {DIV} at (0,215) size 320x25
-layer at (8,257) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,215) size 320x25
 layer at (14,262) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,262) size 16x16
@@ -24,14 +22,14 @@ layer at (57,265) size 217x11
   RenderFlexibleBox {DIV} at (49,7) size 217x12
 layer at (57,265) size 45x11
   RenderFlexibleBox {DIV} at (0,0) size 45x11 [color=#FFFFFF]
-    RenderBlock (anonymous) at (9,0) size 27x11
-      RenderText {#text} at (0,0) size 26x11
-        text run at (0,0) width 26: "00:00"
+    RenderBlock (anonymous) at (10,0) size 25x11
+      RenderText {#text} at (0,0) size 25x11
+        text run at (0,0) width 25: "00:00"
 layer at (229,265) size 45x11
   RenderFlexibleBox {DIV} at (172,0) size 45x11 [color=#FFFFFF]
-    RenderBlock (anonymous) at (7,0) size 31x11
-      RenderText {#text} at (0,0) size 31x11
-        text run at (0,0) width 31: "-00:06"
+    RenderBlock (anonymous) at (8,0) size 29x11
+      RenderText {#text} at (0,0) size 29x11
+        text run at (0,0) width 29: "-00:06"
 layer at (104,266) size 123x9
   RenderFlexibleBox {DIV} at (47,1) size 123x9
     RenderSlider {INPUT} at (0,0) size 123x9 [color=#909090] [bgcolor=#4A4A4A]
index 6d8fab8..b106bcc 100644 (file)
Binary files a/LayoutTests/platform/mac/media/media-controls-clone-expected.png and b/LayoutTests/platform/mac/media/media-controls-clone-expected.png differ
index 724f2b3..de20892 100644 (file)
@@ -14,9 +14,7 @@ layer at (8,162) size 300x150
 layer at (8,8) size 300x150
   RenderFlexibleBox {DIV} at (0,0) size 300x150
 layer at (8,133) size 300x25
-  RenderBlock {DIV} at (0,125) size 300x25
-layer at (8,133) size 300x25
-  RenderFlexibleBox {DIV} at (0,0) size 300x25
+  RenderFlexibleBox {DIV} at (0,125) size 300x25
 layer at (14,138) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,138) size 16x16
@@ -27,7 +25,6 @@ layer at (197,142) size 110x9
   RenderFlexibleBox {DIV} at (2,0) size 110x9
 layer at (308,133) size 200x25
   RenderFlexibleBox {DIV} at (0,0) size 200x25
-    RenderBlock {DIV} at (0,0) size 200x25
 layer at (308,133) size 200x25
   RenderFlexibleBox {DIV} at (0,0) size 200x25
 layer at (314,138) size 16x16
@@ -41,9 +38,7 @@ layer at (447,142) size 60x9
 layer at (8,162) size 300x150
   RenderFlexibleBox {DIV} at (0,0) size 300x150
 layer at (8,287) size 300x25
-  RenderBlock {DIV} at (0,125) size 300x25
-layer at (8,287) size 300x25
-  RenderFlexibleBox {DIV} at (0,0) size 300x25
+  RenderFlexibleBox {DIV} at (0,125) size 300x25
 layer at (14,292) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,292) size 16x16
@@ -54,7 +49,6 @@ layer at (197,296) size 110x9
   RenderFlexibleBox {DIV} at (2,0) size 110x9
 layer at (308,287) size 200x25
   RenderFlexibleBox {DIV} at (0,0) size 200x25
-    RenderBlock {DIV} at (0,0) size 200x25
 layer at (308,287) size 200x25
   RenderFlexibleBox {DIV} at (0,0) size 200x25
 layer at (314,292) size 16x16
index b902987..d18709a 100644 (file)
Binary files a/LayoutTests/platform/mac/media/video-controls-rendering-expected.png and b/LayoutTests/platform/mac/media/video-controls-rendering-expected.png differ
index ec1f099..45298d3 100644 (file)
@@ -18,9 +18,7 @@ layer at (8,282) size 320x240
 layer at (8,42) size 320x240
   RenderFlexibleBox {DIV} at (0,0) size 320x240
 layer at (8,257) size 320x25
-  RenderBlock {DIV} at (0,215) size 320x25
-layer at (8,257) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,215) size 320x25
 layer at (14,262) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,262) size 16x16
@@ -60,9 +58,7 @@ layer at (305,262) size 16x16
 layer at (8,282) size 320x240
   RenderFlexibleBox {DIV} at (0,0) size 320x240
 layer at (8,497) size 320x25
-  RenderBlock {DIV} at (0,215) size 320x25
-layer at (8,497) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,215) size 320x25
 layer at (14,502) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,502) size 16x16
@@ -104,9 +100,7 @@ layer at (8,522) size 320x240
 layer at (8,522) size 320x240
   RenderFlexibleBox {DIV} at (0,0) size 320x240
 layer at (8,737) size 320x25
-  RenderBlock {DIV} at (0,215) size 320x25
-layer at (8,737) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,215) size 320x25
 layer at (14,742) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,742) size 16x16
index fc65289..62e443d 100644 (file)
Binary files a/LayoutTests/platform/mac/media/video-display-toggle-expected.png and b/LayoutTests/platform/mac/media/video-display-toggle-expected.png differ
index 18831ef..22a4f35 100644 (file)
@@ -12,9 +12,7 @@ layer at (8,26) size 320x240
 layer at (8,26) size 320x240
   RenderFlexibleBox {DIV} at (0,0) size 320x240
 layer at (8,241) size 320x25
-  RenderBlock {DIV} at (0,215) size 320x25
-layer at (8,241) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,215) size 320x25
 layer at (14,246) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,246) size 16x16
index 4b25ed6..1baa1fe 100644 (file)
Binary files a/LayoutTests/platform/mac/media/video-empty-source-expected.png and b/LayoutTests/platform/mac/media/video-empty-source-expected.png differ
index 82150b8..dca81e1 100644 (file)
@@ -13,9 +13,7 @@ layer at (8,42) size 302x152
 layer at (9,43) size 300x150
   RenderFlexibleBox {DIV} at (1,1) size 300x150
 layer at (9,168) size 300x25
-  RenderBlock {DIV} at (0,125) size 300x25
-layer at (9,168) size 300x25
-  RenderFlexibleBox {DIV} at (0,0) size 300x25
+  RenderFlexibleBox {DIV} at (0,125) size 300x25
 layer at (58,169) size 138x25
   RenderBlock {DIV} at (49,0) size 138x26 [color=#FFFFFF]
     RenderText {#text} at (12,7) size 22x11
index a248fe9..1336634 100644 (file)
Binary files a/LayoutTests/platform/mac/media/video-no-audio-expected.png and b/LayoutTests/platform/mac/media/video-no-audio-expected.png differ
index 04ed3b3..c959f99 100644 (file)
@@ -13,9 +13,7 @@ layer at (8,42) size 352x288
 layer at (8,42) size 352x288
   RenderFlexibleBox {DIV} at (0,0) size 352x288
 layer at (8,305) size 352x25
-  RenderBlock {DIV} at (0,263) size 352x25
-layer at (8,305) size 352x25
-  RenderFlexibleBox {DIV} at (0,0) size 352x25
+  RenderFlexibleBox {DIV} at (0,263) size 352x25
 layer at (14,310) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,310) size 16x16
index d8c3604..a0148c8 100644 (file)
Binary files a/LayoutTests/platform/mac/media/video-volume-slider-expected.png and b/LayoutTests/platform/mac/media/video-volume-slider-expected.png differ
index 19debc0..c20d382 100644 (file)
@@ -18,9 +18,7 @@ layer at (8,62) size 320x240
 layer at (8,62) size 320x240
   RenderFlexibleBox {DIV} at (0,0) size 320x240
 layer at (8,277) size 320x25
-  RenderBlock {DIV} at (0,215) size 320x25
-layer at (8,277) size 320x25
-  RenderFlexibleBox {DIV} at (0,0) size 320x25
+  RenderFlexibleBox {DIV} at (0,215) size 320x25
 layer at (14,282) size 16x16
   RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
 layer at (40,282) size 16x16
index c27bdec..baa0020 100644 (file)
Binary files a/LayoutTests/platform/mac/media/video-zoom-controls-expected.png and b/LayoutTests/platform/mac/media/video-zoom-controls-expected.png differ
index 3d0fd7e..872d37a 100644 (file)
@@ -11,9 +11,7 @@ layer at (57,85) size 240x180
 layer at (57,85) size 240x180
   RenderFlexibleBox {DIV} at (0,0) size 240x180
 layer at (57,228) size 240x37
-  RenderBlock {DIV} at (0,142) size 240x38
-layer at (57,228) size 240x38
-  RenderFlexibleBox {DIV} at (0,0) size 240x38
+  RenderFlexibleBox {DIV} at (0,142) size 240x38
 layer at (66,234) size 24x24
   RenderButton {BUTTON} at (9,6) size 24x25 [color=#FFFFFF]
 layer at (105,235) size 24x24
@@ -50,9 +48,7 @@ layer at (57,310) size 240x180
 layer at (57,310) size 240x180
   RenderFlexibleBox {DIV} at (0,0) size 240x180
 layer at (57,453) size 240x37
-  RenderBlock {DIV} at (0,142) size 240x38
-layer at (57,453) size 240x38
-  RenderFlexibleBox {DIV} at (0,0) size 240x38
+  RenderFlexibleBox {DIV} at (0,142) size 240x38
 layer at (66,459) size 24x24
   RenderButton {BUTTON} at (9,6) size 24x25 [color=#FFFFFF]
 layer at (105,460) size 24x24
index 87301f5..337d0de 100644 (file)
@@ -1,3 +1,25 @@
+2014-10-28  Jer Noble  <jer.noble@apple.com>
+
+        REGRESSION(r171593) [Mac] Media controls create a large (and unnecessary) backing store
+        https://bugs.webkit.org/show_bug.cgi?id=137757
+
+        Reviewed by Eric Carlson.
+
+        In r171593, a <div> was added to the media controls which is only ever used on iOS. Instead
+        of creating and adding this <div> in mediaControlsApple.js (which is used on OS X), this 
+        <div> should be created and added in mediaControlsiOS.js, which requires overloading
+        Controller.addControls.
+
+        * Modules/mediacontrols/mediaControlsApple.css:
+        (audio::-webkit-media-controls-panel.hidden): Drive-by fix: allow the panel itself to be hidden.
+        (video::-webkit-media-controls-panel-composited-parent): Deleted.
+        * Modules/mediacontrols/mediaControlsApple.js:
+        (Controller.prototype.createControls): Remove the composited parent.
+        (Controller.prototype.addControls): Ditto.
+        * Modules/mediacontrols/mediaControlsiOS.js:
+        (ControllerIOS.prototype.createControls): Create the composited parent.
+        (ControllerIOS.prototype.addControls): Copied from (previous) apple.js.
+
 2014-10-28  Chris Dumez  <cdumez@apple.com>
 
         Move "Number" CSS properties to the new StyleBuilder
index ea730c3..2db40b8 100644 (file)
@@ -64,11 +64,6 @@ audio::-webkit-media-text-track-container {
     -webkit-flex: 1 1 auto;
 }
 
-video::-webkit-media-controls-panel-composited-parent {
-    -webkit-transform: translateZ(0);
-    width: 100%;
-}
-
 video::-webkit-media-controls-panel,
 audio::-webkit-media-controls-panel {
     box-sizing: border-box;
@@ -537,6 +532,11 @@ audio::-webkit-media-controls-panel .thumbnail.show {
     opacity: 1;
 }
 
+video::-webkit-media-controls-panel.hidden,
+audio::-webkit-media-controls-panel.hidden {
+    display: none;
+}
+
 video::-webkit-media-controls-panel .hidden,
 audio::-webkit-media-controls-panel .hidden {
     display: none;
index 874cfb4..7a2ba68 100644 (file)
@@ -282,9 +282,6 @@ Controller.prototype = {
 
     createControls: function()
     {
-        var panelCompositedParent = this.controls.panelCompositedParent = document.createElement('div');
-        panelCompositedParent.setAttribute('pseudo', '-webkit-media-controls-panel-composited-parent');
-
         var panel = this.controls.panel = document.createElement('div');
         panel.setAttribute('pseudo', '-webkit-media-controls-panel');
         panel.setAttribute('aria-label', (this.isAudio() ? this.UIString('Audio Playback') : this.UIString('Video Playback')));
@@ -1052,8 +1049,7 @@ Controller.prototype = {
 
     addControls: function()
     {
-        this.base.appendChild(this.controls.panelCompositedParent);
-        this.controls.panelCompositedParent.appendChild(this.controls.panel);
+        this.base.appendChild(this.controls.panel);
         this.setNeedsTimelineMetricsUpdate();
     },
 
index a95d76b..560755b 100644 (file)
@@ -136,6 +136,10 @@ ControllerIOS.prototype = {
     createControls: function() {
         Controller.prototype.createControls.call(this);
 
+        var panelCompositedParent = this.controls.panelCompositedParent = document.createElement('div');
+        panelCompositedParent.setAttribute('pseudo', '-webkit-media-controls-panel-composited-parent');
+
+
         var wirelessPlaybackStatus = this.controls.wirelessPlaybackStatus = document.createElement('div');
         wirelessPlaybackStatus.setAttribute('pseudo', '-webkit-media-controls-wireless-playback-status');
         wirelessPlaybackStatus.classList.add(this.ClassNames.hidden);
@@ -218,6 +222,12 @@ ControllerIOS.prototype = {
         this.updateShouldListenForPlaybackTargetAvailabilityEvent();
     },
 
+    addControls: function() {
+        this.base.appendChild(this.controls.panelCompositedParent);
+        this.controls.panelCompositedParent.appendChild(this.controls.panel);
+        this.setNeedsTimelineMetricsUpdate();
+    },
+
     updateControls: function() {
         if (this.shouldHaveStartPlaybackButton())
             this.setControlsType(ControllerIOS.StartPlaybackControls);