commit | 6e8fda78d4420f9baa9a4b2aec140f268c683792 | [log] [tgz] |
---|---|---|
author | Mustafa Emre Acer <meacer@chromium.org> | Thu Dec 31 02:36:29 2020 |
committer | Mustafa Emre Acer <meacer@chromium.org> | Thu Dec 31 02:36:29 2020 |
tree | 7e9d44ad61b91e7ba2a2bc11baf746f15c215936 | |
parent | 4c2e2421e7ab11ae16f1dd56ab1f46eb37abecfe [diff] |
Default typed omnibox navigations to HTTPS: Initial implementation Presently, when a user types a domain name in the omnibox such as "example.com", Chrome navigations to the HTTP version of the site (http://example.com). However, the web is increasingly moving towards HTTPS, and we now want to optimize omnibox navigations and first-load performance for HTTPS, rather than HTTP. This CL implements an initial version of defaulting typed omnibox navigations to HTTPS. In particular, the CL: - Modifies omnibox and autocomplete code to use HTTPS as the default scheme for navigations. We call these "upgraded HTTPS navigations". - Observes upgraded HTTPS navigations until completion and falls back to the HTTP version of the URL if the HTTPS load fails. It does this by introducing a new navigation throttle called TypedNavigationUpgradeThrottle. - Ignores SSL errrs in SSLErrorNavigationThrottle if the navigation was an HTTPS upgrade in order to prevent displaying spurious SSL interstitials. Most of the files touched by the CL have plumbing changes: The navigation throttle needs to know whether the navigation was upgraded, so this information is provided by the omnibox via is_using_https_as_default_scheme bit and stored inside the UIData of the navigation handle. This is a minimal implementation and is not ready for general usage. Future CLs are going to observe upgraded HTTPS navigations for several seconds instead and cancel the load when necessary, instead of indefinitely waiting for HTTPS loads to succeed. This CL also lacks many quality of life improvements such as remembering which URLs fell back to HTTP. These will also be added in future CLs. Bug: 1141691 Change-Id: Ie78a34bfa51fc995e9834d491ea43b7cac17598c
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.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
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.