Title: [271388] trunk
Revision
271388
Author
[email protected]
Date
2021-01-11 18:52:17 -0800 (Mon, 11 Jan 2021)

Log Message

Safari 14 on 2x display renders NYS DMV page as blurry
https://bugs.webkit.org/show_bug.cgi?id=220528
<rdar://problem/71440246>

Reviewed by Tim Horton.

Source/WebCore:

Certain combinations of nested perspective and transform cause Core Animation to
rasterize at unit scale, which makes layers blurry on Retina displays.

Enable code that was already used on iOS to set layer rasterization scale.

Test: compositing/contents-scale/hidpi-tests/rasterization-scale.html

* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(WebCore::PlatformCALayerCocoa::setContentsScale):

LayoutTests:

* compositing/contents-scale/hidpi-tests/rasterization-scale-expected.html: Added.
* compositing/contents-scale/hidpi-tests/rasterization-scale.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (271387 => 271388)


--- trunk/LayoutTests/ChangeLog	2021-01-12 01:11:37 UTC (rev 271387)
+++ trunk/LayoutTests/ChangeLog	2021-01-12 02:52:17 UTC (rev 271388)
@@ -1,3 +1,14 @@
+2021-01-11  Simon Fraser  <[email protected]>
+
+        Safari 14 on 2x display renders NYS DMV page as blurry
+        https://bugs.webkit.org/show_bug.cgi?id=220528
+        <rdar://problem/71440246>
+
+        Reviewed by Tim Horton.
+
+        * compositing/contents-scale/hidpi-tests/rasterization-scale-expected.html: Added.
+        * compositing/contents-scale/hidpi-tests/rasterization-scale.html: Added.
+
 2021-01-11  Megan Gardner  <[email protected]>
 
         Double tap to select does not work if the page clears selections on tap, like grammarly.com does

Added: trunk/LayoutTests/compositing/contents-scale/hidpi-tests/rasterization-scale-expected.html (0 => 271388)


--- trunk/LayoutTests/compositing/contents-scale/hidpi-tests/rasterization-scale-expected.html	                        (rev 0)
+++ trunk/LayoutTests/compositing/contents-scale/hidpi-tests/rasterization-scale-expected.html	2021-01-12 02:52:17 UTC (rev 271388)
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta name="viewport" content="initial-scale=1.0">
+    <style>
+        .container {
+            overflow: hidden;
+            padding: 10px;
+            height: 2450px;
+        }
+        
+        .child {
+            height: 2500px;
+            overflow: hidden;
+            transform: translateZ(0);
+        }
+    </style>
+</head>
+<body>
+
+<div class="container">
+    <div class="child">
+        <p>This text should not be blurry on retina devices</p>
+    </div>
+</div>
+</body>
+</html>

Added: trunk/LayoutTests/compositing/contents-scale/hidpi-tests/rasterization-scale.html (0 => 271388)


--- trunk/LayoutTests/compositing/contents-scale/hidpi-tests/rasterization-scale.html	                        (rev 0)
+++ trunk/LayoutTests/compositing/contents-scale/hidpi-tests/rasterization-scale.html	2021-01-12 02:52:17 UTC (rev 271388)
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta name="viewport" content="initial-scale=1.0">
+    <style>
+        .container {
+            perspective: 1000px;
+            overflow: hidden;
+            padding: 10px;
+            height: 2450px;
+        }
+        
+        .child {
+            height: 2500px;
+            overflow: hidden;
+            perspective: 1000px;
+            transform: translateZ(0);
+        }
+    </style>
+</head>
+<body>
+
+<div class="container">
+    <div class="child">
+        <p>This text should not be blurry on retina devices</p>
+    </div>
+</div>
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (271387 => 271388)


--- trunk/Source/WebCore/ChangeLog	2021-01-12 01:11:37 UTC (rev 271387)
+++ trunk/Source/WebCore/ChangeLog	2021-01-12 02:52:17 UTC (rev 271388)
@@ -1,3 +1,21 @@
+2021-01-11  Simon Fraser  <[email protected]>
+
+        Safari 14 on 2x display renders NYS DMV page as blurry
+        https://bugs.webkit.org/show_bug.cgi?id=220528
+        <rdar://problem/71440246>
+
+        Reviewed by Tim Horton.
+
+        Certain combinations of nested perspective and transform cause Core Animation to
+        rasterize at unit scale, which makes layers blurry on Retina displays.
+
+        Enable code that was already used on iOS to set layer rasterization scale.
+
+        Test: compositing/contents-scale/hidpi-tests/rasterization-scale.html
+
+        * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
+        (WebCore::PlatformCALayerCocoa::setContentsScale):
+
 2021-01-11  Peng Liu  <[email protected]>
 
         Receiving two enter/exit fullscreen delegate callbacks on iPad when presenting fullscreen elements

Modified: trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm (271387 => 271388)


--- trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm	2021-01-12 01:11:37 UTC (rev 271387)
+++ trunk/Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm	2021-01-12 02:52:17 UTC (rev 271388)
@@ -915,9 +915,7 @@
 {
     BEGIN_BLOCK_OBJC_EXCEPTIONS
     [m_layer setContentsScale:value];
-#if PLATFORM(IOS_FAMILY)
     [m_layer setRasterizationScale:value];
-#endif
     END_BLOCK_OBJC_EXCEPTIONS
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to