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

Issue 660384 link

Starred by 8 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature
Team-Security-UX


Sign in to add a comment

Meta: Improve URL parsing interoperability

Project Member Reported by rbyers@chromium.org, Oct 28 2016

Issue description

There's apparently a long history of URL parsing being slightly different between different browsers (eg. see issue 123004,  issue 257354 ,  issue 275675 ).  

AnneVK@ is working hard to try to drive consensus between implementations and get that captured in the URL spec, but there are probably some cases where the right thing to do is try to change chromium's behavior to match the consensus of other browsers.  For example:
https://github.com/whatwg/url/issues/148
https://github.com/whatwg/url/issues/150

Is there someone who can look into the state of interop here, engage with the community on trying to get consensus, and at least evaluate what goals we should set for chromium spec conformance?

 
Cc: -sleevi@google.com rsleevi@chromium.org
Components: Internals>Network UI>Security>UrlFormatting
Adding Internals>Network and UI>Security>UrlFormatting, because the developer-facing canonicalization (such as via JS APIs) is driven by our underlying network implementation in GURL, and can have material impact upon our security/UI decisions with respect to canonicalization and presentation.

Historically, Security/UI concerns have outweighed interoperability concerns, as have compatibility concerns.
If there are cases where interoperability (with other implementations, not the spec) and compatibility (with existing content) are at odds, it would be interesting to discuss those.

I suspect that more often than not, interoperability could be reached by picking the most forgiving parsing behavior. Cases where two engines are locked into *different* behaviors exist (navigator.taintEnabled) but they are quite rare.
Labels: -Type-Bug Type-Feature

Comment 5 by mgiuca@chromium.org, Nov 10 2016

Cc: mgiuca@chromium.org
I've read over the spec many times (but not in the past few months). It's riddled with special cases for all kinds of things and I'm assuming those cases are driven by one implementation or another. My preference would be to try and reduce those special cases rather than standardize them. I'll try to find some examples.
If you find things that are only important to one implementation, please do file a bug against the specification. We should probably just fix that and get that implementation aligned with the others.
Cc: cbentzel@chromium.org
It sounds like what this bug needs is someone on the net stack to own the network issues involved and help drive the consensus.  Unfortunately, I have no idea how to find such a person--the netstack triager (currently me) is not it.  I would presume this was a rsleevi@ (Netstack security TL) and cbentzel@ (netstack manager) issue in the absence of an obvious stucky; adding Chris in implementation of that belief.

Cc: tyoshino@chromium.org domenic@chromium.org
Adding tyoshino (and domenic) who may be able to look at this.
Owner: tyoshino@chromium.org
Can we pick an initial owner for this? I'll assign tyoshino for now. tyoshino if this bug isn't a match for you please unassign.
Status: Assigned (was: Untriaged)
We don't have enough bandwidth for this currently, but try to as our team's responsibility is closest to the topic and I've been sporadically touching the code.
Project Member

Comment 13 by bugdroid1@chromium.org, Jan 18 2017

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

commit 09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6
Author: mek <mek@chromium.org>
Date: Wed Jan 18 21:10:59 2017

Import wpt/webmessaging tests

Imports wpt@aae3e1b6ffb8b24acb777450933ceeafd97e3655
Using update-w3c-deps in Chromium 96c89c1cd14f092f9879407f85d7001c246e9687.

NOEXPORT=true

BUG=670024
BUG=660384
BUG= 665820 
BUG= 673526 

Review-Url: https://codereview.chromium.org/2558423002
Cr-Commit-Position: refs/heads/master@{#444478}

[modify] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/W3CImportExpectations
[modify] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/MANIFEST.json
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/Channel_postMessage_DataCloneErr.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/Channel_postMessage_clone_port.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/Channel_postMessage_clone_port_error.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/Channel_postMessage_event_properties.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/Channel_postMessage_ports_readonly_array.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/Channel_postMessage_target_source.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/MessageEvent.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/MessageEvent_properties.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/MessagePort_initial_disabled.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/MessagePort_onmessage_start.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/README.md
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/Transferred_objects_unusable.sub.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/broadcastchannel/basics.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/broadcastchannel/blobs.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/broadcastchannel/interface.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/broadcastchannel/resources/sandboxed.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/broadcastchannel/resources/worker.js
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/broadcastchannel/sandbox.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/broadcastchannel/workers.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/event.data.sub.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/event.origin.sub.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/event.ports.sub.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/event.source.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/event.source.xorigin.sub.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/message-channels/001.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/message-channels/002.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/message-channels/003.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/message-channels/004-1.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/message-channels/004-2.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/message-channels/004.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/message-channels/close.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_ArrayBuffer.sub.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_Date.sub.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_Document.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_Function.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_MessagePorts_sorigin.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_MessagePorts_xorigin.sub.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_arrays.sub.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_asterisk_xorigin.sub.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_dup_transfer_objects.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_invalid_targetOrigin.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_objects.sub.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_origin_mismatch.sub.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_origin_mismatch_xorigin.sub.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_solidus_sorigin.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/postMessage_solidus_xorigin.sub.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/support/ChildWindowPostMessage.htm
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/support/compare.js
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/001.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/002.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/003.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/004.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/005.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/006.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/007.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/010.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/011.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/012.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/013.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/014.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/015.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/016.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/017.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/018.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/019.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/020.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/021.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/023.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/024.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/025.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/026.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/with-ports/027.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/001.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/002.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/003.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/004.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/005.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/006.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/007.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/008.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/009.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/010.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/011.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/012.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/013.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/014.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/015.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/016.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/017.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/018.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/019-1.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/019.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/020-1.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/020.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/021.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/023.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/024.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/025-1.js
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/025.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/026.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/027.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/028.html
[add] https://crrev.com/09f2dd1f7eed9ee0bf7584f93871a117bcdf67c6/third_party/WebKit/LayoutTests/external/wpt/webmessaging/without-ports/029.html

Owner: ----
Status: Available (was: Assigned)
Blink>Network is the owner of the area but I'm not actively working on this. Setting the real status.
Blockedon: 651770
To summarize from a number of old e-mail threads on this issue: web-exposed URL parsing in chromium shares logic with the omnibox behavior (GURL class) which has evolved over many years largely for security concerns.  Some of the known failures are due to specific security mitigations.

We probably need to go through each difference and understand the source of the behavior in GURL and whether it's something we feel needs to be preserved for security reasons, and if so drive a spec debate OR (if necessary) somehow fork the code so that web-exposed URL parsing can behave differently from omnibox behavior.

That's a substantial undertaking and not something the Network APIs team can prioritize at the moment.  However as we find specific examples of site compat issues or developer pain caused by these differences, we should link them here.  If there are specific cases causing real-world problems in practice, those should get higher priority than issues uncovered just via conformance testing (eg. issue 651770).
Another example is that we parse things like c:autoexec.bat differently on Windows to account for drive letters. This makes a lot of sense when typing a filename into the Omnibox or opening a file from the command-line, but is really weird behaviour to expose to the open web.
Labels: Hotlist-EnamelAndFriendsFixIt
Blockedon: 706335 553884 530123 701685 724018 688961 682149 734880
I was doing a pass through the bug tracker for URL parsing bugs and I've added all the ones I've found to the "blocked on" list.
Labels: -Hotlist-EnamelAndFriendsFixIt
Components: -Internals>Network
This isn't owned by the network team.
Cc: eroman@chromium.org
Blockedon: 627877
Blockedon: -627877 869291
Blockedon: 765922

Sign in to add a comment