Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e9fd9cc2e7f15f9c93c833bfcb443d28da33276e
      
https://github.com/WebKit/WebKit/commit/e9fd9cc2e7f15f9c93c833bfcb443d28da33276e
  Author: Wenson Hsieh <[email protected]>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M Source/WTF/wtf/URL.cpp
    M Source/WTF/wtf/URLParser.cpp
    M Source/WTF/wtf/URLParser.h
    M Tools/TestWebKitAPI/Tests/WTF/URL.cpp

  Log Message:
  -----------
  WTF::removeQueryParameters should not reencode and reparse the query string 
if nothing was removed
https://bugs.webkit.org/show_bug.cgi?id=247131

Reviewed by Chris Dumez.

Add a minor optimization to the `WTF::removeQueryParameters` helper function. 
In the case where no
query parameters were removed, we should leave that part of the query string 
alone, instead of
forcing both the key and value to become percent-encoded. Additionally, in the 
case where no query
parameters were removed altogether, we can skip setting (and re-parsing) the 
query string
altogether, and instead simply return without modifying the given URL.

* Source/WTF/wtf/URL.cpp:
(WTF::removeQueryParameters):
* Source/WTF/wtf/URLParser.cpp:
(WTF::URLParser::parseURLEncodedForm):
(WTF::URLParser::parseQueryNameAndValue):
* Source/WTF/wtf/URLParser.h:
* Tools/TestWebKitAPI/Tests/WTF/URL.cpp:

Augment an existing API test to exercise this change.

(TestWebKitAPI::TEST_F):

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to