[webkit-changes] [WebKit/WebKit] 0c6de6: Strip tab and newline from Location/URL/<a>/<area>...

Chris Dumez noreply at github.com
Wed Mar 1 12:18:38 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0c6de669a59bddb53aa318ddf458c700336c6141
      https://github.com/WebKit/WebKit/commit/0c6de669a59bddb53aa318ddf458c700336c6141
  Author: Chris Dumez <cdumez at apple.com>
  Date:   2023-03-01 (Wed, 01 Mar 2023)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html
    A LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-sameish-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-sameish.html
    M LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter.html
    M LayoutTests/imported/w3c/web-platform-tests/url/url-setters-stripping.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/url/url-setters-stripping.any.worker-expected.txt
    M Source/WTF/wtf/URLParser.cpp

  Log Message:
  -----------
  Strip tab and newline from Location/URL/<a>/<area>'s protocol setter
https://bugs.webkit.org/show_bug.cgi?id=251087
rdar://104599983

Reviewed by Alex Christensen.

Our URL parser was already skipping newlines and tabs in the scheme while
parsing. However, URL::setProtocol() would call URLParser::maybeCanonicalizeScheme()
before parsing and this function would fail if the protocol contains any
newlines or tabs.

* LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html:
* LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-sameish-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-sameish.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter.html:
Resync tests after https://github.com/web-platform-tests/wpt/pull/38032.

* LayoutTests/imported/w3c/web-platform-tests/url/url-setters-stripping.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/url/url-setters-stripping.any.worker-expected.txt:
Rebaseline tests that are now passing.

* Source/WTF/wtf/URLParser.cpp:
(WTF::URLParser::maybeCanonicalizeScheme):
Update URLParser::maybeCanonicalizeScheme() to allow for newlines and tabs in
the scheme since it is allowed by the specification and our URL parser actually
handles them fine.

Canonical link: https://commits.webkit.org/261017@main




More information about the webkit-changes mailing list