Title: [211105] branches/safari-603-branch

Diff

Modified: branches/safari-603-branch/Source/WebCore/ChangeLog (211104 => 211105)


--- branches/safari-603-branch/Source/WebCore/ChangeLog	2017-01-24 21:22:53 UTC (rev 211104)
+++ branches/safari-603-branch/Source/WebCore/ChangeLog	2017-01-24 21:22:56 UTC (rev 211105)
@@ -1,5 +1,25 @@
 2017-01-24  Matthew Hanson  <[email protected]>
 
+        Merge r211058. rdar://problem/29526875
+
+    2017-01-23  Alex Christensen  <[email protected]>
+
+            Make URLs with non-special schemes and a query or fragment but no slash after the host more compatible
+            https://bugs.webkit.org/show_bug.cgi?id=167317
+            <rdar://problem/29526875>
+
+            Reviewed by Sam Weinig.
+
+            This is currently being added to the URL spec in https://github.com/whatwg/url/issues/212
+            Covered by new API tests.
+
+            * platform/URLParser.cpp:
+            (WebCore::URLParser::parse):
+            Only add a slash if there wasn't one if the URL has a special scheme.
+            This new behavior matches the old behavior of URL::parse.
+
+2017-01-24  Matthew Hanson  <[email protected]>
+
         Merge r211045. rdar://problem/29486368
 
     2017-01-23  Jer Noble  <[email protected]>

Modified: branches/safari-603-branch/Source/WebCore/platform/URLParser.cpp (211104 => 211105)


--- branches/safari-603-branch/Source/WebCore/platform/URLParser.cpp	2017-01-24 21:22:53 UTC (rev 211104)
+++ branches/safari-603-branch/Source/WebCore/platform/URLParser.cpp	2017-01-24 21:22:56 UTC (rev 211105)
@@ -1450,8 +1450,10 @@
                             return;
                         }
                         if (UNLIKELY(!isSlash)) {
-                            syntaxViolation(c);
-                            appendToASCIIBuffer('/');
+                            if (m_urlIsSpecial) {
+                                syntaxViolation(c);
+                                appendToASCIIBuffer('/');
+                            }
                             m_url.m_pathAfterLastSlash = currentPosition(c);
                         }
                     }

Modified: branches/safari-603-branch/Tools/ChangeLog (211104 => 211105)


--- branches/safari-603-branch/Tools/ChangeLog	2017-01-24 21:22:53 UTC (rev 211104)
+++ branches/safari-603-branch/Tools/ChangeLog	2017-01-24 21:22:56 UTC (rev 211105)
@@ -1,5 +1,19 @@
 2017-01-24  Matthew Hanson  <[email protected]>
 
+        Merge r211058. rdar://problem/29526875
+
+    2017-01-23  Alex Christensen  <[email protected]>
+
+            Make URLs with non-special schemes and a query or fragment but no slash after the host more compatible
+            https://bugs.webkit.org/show_bug.cgi?id=167317
+
+            Reviewed by Sam Weinig.
+
+            * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
+            (TestWebKitAPI::TEST_F):
+
+2017-01-24  Matthew Hanson  <[email protected]>
+
         Merge r211045. rdar://problem/29486368
 
     2017-01-23  Jer Noble  <[email protected]>

Modified: branches/safari-603-branch/Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp (211104 => 211105)


--- branches/safari-603-branch/Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp	2017-01-24 21:22:53 UTC (rev 211104)
+++ branches/safari-603-branch/Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp	2017-01-24 21:22:56 UTC (rev 211105)
@@ -630,6 +630,10 @@
     checkRelativeURL("", "applewebdata://Host", {"applewebdata", "", "", "Host", 0, "", "", "", "applewebdata://Host"});
     checkRelativeURL("?query", "applewebdata://Host", {"applewebdata", "", "", "Host", 0, "", "query", "", "applewebdata://Host?query"});
     checkRelativeURL("#fragment", "applewebdata://Host", {"applewebdata", "", "", "Host", 0, "", "", "fragment", "applewebdata://Host#fragment"});
+    checkRelativeURL("notspecial://something?", "file:////var//containers//stuff/", {"notspecial", "", "", "something", 0, "", "", "", "notspecial://something?"}, TestTabs::No);
+    checkRelativeURL("notspecial://something#", "file:////var//containers//stuff/", {"notspecial", "", "", "something", 0, "", "", "", "notspecial://something#"}, TestTabs::No);
+    checkRelativeURL("http://something?", "file:////var//containers//stuff/", {"http", "", "", "something", 0, "/", "", "", "http://something/?"}, TestTabs::No);
+    checkRelativeURL("http://something#", "file:////var//containers//stuff/", {"http", "", "", "something", 0, "/", "", "", "http://something/#"}, TestTabs::No);
 
     // The checking of slashes in SpecialAuthoritySlashes needed to get this to pass contradicts what is in the spec,
     // but it is included in the web platform tests.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to