Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Issue 682143 Implement URLSearchParams's sort()
Starred by 4 users Project Member Reported by annevank...@gmail.com, Jan 18 Back to list
Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature



Sign in to add a comment
Components: -Blink Blink>Network
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
Comment 10 by tyoshino@chromium.org, Today (17 hours ago)
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, Today (13 hours ago)
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

Sign in to add a comment