Title: [176067] branches/safari-600.3-branch/Source/WebCore

Diff

Modified: branches/safari-600.3-branch/Source/WebCore/ChangeLog (176066 => 176067)


--- branches/safari-600.3-branch/Source/WebCore/ChangeLog	2014-11-13 07:07:16 UTC (rev 176066)
+++ branches/safari-600.3-branch/Source/WebCore/ChangeLog	2014-11-13 07:36:20 UTC (rev 176067)
@@ -1,3 +1,25 @@
+2014-10-28  Jer Noble  <[email protected]>
+
+        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-11-12  Beth Dakin  <[email protected]>
 
         Speculative build fix.

Modified: branches/safari-600.3-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.css (176066 => 176067)


--- branches/safari-600.3-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.css	2014-11-13 07:07:16 UTC (rev 176066)
+++ branches/safari-600.3-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.css	2014-11-13 07:36:20 UTC (rev 176067)
@@ -64,11 +64,6 @@
     -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;
@@ -536,6 +531,11 @@
     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;

Modified: branches/safari-600.3-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js (176066 => 176067)


--- branches/safari-600.3-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js	2014-11-13 07:07:16 UTC (rev 176066)
+++ branches/safari-600.3-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js	2014-11-13 07:36:20 UTC (rev 176067)
@@ -285,9 +285,6 @@
 
     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')));
@@ -1036,8 +1033,7 @@
 
     addControls: function()
     {
-        this.base.appendChild(this.controls.panelCompositedParent);
-        this.controls.panelCompositedParent.appendChild(this.controls.panel);
+        this.base.appendChild(this.controls.panel);
         this.setNeedsTimelineMetricsUpdate();
     },
 

Modified: branches/safari-600.3-branch/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js (176066 => 176067)


--- branches/safari-600.3-branch/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js	2014-11-13 07:07:16 UTC (rev 176066)
+++ branches/safari-600.3-branch/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js	2014-11-13 07:36:20 UTC (rev 176067)
@@ -141,6 +141,9 @@
     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);
@@ -211,6 +214,12 @@
         // Do nothing
     },
 
+    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);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to