Title: [205532] trunk
Revision
205532
Author
achristen...@apple.com
Date
2016-09-06 18:35:34 -0700 (Tue, 06 Sep 2016)

Log Message

URLParser should parse / as a relative URL
https://bugs.webkit.org/show_bug.cgi?id=161667

Reviewed by Tim Horton.

Source/WebCore:

Covered by a new API test.

* platform/URLParser.cpp:
(WebCore::URLParser::parse):

Tools:

* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (205531 => 205532)


--- trunk/Source/WebCore/ChangeLog	2016-09-07 00:49:11 UTC (rev 205531)
+++ trunk/Source/WebCore/ChangeLog	2016-09-07 01:35:34 UTC (rev 205532)
@@ -1,3 +1,15 @@
+2016-09-06  Alex Christensen  <achristen...@webkit.org>
+
+        URLParser should parse / as a relative URL
+        https://bugs.webkit.org/show_bug.cgi?id=161667
+
+        Reviewed by Tim Horton.
+
+        Covered by a new API test.
+
+        * platform/URLParser.cpp:
+        (WebCore::URLParser::parse):
+
 2016-09-06  Joseph Pecoraro  <pecor...@apple.com>
 
         Web Inspector: Avoid linkifying some schemes in console logs

Modified: trunk/Source/WebCore/platform/URLParser.cpp (205531 => 205532)


--- trunk/Source/WebCore/platform/URLParser.cpp	2016-09-07 00:49:11 UTC (rev 205531)
+++ trunk/Source/WebCore/platform/URLParser.cpp	2016-09-07 01:35:34 UTC (rev 205532)
@@ -845,6 +845,12 @@
         break;
     case State::RelativeSlash:
         LOG_FINAL_STATE("RelativeSlash");
+        copyURLPartsUntil(base, URLPart::PortEnd);
+        m_buffer.append('/');
+        m_url.m_pathAfterLastSlash = base.m_portEnd + 1;
+        m_url.m_pathEnd = m_url.m_pathAfterLastSlash;
+        m_url.m_queryEnd = m_url.m_pathAfterLastSlash;
+        m_url.m_fragmentEnd = m_url.m_pathAfterLastSlash;
         break;
     case State::SpecialAuthoritySlashes:
         LOG_FINAL_STATE("SpecialAuthoritySlashes");

Modified: trunk/Tools/ChangeLog (205531 => 205532)


--- trunk/Tools/ChangeLog	2016-09-07 00:49:11 UTC (rev 205531)
+++ trunk/Tools/ChangeLog	2016-09-07 01:35:34 UTC (rev 205532)
@@ -1,3 +1,13 @@
+2016-09-06  Alex Christensen  <achristen...@webkit.org>
+
+        URLParser should parse / as a relative URL
+        https://bugs.webkit.org/show_bug.cgi?id=161667
+
+        Reviewed by Tim Horton.
+
+        * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
+        (TestWebKitAPI::TEST_F):
+
 2016-09-06  Daniel Bates  <daba...@apple.com>
 
         [iOS] DumpRenderTree and WebKitTestRunner fail to build - "Ad Hoc code signing is not allowed with SDK 'Simulator - iOS 10.0'"

Modified: trunk/Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp (205531 => 205532)


--- trunk/Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp	2016-09-07 00:49:11 UTC (rev 205531)
+++ trunk/Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp	2016-09-07 01:35:34 UTC (rev 205532)
@@ -229,6 +229,7 @@
     checkRelativeURL("#", "http://example.org/foo/bar", {"http", "", "", "example.org", 0, "/foo/bar", "", "", "http://example.org/foo/bar#"});
     checkRelativeURL("?#", "http://example.org/foo/bar", {"http", "", "", "example.org", 0, "/foo/bar", "", "", "http://example.org/foo/bar?#"});
     checkRelativeURL("#?", "http://example.org/foo/bar", {"http", "", "", "example.org", 0, "/foo/bar", "", "?", "http://example.org/foo/bar#?"});
+    checkRelativeURL("/", "http://example.org/foo/bar", {"http", "", "", "example.org", 0, "/", "", "", "http://example.org/"});
 }
 
 static void checkURLDifferences(const String& urlString, const ExpectedParts& partsNew, const ExpectedParts& partsOld)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to