Changeset 212977 in webkit


Ignore:
Timestamp:
Feb 24, 2017 4:36:19 PM (7 years ago)
Author:
achristensen@apple.com
Message:

Non-special relative URLs should not ignore extra slashes
https://bugs.webkit.org/show_bug.cgi?id=168834

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

  • web-platform-tests/url/a-element-expected.txt:
  • web-platform-tests/url/a-element-xhtml-expected.txt:
  • web-platform-tests/url/url-constructor-expected.txt:

Source/WebCore:

Special authority ignore slashes state should, as its name implies,
only be reached by special URLs. See https://url.spec.whatwg.org/#relative-slash-state

Covered by newly passing web platform tests.

  • platform/URLParser.cpp:

(WebCore::URLParser::parse):

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r212953 r212977  
     12017-02-24  Alex Christensen  <achristensen@webkit.org>
     2
     3        Non-special relative URLs should not ignore extra slashes
     4        https://bugs.webkit.org/show_bug.cgi?id=168834
     5
     6        Reviewed by Sam Weinig.
     7
     8        * web-platform-tests/url/a-element-expected.txt:
     9        * web-platform-tests/url/a-element-xhtml-expected.txt:
     10        * web-platform-tests/url/url-constructor-expected.txt:
     11
    1122017-02-24  Alex Christensen  <achristensen@webkit.org>
    213
  • trunk/LayoutTests/imported/w3c/web-platform-tests/url/a-element-expected.txt

    r212953 r212977  
    404404PASS Parsing: <sc://?> against <about:blank>
    405405PASS Parsing: <sc://#> against <about:blank>
    406 FAIL Parsing: <///> against <sc://x/> assert_equals: href expected "sc:///" but got "///"
    407 FAIL Parsing: <////> against <sc://x/> assert_equals: href expected "sc:////" but got "////"
    408 FAIL Parsing: <////x/> against <sc://x/> assert_equals: href expected "sc:////x/" but got "sc://x/"
     406PASS Parsing: <///> against <sc://x/>
     407PASS Parsing: <////> against <sc://x/>
     408PASS Parsing: <////x/> against <sc://x/>
    409409PASS Parsing: <tftp://foobar.com/someconfig;mode=netascii> against <about:blank>
    410410PASS Parsing: <telnet://user:pass@foobar.com:23/> against <about:blank>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/url/a-element-xhtml-expected.txt

    r212953 r212977  
    404404PASS Parsing: <sc://?> against <about:blank>
    405405PASS Parsing: <sc://#> against <about:blank>
    406 FAIL Parsing: <///> against <sc://x/> assert_equals: href expected "sc:///" but got "///"
    407 FAIL Parsing: <////> against <sc://x/> assert_equals: href expected "sc:////" but got "////"
    408 FAIL Parsing: <////x/> against <sc://x/> assert_equals: href expected "sc:////x/" but got "sc://x/"
     406PASS Parsing: <///> against <sc://x/>
     407PASS Parsing: <////> against <sc://x/>
     408PASS Parsing: <////x/> against <sc://x/>
    409409PASS Parsing: <tftp://foobar.com/someconfig;mode=netascii> against <about:blank>
    410410PASS Parsing: <telnet://user:pass@foobar.com:23/> against <about:blank>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/url/url-constructor-expected.txt

    r212953 r212977  
    412412PASS Parsing: <sc://?> against <about:blank>
    413413PASS Parsing: <sc://#> against <about:blank>
    414 FAIL Parsing: <///> against <sc://x/> Type error
    415 FAIL Parsing: <////> against <sc://x/> Type error
    416 FAIL Parsing: <////x/> against <sc://x/> assert_equals: href expected "sc:////x/" but got "sc://x/"
     414PASS Parsing: <///> against <sc://x/>
     415PASS Parsing: <////> against <sc://x/>
     416PASS Parsing: <////x/> against <sc://x/>
    417417PASS Parsing: <tftp://foobar.com/someconfig;mode=netascii> against <about:blank>
    418418PASS Parsing: <telnet://user:pass@foobar.com:23/> against <about:blank>
  • trunk/Source/WebCore/ChangeLog

    r212976 r212977  
     12017-02-24  Alex Christensen  <achristensen@webkit.org>
     2
     3        Non-special relative URLs should not ignore extra slashes
     4        https://bugs.webkit.org/show_bug.cgi?id=168834
     5
     6        Reviewed by Sam Weinig.
     7
     8        Special authority ignore slashes state should, as its name implies,
     9        only be reached by special URLs.  See https://url.spec.whatwg.org/#relative-slash-state
     10
     11        Covered by newly passing web platform tests.
     12
     13        * platform/URLParser.cpp:
     14        (WebCore::URLParser::parse):
     15
    1162017-02-24  Alexey Proskuryakov  <ap@apple.com>
    217
  • trunk/Source/WebCore/platform/URLParser.cpp

    r212953 r212977  
    3737
    3838#define URL_PARSER_DEBUGGING 0
    39 #define COMPARE_URLPARSERS 0
    4039
    4140#if URL_PARSER_DEBUGGING
     
    13901389                copyURLPartsUntil(base, URLPart::SchemeEnd, c, isUTF8Encoding);
    13911390                appendToASCIIBuffer("://", 3);
    1392                 state = State::SpecialAuthorityIgnoreSlashes;
     1391                if (m_urlIsSpecial)
     1392                    state = State::SpecialAuthorityIgnoreSlashes;
     1393                else {
     1394                    m_url.m_userStart = currentPosition(c);
     1395                    state = State::AuthorityOrHost;
     1396                    authorityOrHostBegin = c;
     1397                }
    13931398            } else {
    13941399                copyURLPartsUntil(base, URLPart::PortEnd, c, isUTF8Encoding);
Note: See TracChangeset for help on using the changeset viewer.