Title: [292856] trunk
Revision
292856
Author
commit-qu...@webkit.org
Date
2022-04-13 21:38:41 -0700 (Wed, 13 Apr 2022)

Log Message

Punycode encode U+15AF when not in context of other Canadian aboriginal code points
https://bugs.webkit.org/show_bug.cgi?id=239316
<rdar://91248059>

Patch by Alex Christensen <achristen...@webkit.org> on 2022-04-13
Reviewed by Darin Adler.

Source/WTF:

* wtf/URLHelpers.cpp:
(WTF::URLHelpers::isLookalikeCharacterOfScriptType<USCRIPT_CANADIAN_ABORIGINAL>):
(WTF::URLHelpers::isLookalikeCharacter):

Tools:

* TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (292855 => 292856)


--- trunk/Source/WTF/ChangeLog	2022-04-14 03:56:58 UTC (rev 292855)
+++ trunk/Source/WTF/ChangeLog	2022-04-14 04:38:41 UTC (rev 292856)
@@ -1,3 +1,15 @@
+2022-04-13  Alex Christensen  <achristen...@webkit.org>
+
+        Punycode encode U+15AF when not in context of other Canadian aboriginal code points
+        https://bugs.webkit.org/show_bug.cgi?id=239316
+        <rdar://91248059>
+
+        Reviewed by Darin Adler.
+
+        * wtf/URLHelpers.cpp:
+        (WTF::URLHelpers::isLookalikeCharacterOfScriptType<USCRIPT_CANADIAN_ABORIGINAL>):
+        (WTF::URLHelpers::isLookalikeCharacter):
+
 2022-04-13  Chris Dumez  <cdu...@apple.com>
 
         Drop unused AtomString(const LChar*) constructor

Modified: trunk/Source/WTF/wtf/URLHelpers.cpp (292855 => 292856)


--- trunk/Source/WTF/wtf/URLHelpers.cpp	2022-04-14 03:56:58 UTC (rev 292855)
+++ trunk/Source/WTF/wtf/URLHelpers.cpp	2022-04-14 04:38:41 UTC (rev 292856)
@@ -92,6 +92,16 @@
     }
 }
 
+template<> bool isLookalikeCharacterOfScriptType<USCRIPT_CANADIAN_ABORIGINAL>(UChar32 codePoint)
+{
+    switch (codePoint) {
+    case 0x15AF: /* CANADIAN SYLLABICS AIVILIK B */
+        return true;
+    default:
+        return false;
+    }
+}
+
 template <UScriptCode ScriptType>
 bool isOfScriptType(UChar32 codePoint)
 {
@@ -287,7 +297,8 @@
         return false;
     default:
         return isLookalikeSequence<USCRIPT_ARMENIAN>(previousCodePoint, codePoint)
-            || isLookalikeSequence<USCRIPT_TAMIL>(previousCodePoint, codePoint);
+            || isLookalikeSequence<USCRIPT_TAMIL>(previousCodePoint, codePoint)
+            || isLookalikeSequence<USCRIPT_CANADIAN_ABORIGINAL>(previousCodePoint, codePoint);
     }
 }
 

Modified: trunk/Tools/ChangeLog (292855 => 292856)


--- trunk/Tools/ChangeLog	2022-04-14 03:56:58 UTC (rev 292855)
+++ trunk/Tools/ChangeLog	2022-04-14 04:38:41 UTC (rev 292856)
@@ -1,3 +1,14 @@
+2022-04-13  Alex Christensen  <achristen...@webkit.org>
+
+        Punycode encode U+15AF when not in context of other Canadian aboriginal code points
+        https://bugs.webkit.org/show_bug.cgi?id=239316
+        <rdar://91248059>
+
+        Reviewed by Darin Adler.
+
+        * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
+        (TestWebKitAPI::TEST):
+
 2022-04-13  Matteo Flores  <matteo_flo...@apple.com>
 
         [ iOS ] TestWebKitAPI.WebKit2.CrashGPUProcessWhileCapturing is a flaky timeout

Modified: trunk/Tools/TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm (292855 => 292856)


--- trunk/Tools/TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm	2022-04-14 03:56:58 UTC (rev 292855)
+++ trunk/Tools/TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm	2022-04-14 04:38:41 UTC (rev 292856)
@@ -126,6 +126,8 @@
         "xn--g-idc"_s, // 'g' U+0581
         "xn--o-00e"_s, // U+0BE6 'o'
         "xn--o-10e"_s, // 'o' U+0BE6
+        "xn--a-53i"_s, // U+15AF 'a'
+        "xn--a-63i"_s, // 'a' U+15AF
     };
     for (auto& host : punycodedSpoofHosts) {
         auto url = "" host, "/").utf8();
@@ -152,6 +154,9 @@
 
     // Tamil
     EXPECT_STREQ("https://\u0BE6\u0BE7\u0BE8\u0BE9count/", userVisibleString(literalURL("https://\u0BE6\u0BE7\u0BE8\u0BE9count/")));
+
+    // Canadian aboriginal
+    EXPECT_STREQ("https://\u15AF\u1401abc/", userVisibleString(literalURL("https://\u15AF\u1401abc/")));
 }
 
 TEST(WTF_URLExtras, URLExtras_DivisionSign)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to