Diff
Modified: tags/Safari-600.1.3/LayoutTests/ChangeLog (171596 => 171597)
--- tags/Safari-600.1.3/LayoutTests/ChangeLog 2014-07-25 15:32:19 UTC (rev 171596)
+++ tags/Safari-600.1.3/LayoutTests/ChangeLog 2014-07-25 15:33:58 UTC (rev 171597)
@@ -1,3 +1,29 @@
+2014-07-25 Lucas Forschler <[email protected]>
+
+ Merge r171593
+
+ 2014-07-25 Zalan Bujtas <[email protected]>
+
+ Subpixel rendering: iOS video playback controls look blurry.
+ https://bugs.webkit.org/show_bug.cgi?id=135245
+ <rdar://problem/16878037>
+
+ Reviewed by Simon Fraser.
+
+ This patch introduces a compositing parent of the overlay control panel so that
+ the transformed overlay panel becomes sharp. This is a workaround for webkit.org/b/135246.
+
+ Can't find a way to test it yet.
+
+ * 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.txt:
+ * platform/mac/media/controls-after-reload-expected.txt:
+ * platform/mac/media/controls-strict-expected.txt:
+ * platform/mac/media/controls-without-preload-expected.txt:
+ * platform/mac/media/media-controls-clone-expected.txt:
+ * platform/mac/media/video-no-audio-expected.txt:
+
2014-07-24 Lucas Forschler <[email protected]>
Merge r171567
Modified: tags/Safari-600.1.3/LayoutTests/platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt (171596 => 171597)
--- tags/Safari-600.1.3/LayoutTests/platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt 2014-07-25 15:32:19 UTC (rev 171596)
+++ tags/Safari-600.1.3/LayoutTests/platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt 2014-07-25 15:33:58 UTC (rev 171597)
@@ -13,7 +13,9 @@
layer at (8,26) size 300x150
RenderFlexibleBox {DIV} at (0,0) size 300x150
layer at (8,151) size 300x25
- RenderFlexibleBox {DIV} at (0,125) size 300x25
+ RenderBlock {DIV} at (0,125) size 300x25
+layer at (8,151) size 300x25
+ RenderFlexibleBox {DIV} at (0,0) size 300x25
layer at (14,156) size 16x16
RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
layer at (40,156) size 16x16
Modified: tags/Safari-600.1.3/LayoutTests/platform/mac/fast/layers/video-layer-expected.txt (171596 => 171597)
--- tags/Safari-600.1.3/LayoutTests/platform/mac/fast/layers/video-layer-expected.txt 2014-07-25 15:32:19 UTC (rev 171596)
+++ tags/Safari-600.1.3/LayoutTests/platform/mac/fast/layers/video-layer-expected.txt 2014-07-25 15:33:58 UTC (rev 171597)
@@ -18,7 +18,9 @@
layer at (59,111) size 300x150
RenderFlexibleBox {DIV} at (1,1) size 300x150
layer at (59,236) size 300x25
- RenderFlexibleBox {DIV} at (0,125) size 300x25
+ RenderBlock {DIV} at (0,125) size 300x25
+layer at (59,236) size 300x25
+ RenderFlexibleBox {DIV} at (0,0) size 300x25
layer at (65,241) size 16x16
RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
layer at (91,241) size 16x16
Modified: tags/Safari-600.1.3/LayoutTests/platform/mac/media/audio-controls-rendering-expected.txt (171596 => 171597)
--- tags/Safari-600.1.3/LayoutTests/platform/mac/media/audio-controls-rendering-expected.txt 2014-07-25 15:32:19 UTC (rev 171596)
+++ tags/Safari-600.1.3/LayoutTests/platform/mac/media/audio-controls-rendering-expected.txt 2014-07-25 15:33:58 UTC (rev 171597)
@@ -16,6 +16,7 @@
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
@@ -54,6 +55,7 @@
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
@@ -94,8 +96,9 @@
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,75) size 320x25
+ RenderFlexibleBox {DIV} at (0,0) size 320x25
layer at (14,208) size 16x16
RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
layer at (40,208) size 16x16
Modified: tags/Safari-600.1.3/LayoutTests/platform/mac/media/controls-after-reload-expected.txt (171596 => 171597)
--- tags/Safari-600.1.3/LayoutTests/platform/mac/media/controls-after-reload-expected.txt 2014-07-25 15:32:19 UTC (rev 171596)
+++ tags/Safari-600.1.3/LayoutTests/platform/mac/media/controls-after-reload-expected.txt 2014-07-25 15:33:58 UTC (rev 171597)
@@ -13,7 +13,9 @@
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
+ RenderBlock {DIV} at (0,215) size 320x25
+layer at (8,257) size 320x25
+ RenderFlexibleBox {DIV} at (0,0) size 320x25
layer at (14,262) size 16x16
RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
layer at (40,262) size 16x16
Modified: tags/Safari-600.1.3/LayoutTests/platform/mac/media/controls-strict-expected.txt (171596 => 171597)
--- tags/Safari-600.1.3/LayoutTests/platform/mac/media/controls-strict-expected.txt 2014-07-25 15:32:19 UTC (rev 171596)
+++ tags/Safari-600.1.3/LayoutTests/platform/mac/media/controls-strict-expected.txt 2014-07-25 15:33:58 UTC (rev 171597)
@@ -13,7 +13,9 @@
layer at (8,50) size 320x240
RenderFlexibleBox {DIV} at (0,0) size 320x240
layer at (8,265) size 320x25
- RenderFlexibleBox {DIV} at (0,215) size 320x25
+ RenderBlock {DIV} at (0,215) size 320x25
+layer at (8,265) size 320x25
+ RenderFlexibleBox {DIV} at (0,0) size 320x25
layer at (14,270) size 16x16
RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
layer at (40,270) size 16x16
Modified: tags/Safari-600.1.3/LayoutTests/platform/mac/media/controls-without-preload-expected.txt (171596 => 171597)
--- tags/Safari-600.1.3/LayoutTests/platform/mac/media/controls-without-preload-expected.txt 2014-07-25 15:32:19 UTC (rev 171596)
+++ tags/Safari-600.1.3/LayoutTests/platform/mac/media/controls-without-preload-expected.txt 2014-07-25 15:33:58 UTC (rev 171597)
@@ -13,7 +13,9 @@
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
+ RenderBlock {DIV} at (0,215) size 320x25
+layer at (8,257) size 320x25
+ RenderFlexibleBox {DIV} at (0,0) size 320x25
layer at (14,262) size 16x16
RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
layer at (40,262) size 16x16
Modified: tags/Safari-600.1.3/LayoutTests/platform/mac/media/media-controls-clone-expected.txt (171596 => 171597)
--- tags/Safari-600.1.3/LayoutTests/platform/mac/media/media-controls-clone-expected.txt 2014-07-25 15:32:19 UTC (rev 171596)
+++ tags/Safari-600.1.3/LayoutTests/platform/mac/media/media-controls-clone-expected.txt 2014-07-25 15:33:58 UTC (rev 171597)
@@ -14,7 +14,9 @@
layer at (8,8) size 300x150
RenderFlexibleBox {DIV} at (0,0) size 300x150
layer at (8,133) size 300x25
- RenderFlexibleBox {DIV} at (0,125) size 300x25
+ RenderBlock {DIV} at (0,125) size 300x25
+layer at (8,133) size 300x25
+ RenderFlexibleBox {DIV} at (0,0) size 300x25
layer at (14,138) size 16x16
RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
layer at (40,138) size 16x16
@@ -25,6 +27,7 @@
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
@@ -38,7 +41,9 @@
layer at (8,162) size 300x150
RenderFlexibleBox {DIV} at (0,0) size 300x150
layer at (8,287) size 300x25
- RenderFlexibleBox {DIV} at (0,125) size 300x25
+ RenderBlock {DIV} at (0,125) size 300x25
+layer at (8,287) size 300x25
+ RenderFlexibleBox {DIV} at (0,0) size 300x25
layer at (14,292) size 16x16
RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
layer at (40,292) size 16x16
@@ -49,6 +54,7 @@
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
Modified: tags/Safari-600.1.3/LayoutTests/platform/mac/media/video-no-audio-expected.txt (171596 => 171597)
--- tags/Safari-600.1.3/LayoutTests/platform/mac/media/video-no-audio-expected.txt 2014-07-25 15:32:19 UTC (rev 171596)
+++ tags/Safari-600.1.3/LayoutTests/platform/mac/media/video-no-audio-expected.txt 2014-07-25 15:33:58 UTC (rev 171597)
@@ -13,7 +13,9 @@
layer at (8,42) size 352x288
RenderFlexibleBox {DIV} at (0,0) size 352x288
layer at (8,305) size 352x25
- RenderFlexibleBox {DIV} at (0,263) size 352x25
+ RenderBlock {DIV} at (0,263) size 352x25
+layer at (8,305) size 352x25
+ RenderFlexibleBox {DIV} at (0,0) size 352x25
layer at (14,310) size 16x16
RenderButton {BUTTON} at (6,4) size 16x17 [color=#FFFFFF]
layer at (40,310) size 16x16
Modified: tags/Safari-600.1.3/Source/WebCore/ChangeLog (171596 => 171597)
--- tags/Safari-600.1.3/Source/WebCore/ChangeLog 2014-07-25 15:32:19 UTC (rev 171596)
+++ tags/Safari-600.1.3/Source/WebCore/ChangeLog 2014-07-25 15:33:58 UTC (rev 171597)
@@ -1,3 +1,32 @@
+2014-07-25 Lucas Forschler <[email protected]>
+
+ Merge r171593
+
+ 2014-07-25 Zalan Bujtas <[email protected]>
+
+ Subpixel rendering: iOS video playback controls look blurry.
+ https://bugs.webkit.org/show_bug.cgi?id=135245
+ <rdar://problem/16878037>
+
+ Reviewed by Simon Fraser.
+
+ This patch introduces a compositing parent of the overlay control panel so that
+ the transformed overlay panel becomes sharp. This is a workaround for webkit.org/b/135246.
+
+ Can't find a way to test it yet.
+
+ * Modules/mediacontrols/mediaControlsApple.css:
+ (video::-webkit-media-controls-panel-composited-parent):
+ * Modules/mediacontrols/mediaControlsApple.js:
+ (Controller.prototype.createControls):
+ (Controller.prototype.addControls):
+ * Modules/mediacontrols/mediaControlsiOS.css:
+ (video::-webkit-media-controls-panel-composited-parent):
+ * Modules/mediacontrols/mediaControlsiOS.js: This is a workaround for webkit.org/b/135248
+ It pushes the overlay panel down to close the gap with the video element. Since the
+ panel's size in css pixels is scale dependent, the gap needs to be scale dependent too.
+ (ControllerIOS.prototype.set pageScaleFactor):
+
2014-07-24 Lucas Forschler <[email protected]>
Merge r171203
Modified: tags/Safari-600.1.3/Source/WebCore/Modules/mediacontrols/mediaControlsApple.css (171596 => 171597)
--- tags/Safari-600.1.3/Source/WebCore/Modules/mediacontrols/mediaControlsApple.css 2014-07-25 15:32:19 UTC (rev 171596)
+++ tags/Safari-600.1.3/Source/WebCore/Modules/mediacontrols/mediaControlsApple.css 2014-07-25 15:33:58 UTC (rev 171597)
@@ -64,6 +64,11 @@
-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;
Modified: tags/Safari-600.1.3/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js (171596 => 171597)
--- tags/Safari-600.1.3/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js 2014-07-25 15:32:19 UTC (rev 171596)
+++ tags/Safari-600.1.3/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js 2014-07-25 15:33:58 UTC (rev 171597)
@@ -285,6 +285,9 @@
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')));
@@ -1026,7 +1029,8 @@
addControls: function()
{
- this.base.appendChild(this.controls.panel);
+ this.base.appendChild(this.controls.panelCompositedParent);
+ this.controls.panelCompositedParent.appendChild(this.controls.panel);
this.setNeedsTimelineMetricsUpdate();
},
Modified: tags/Safari-600.1.3/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.css (171596 => 171597)
--- tags/Safari-600.1.3/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.css 2014-07-25 15:32:19 UTC (rev 171596)
+++ tags/Safari-600.1.3/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.css 2014-07-25 15:33:58 UTC (rev 171597)
@@ -114,6 +114,11 @@
-webkit-flex: 1 1 auto;
}
+video::-webkit-media-controls-panel-composited-parent {
+ -webkit-transform: translateZ(0);
+ width: 100%;
+}
+
audio::-webkit-media-controls-panel,
video::-webkit-media-controls-panel {
box-sizing: border-box;
Modified: tags/Safari-600.1.3/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js (171596 => 171597)
--- tags/Safari-600.1.3/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js 2014-07-25 15:32:19 UTC (rev 171596)
+++ tags/Safari-600.1.3/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js 2014-07-25 15:33:58 UTC (rev 171597)
@@ -456,11 +456,15 @@
this._pageScaleFactor = newScaleFactor;
if (newScaleFactor) {
- var scaleTransform = "scale(" + (1 / newScaleFactor) + ")";
+ var scaleValue = 1 / newScaleFactor;
+ var scaleTransform = "scale(" + scaleValue + ")";
if (this.controls.startPlaybackButton)
this.controls.startPlaybackButton.style.webkitTransform = scaleTransform;
if (this.controls.panel) {
- this.controls.panel.style.width = (newScaleFactor * 100) + "%";
+ var bottomAligment = -2 * scaleValue;
+ this.controls.panel.style.bottom = bottomAligment + "px";
+ this.controls.panel.style.paddingBottom = -(newScaleFactor * bottomAligment) + "px";
+ this.controls.panel.style.width = Math.ceil(newScaleFactor * 100) + "%";
this.controls.panel.style.webkitTransform = scaleTransform;
this.setNeedsTimelineMetricsUpdate();
this.updateProgress();