Title: [239967] trunk
Revision
239967
Author
[email protected]
Date
2019-01-14 18:14:16 -0800 (Mon, 14 Jan 2019)

Log Message

Bulgarian TLD should not punycode-encode URLs with Bulgarian Cyrillic characters
https://bugs.webkit.org/show_bug.cgi?id=193411
<rdar://problem/47215929>

Reviewed by Alexey Proskuryakov.

Source/WTF:

* wtf/cocoa/NSURLExtras.mm:
(WTF::allCharactersAllowedByTLDRules):

LayoutTests:

* fast/url/user-visible/cyrillic-NFD-expected.txt:
* fast/url/user-visible/cyrillic-NFD.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (239966 => 239967)


--- trunk/LayoutTests/ChangeLog	2019-01-15 01:51:13 UTC (rev 239966)
+++ trunk/LayoutTests/ChangeLog	2019-01-15 02:14:16 UTC (rev 239967)
@@ -1,3 +1,14 @@
+2019-01-14  Alex Christensen  <[email protected]>
+
+        Bulgarian TLD should not punycode-encode URLs with Bulgarian Cyrillic characters
+        https://bugs.webkit.org/show_bug.cgi?id=193411
+        <rdar://problem/47215929>
+
+        Reviewed by Alexey Proskuryakov.
+
+        * fast/url/user-visible/cyrillic-NFD-expected.txt:
+        * fast/url/user-visible/cyrillic-NFD.html:
+
 2019-01-14  John Wilander  <[email protected]>
 
         Restructure http/tests/resourceLoadStatistics/remove-blocking-in-redirect.html to address flakiness

Modified: trunk/LayoutTests/fast/url/user-visible/cyrillic-NFD-expected.txt (239966 => 239967)


--- trunk/LayoutTests/fast/url/user-visible/cyrillic-NFD-expected.txt	2019-01-15 01:51:13 UTC (rev 239966)
+++ trunk/LayoutTests/fast/url/user-visible/cyrillic-NFD-expected.txt	2019-01-15 02:14:16 UTC (rev 239967)
@@ -5,6 +5,11 @@
 
 PASS test('http://спецодежда.онлайн/') is 'http://спецодежда.онлайн/'
 PASS test('http://спецодежда.онлайн/') is 'http://спецодежда.онлайн/'
+PASS test('http://ж1-2.бг/') is 'http://ж1-2.бг/'
+PASS test('http://жabc.бг/') is 'http://xn--abc-udd.xn--90ae/'
+PASS test('http://abc.бг/') is 'http://abc.xn--90ae/'
+PASS test('http://ы.бг/') is 'http://xn--01a.xn--90ae/'
+PASS test('http://э.бг/') is 'http://xn--21a.xn--90ae/'
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/fast/url/user-visible/cyrillic-NFD.html (239966 => 239967)


--- trunk/LayoutTests/fast/url/user-visible/cyrillic-NFD.html	2019-01-15 01:51:13 UTC (rev 239966)
+++ trunk/LayoutTests/fast/url/user-visible/cyrillic-NFD.html	2019-01-15 02:14:16 UTC (rev 239967)
@@ -17,6 +17,11 @@
 
 shouldBe("test('http://спецодежда.онла\u0439н/')", "'http://спецодежда.онлайн/'");
 shouldBe("test('http://спецодежда.онла\u0438\u0306н/')", "'http://спецодежда.онлайн/'");
+shouldBe("test('http://ж1-2.бг/')", "'http://ж1-2.бг/'");
+shouldBe("test('http://жabc.бг/')", "'http://xn--abc-udd.xn--90ae/'");
+shouldBe("test('http://abc.бг/')", "'http://abc.xn--90ae/'");
+shouldBe("test('http://ы.бг/')", "'http://xn--01a.xn--90ae/'");
+shouldBe("test('http://э.бг/')", "'http://xn--21a.xn--90ae/'");
 
 </script>
 <script src=""

Modified: trunk/Source/WTF/ChangeLog (239966 => 239967)


--- trunk/Source/WTF/ChangeLog	2019-01-15 01:51:13 UTC (rev 239966)
+++ trunk/Source/WTF/ChangeLog	2019-01-15 02:14:16 UTC (rev 239967)
@@ -1,3 +1,14 @@
+2019-01-14  Alex Christensen  <[email protected]>
+
+        Bulgarian TLD should not punycode-encode URLs with Bulgarian Cyrillic characters
+        https://bugs.webkit.org/show_bug.cgi?id=193411
+        <rdar://problem/47215929>
+
+        Reviewed by Alexey Proskuryakov.
+
+        * wtf/cocoa/NSURLExtras.mm:
+        (WTF::allCharactersAllowedByTLDRules):
+
 2019-01-12  Timothy Hatcher  <[email protected]>
 
         Have prefers-color-scheme: light always match on macOS versions before Mojave.

Modified: trunk/Source/WTF/wtf/cocoa/NSURLExtras.mm (239966 => 239967)


--- trunk/Source/WTF/wtf/cocoa/NSURLExtras.mm	2019-01-15 01:51:13 UTC (rev 239966)
+++ trunk/Source/WTF/wtf/cocoa/NSURLExtras.mm	2019-01-15 02:14:16 UTC (rev 239967)
@@ -540,6 +540,16 @@
         return (ch >= 0x0430 && ch <= 0x044f) || ch == 0x0451 || ch == 0x04E9 || ch == 0x04AF || isASCIIDigit(ch) || ch == '-';
     });
 
+    // https://www.icann.org/sites/default/files/packages/lgr/lgr-second-level-bulgarian-30aug16-en.html
+    static const UChar cyrillicBG[] = {
+        '.',
+        0x0431, // CYRILLIC SMALL LETTER BE
+        0x0433 // CYRILLIC SMALL LETTER GHE
+    };
+    CHECK_RULES_IF_SUFFIX_MATCHES(cyrillicBG, [](UChar ch) {
+        return (ch >= 0x0430 && ch <= 0x044A) || ch == 0x044C || (ch >= 0x044E && ch <= 0x0450) || ch == 0x045D || isASCIIDigit(ch) || ch == '-';
+    });
+
     // Not a known top level domain with special rules.
     return NO;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to