Title: [231962] trunk
Revision
231962
Author
[email protected]
Date
2018-05-18 10:31:46 -0700 (Fri, 18 May 2018)

Log Message

[iOS] Password fields obscure the text with rectangles instead of circles
https://bugs.webkit.org/show_bug.cgi?id=185760
<rdar://problem/38644697>

Reviewed by Zalan Bujtas.

Source/WebCore:

Password fields are obscured by drawing U+25CF BLACK CIRCLE. On iOS, we have custom handling
for this character. However, this custom handling is unnecessary and isn't present on macOS.
Instead, we should simply unify the password obscuring codepath between iOS and macOS.

Test: fast/text/black-circle.html

* platform/graphics/ios/FontCacheIOS.mm:
(WebCore::requiresCustomFallbackFont):
(WebCore::FontCache::getCustomFallbackFont):

LayoutTests:

* fast/text/black-circle-expected.html: Added.
* fast/text/black-circle.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (231961 => 231962)


--- trunk/LayoutTests/ChangeLog	2018-05-18 17:29:56 UTC (rev 231961)
+++ trunk/LayoutTests/ChangeLog	2018-05-18 17:31:46 UTC (rev 231962)
@@ -1,3 +1,14 @@
+2018-05-18  Myles C. Maxfield  <[email protected]>
+
+        [iOS] Password fields obscure the text with rectangles instead of circles
+        https://bugs.webkit.org/show_bug.cgi?id=185760
+        <rdar://problem/38644697>
+
+        Reviewed by Zalan Bujtas.
+
+        * fast/text/black-circle-expected.html: Added.
+        * fast/text/black-circle.html: Added.
+
 2018-05-18  Chris Dumez  <[email protected]>
 
         Unreviewed, rolling out r231935.

Added: trunk/LayoutTests/fast/text/black-circle-expected.html (0 => 231962)


--- trunk/LayoutTests/fast/text/black-circle-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/text/black-circle-expected.html	2018-05-18 17:31:46 UTC (rev 231962)
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+</head>
+<body>
+This test makes sure that U+25CF BLACK CIRCLE is rendered as an actual dot. The test passes if you see a black square below.
+<div style="position: relative; width: 50px; height: 50px; overflow: hidden; background-color: black;">
+</div>
+</body>
+</html>

Added: trunk/LayoutTests/fast/text/black-circle.html (0 => 231962)


--- trunk/LayoutTests/fast/text/black-circle.html	                        (rev 0)
+++ trunk/LayoutTests/fast/text/black-circle.html	2018-05-18 17:31:46 UTC (rev 231962)
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width, initial-scale=1">
+</head>
+<body>
+This test makes sure that U+25CF BLACK CIRCLE is rendered as an actual dot. The test passes if you see a black square below.
+<div style="position: relative; width: 50px; height: 50px; overflow: hidden;">
+<div style="font-family: 'Courier'; transform-origin: left top; transform: scale(20); position: absolute; left: -60px; top: -150px;">&#x25CF;</div>
+</div>
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (231961 => 231962)


--- trunk/Source/WebCore/ChangeLog	2018-05-18 17:29:56 UTC (rev 231961)
+++ trunk/Source/WebCore/ChangeLog	2018-05-18 17:31:46 UTC (rev 231962)
@@ -1,3 +1,21 @@
+2018-05-18  Myles C. Maxfield  <[email protected]>
+
+        [iOS] Password fields obscure the text with rectangles instead of circles
+        https://bugs.webkit.org/show_bug.cgi?id=185760
+        <rdar://problem/38644697>
+
+        Reviewed by Zalan Bujtas.
+
+        Password fields are obscured by drawing U+25CF BLACK CIRCLE. On iOS, we have custom handling
+        for this character. However, this custom handling is unnecessary and isn't present on macOS.
+        Instead, we should simply unify the password obscuring codepath between iOS and macOS.
+
+        Test: fast/text/black-circle.html
+
+        * platform/graphics/ios/FontCacheIOS.mm:
+        (WebCore::requiresCustomFallbackFont):
+        (WebCore::FontCache::getCustomFallbackFont):
+
 2018-05-18  Chris Dumez  <[email protected]>
 
         Unreviewed, rolling out r231935.

Modified: trunk/Source/WebCore/platform/graphics/ios/FontCacheIOS.mm (231961 => 231962)


--- trunk/Source/WebCore/platform/graphics/ios/FontCacheIOS.mm	2018-05-18 17:29:56 UTC (rev 231961)
+++ trunk/Source/WebCore/platform/graphics/ios/FontCacheIOS.mm	2018-05-18 17:31:46 UTC (rev 231962)
@@ -45,7 +45,7 @@
 
 bool requiresCustomFallbackFont(UChar32 character)
 {
-    return character == AppleLogo || character == blackCircle || character == narrowNonBreakingSpace;
+    return character == AppleLogo || character == narrowNonBreakingSpace;
 }
 
 FontPlatformData* FontCache::getCustomFallbackFont(const UInt32 c, const FontDescription& description)
@@ -53,7 +53,6 @@
     ASSERT(requiresCustomFallbackFont(c));
 
     static NeverDestroyed<AtomicString> helveticaFamily("Helvetica Neue", AtomicString::ConstructFromLiteral);
-    static NeverDestroyed<AtomicString> lockClockFamily("LockClock-Light", AtomicString::ConstructFromLiteral);
     static NeverDestroyed<AtomicString> timesNewRomanPSMTFamily("TimesNewRomanPSMT", AtomicString::ConstructFromLiteral);
 
     AtomicString* family = nullptr;
@@ -61,9 +60,6 @@
     case AppleLogo:
         family = &helveticaFamily.get();
         break;
-    case blackCircle:
-        family = &lockClockFamily.get();
-        break;
     case narrowNonBreakingSpace:
         family = &timesNewRomanPSMTFamily.get();
         break;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to