commit | c664e8bfa2d0748c23fb751c3d64c5828c8584e9 | [log] [tgz] |
---|---|---|
author | Lukasz Anforowicz <[email protected]> | Mon Apr 13 20:08:55 2020 |
committer | Commit Bot <[email protected]> | Mon Apr 13 20:08:55 2020 |
tree | 3c2640777cdce303adbd492074965753623b4904 | |
parent | 95fb308e5b105c189a659e09959d50edbe6b1c05 [diff] |
Reconcile treating port=0 as valid across GURL and url::SchemeHostPort. Before this CL: *) GURL port_zero("http://example.com:0") would be considered a valid URL (in conformance with https://url.spec.whatwg.org/#port-state which allows port 0). *) SchemeHostPort constructed out of such GURL would be considered invalid. *) The inconsistency between GURL and SchemeHostPort would lead to bizarre results such as url::Origin::Resolve(url=http://foo.com:0, base_origin=http://bar.com) returning an opaque origin with a precursor origin set to http://bar.com. This in turn would lead to browser process crashes via CHECK(...CanAccessDataForOrigin...). After this CL: *) SchemeHostPort allows port=0 *) url::Origin::Resolve works as expected (verified by a new unit test) *) No browser-process crashes (verified by a new browser test) Also after this CL: *) Navigating to port=0 still doesn't quite work, because Blink treats this as an invalid port (in KURL and SecurityOrigin) which results in the port round-tripping to the browser in DidCommitProvisionalLoad IPC as port=80 (and the mismatch leads to a renderer kill). Bug: 1065532 Change-Id: I719fcfb0a027187805c3766d5e4b0365553067f0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2128829 Reviewed-by: Nasko Oskov <[email protected]> Reviewed-by: Daniel Cheng <[email protected]> Reviewed-by: Peter Kasting <[email protected]> Commit-Queue: Ćukasz Anforowicz <[email protected]> Cr-Commit-Position: refs/heads/master@{#758574}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.