Title: [176067] branches/safari-600.3-branch/Source/WebCore
- Revision
- 176067
- Author
- [email protected]
- Date
- 2014-11-12 23:36:20 -0800 (Wed, 12 Nov 2014)
Log Message
Merged r175268. rdar://problems/18883890
Modified Paths
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