RESOLVED FIXED 170798
Make WebCore::topPrivatelyControlledDomain() return "localhost" for localhost
https://bugs.webkit.org/show_bug.cgi?id=170798
Summary Make WebCore::topPrivatelyControlledDomain() return "localhost" for localhost
John Wilander
Reported 2017-04-12 18:00:23 PDT
WebCore::topPrivatelyControlledDomain() is used for partitioning and should return "localhost" if the host domain is "localhost".
Attachments
Patch (2.50 KB, patch)
2017-04-12 18:19 PDT, John Wilander
no flags
Patch (4.09 KB, patch)
2017-04-17 15:46 PDT, John Wilander
no flags
Patch for landing (4.27 KB, patch)
2017-04-18 16:21 PDT, John Wilander
no flags
Radar WebKit Bug Importer
Comment 1 2017-04-12 18:04:10 PDT
John Wilander
Comment 2 2017-04-12 18:19:28 PDT
Alex Christensen
Comment 3 2017-04-12 22:24:20 PDT
Comment on attachment 306959 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=306959&action=review > Source/WebCore/platform/mac/PublicSuffixMac.mm:48 > + if ([domain _web_looksLikeIPAddress] || [domain isEqualToString:@"localhost"]) Let's do a case-insensitive comparison and add a test for LocalHost.
John Wilander
Comment 4 2017-04-17 15:46:30 PDT
Alex Christensen
Comment 5 2017-04-18 14:34:01 PDT
Comment on attachment 307309 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=307309&action=review > Source/WebCore/platform/mac/PublicSuffixMac.mm:54 > + const auto& lowercaseDomain = domain.convertToASCIILowercase(); I guess punycode encoding should not happen here. This seems correct. > Tools/TestWebKitAPI/Tests/mac/PublicSuffix.mm:64 > + EXPECT_FALSE(isPublicSuffix("")); Is this the UTF-8 encoding if an uppercase non-ASCII character? Careful when committing, because sometimes our tools like webkit-patch UTF-8 encode non-ASCII characters. svn commit doesn't change the characters. We should probably include a test with an uppercase non-ASCII character and a test with a lowercase non-ASCII character just for fun. > Tools/TestWebKitAPI/Tests/mac/PublicSuffix.mm:90 > + EXPECT_EQ(String("example.com"), topPrivatelyControlledDomain("ExamPle.com")); And let's add a test with a.b.subdomain.Example.com
John Wilander
Comment 6 2017-04-18 16:21:12 PDT
Created attachment 307433 [details] Patch for landing
John Wilander
Comment 7 2017-04-18 16:22:08 PDT
(In reply to Alex Christensen from comment #5) > Comment on attachment 307309 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=307309&action=review > > > Source/WebCore/platform/mac/PublicSuffixMac.mm:54 > > + const auto& lowercaseDomain = domain.convertToASCIILowercase(); > > I guess punycode encoding should not happen here. This seems correct. > > > Tools/TestWebKitAPI/Tests/mac/PublicSuffix.mm:64 > > + EXPECT_FALSE(isPublicSuffix("")); > > Is this the UTF-8 encoding if an uppercase non-ASCII character? Careful > when committing, because sometimes our tools like webkit-patch UTF-8 encode > non-ASCII characters. svn commit doesn't change the characters. > We should probably include a test with an uppercase non-ASCII character and > a test with a lowercase non-ASCII character just for fun. > > > Tools/TestWebKitAPI/Tests/mac/PublicSuffix.mm:90 > > + EXPECT_EQ(String("example.com"), topPrivatelyControlledDomain("ExamPle.com")); > > And let's add a test with a.b.subdomain.Example.com All done. Thanks, Alex!
WebKit Commit Bot
Comment 8 2017-04-18 17:04:54 PDT
Comment on attachment 307433 [details] Patch for landing Clearing flags on attachment: 307433 Committed r215489: <http://trac.webkit.org/changeset/215489>
WebKit Commit Bot
Comment 9 2017-04-18 17:04:56 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.