New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Leaves the project on 2018/03/02
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature



Sign in to add a comment

Implement URLSearchParams's sort()

Project Member Reported by annevank...@gmail.com, Jan 18 2017 Back to list

Issue description

Components: -Blink Blink>Network

Comment 2 by ricea@chromium.org, Jan 20 2017

Components: -Blink>Network
Labels: -Type-Bug OS-All Type-Feature
Owner: tyoshino@chromium.org
Status: Assigned
+tyoshino since he changed it last.

This doesn't look too difficult. Changes should be localised to the URLSearchParams implementation. There's a codePointCompare() in WTFString.h that probably does the right thing.

The feature appears quite aspirational at the moment so getting lgtms for the Intent To Ship may be hard work.
It was requested by two Googlers and is already implemented by Safari. If you're not implementing that would be rather sad.

Also, you need code unit comparison, not code point.
Components: Blink>Network
Labels: Hotlist-Interop
Status: Started
It's confusing but what Blink's WTF::codePointCompare() does is equivalent to comparing two WTFStrings for each code unit (as defined at https://infra.spec.whatwg.org/#code-unit).

See also
https://github.com/whatwg/url/pull/199
https://github.com/whatwg/infra/issues/55

Regarding support signal, Both Firefox and Safari have implemented it. Should be easier to get approval, now.
Cc: jeffy@google.com igrigo...@chromium.org
Sent an "Intent to Implement and Ship" as mkwst@ suggested, and got 3 LGTMs
https://groups.google.com/a/chromium.org/d/topic/blink-dev/U0p_jFYpgss/discussion
Project Member

Comment 11 by bugdroid1@chromium.org, Jun 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0496b7a8b9a888beb45efd1b32a8c732fca0edaa

commit 0496b7a8b9a888beb45efd1b32a8c732fca0edaa
Author: Takeshi Yoshino <tyoshino@chromium.org>
Date: Tue Jun 27 10:33:54 2017

Implement URLSearchParams.sort()

Spec:
https://url.spec.whatwg.org/#dom-urlsearchparams-sort

Interoperability and Compatibility risk:
Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1331864 and
WebKit https://bugs.webkit.org/show_bug.cgi?id=167154 have implemented
it.

web-platform-tests:
url/urlsearchparams-sort.html

Feature dashboard:
https://www.chromestatus.com/feature/5632900720492544

Bug:  682143 
Change-Id: I5a1831503579079d3d95de3028b2f8195192c88d
Reviewed-on: https://chromium-review.googlesource.com/515243
Commit-Queue: Takeshi Yoshino <tyoshino@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482590}
[delete] https://crrev.com/fcda19fd7ac9920c8f37c8d3aef74bcfb49af9b3/third_party/WebKit/LayoutTests/external/wpt/url/urlsearchparams-sort-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/platform/win/virtual/stable/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload-disabled/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/virtual/stable/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/Source/core/dom/URLSearchParams.cpp
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/Source/core/dom/URLSearchParams.h
[modify] https://crrev.com/0496b7a8b9a888beb45efd1b32a8c732fca0edaa/third_party/WebKit/Source/core/dom/URLSearchParams.idl

Labels: M-61
Status: Fixed

Sign in to add a comment