Chrome address bar no longer shows protocol or www subdomain

A couple of days ago I noticed that for all websites, chrome omits from the address bar the protocol and the subdomain if it is www. My co-workers report that they are not seeing this. Chrome version is 67.0.3396.87.

For example, if I type into the address bar https://www.google.com (without the quotes), Chrome immediately displays the chip "Secure" followed by google.com. See attached screenshots.

what I enter

what Chrome displays

I have looked in vain for Chrome settings that affect this, plus the chrome://flags page and chrome://net-internals page.

I did not do anything consciously to make this change.

Any ideas?

EDIT: Suggestion from MrWhite that Ominbox UI Hide Stead-State URL Scheme and Trivial Subdomains had become enabled: good suggestion, except that the setting is still at “Default.” See screenshot:

Omnibox UI Hide Steady-State -- still set to Default

However, as a shot in the dark, I am going to play with the setting to see what happens.

First I set it to “Disabled.” That restored the previous behavior of the address bar, which is to not to hide the protocol and “trivial subdomains.” Then I changed it back to “Default,” and it was hiding them again. One would suspect that somehow the default has been changed, except that co-workers are not reporting this issue.

Oh, well. I’ll just leave it as Disabled for now.

I would be ready to accept the answer from MrWhite, because it provides a workaround. Yet will leave it open for a bit longer, because it does not really answer why this behavior has changed, and why it has to be overridden.

EDIT 2: Chrome version is 67.0.3396.87.


Solution 1:

UPDATE March-2020: The chrome://flags option listed below in my original answer no longer works as the flags appear to have been removed from the UI (although for some time after they were visibly removed from the UI, the options did still appear to persist if you had previously disabled these features in the UI - although this is no longer the case).

However, as stated in comments by @RIanGillis you can still disable these options on the Chrome shortcut / command line by adding the --disable-features argument. For example:

.../chrome.exe --disable-features=OmniboxUIExperimentHideSteadyStateUrlTrivialSubdomains,OmniboxUIExperimentHideSteadyStateUrlScheme,OmniboxUIExperimentHideFileUrlScheme

This appears to restore the original functionality for me (tested Chrome v80.0.3987.132). http:// is still hidden (and shows "Not secure" instead). https:// is shown as are www subdomains.

Another option, as stated in @wOxxOm's answer below, appears to be to install Google's Suspicious Site Reporter extension which also gets the protocol and subdomains back.


ORIGINAL ANSWER (No longer works):

The behaviour you are seeing is consistent with having the "Omnibox UI Hide Steady-State URL Scheme and Trivial Subdomains" setting enabled within chrome://flags.

Chrome Flag - Omnibox UI Hide Steady-State URL Scheme and Trivial Subdomains

Returning this flag to "Default" (or "Disabled") and restarting the browser (prompted) should get your scheme + subdomains back. This is on Chrome Version 67.0.3396.87 (Official Build) (64-bit) - Windows.

Except checking that setting does not show "Enabled"; rather it shows "Default".

As far as I can gather, whether "Default" means "Enabled" or "Disabled" is built-in to the Chrome executable. So, this is primarily version dependent. Note also that settings vary between "Developer" and "Stable" builds.

Settings can also be enabled/disabled in command line switches. So this is another area that is worth checking. Reference: https://peter.sh/experiments/chromium-command-line-switches/ - although I don't see much relating to the Omnibox in this list.


UPDATE Sept-2018: As noted in another answer, from Chrome Version 69 (tested Version 69.0.3497.81), this feature now seems to be enabled by "Default". So, you must explicitly set this to "Disabled" to remove this feature.


UPDATE Aug-2019: This option/flag has since been split into two (possibly since version 72 - according to @Kyborek in comments):

  • Omnibox UI Hide Steady-State URL Scheme
  • Omnibox UI Hide Steady-State URL Trivial Subdomains

The "Default" setting is enabled, so these options must be explicitly set to "Disabled" to get the "Scheme" and "Trivial Subdomains" back in the URL address bar. (Note that the insecure "http" scheme/protocol is always hidden, regardless of this option.)

Chrome Flags - Omnibox Hide Scheme and Trivial Subdomains

There is also a new(?), rather ominous, option: "Omnibox UI Hide Steady-State URL Path, Query, and Ref" which currently (Chrome version 76) appears to be disabled in its "Default" state. Something to keep an eye on though!

Chrome FLag - Omnibox UI Hide Steady-State URL Path, Query, and Ref


UPDATE Nov-2019: Unfortunately, it seems that since version 78 these flags have now been completely removed from the UI.

However, whilst these flags appear to have been removed in the UI, if you have previously disabled these flags in an earlier version then the options appear to stick and the "trivial subdomains" and "(HTTPS) URL scheme" remain visible.

Solution 2:

The chrome://flags entries are temporary and will be removed in the future versions of Chrome.

The current solution in Chrome 83+

Right-click inside the address bar and enable "Always show full URLs" in the context menu. If the option isn't there, go to chrome://flags, find show full URL flag, enable it, restart Chrome. Hopefully, it'll be present by default in the future, see crbug.com/1061576.

enter image description here

The alternative official long-term workaround

The officially supported long-term workaround is to install Google's Suspicious Site Reporter extension.

  • www and other "trivial subdomains" will be shown fully
  • https:// will be shown fully
  • http:// will be hidden, Not secure will be shown instead

It works because Chrome/Chromium explicitly checks whether the extension is installed and enabled using its id and toggles the URL elision feature accordingly.

  • For those who don't want to install Site Reporter extension.

    The only required part of that extension is an excerpt from manifest.json shown below, no other files needed. You can install it in your browser as an unpacked extension. It should be trivial to install on Linux or MacOS. As for Windows, only the Canary channel supports unrestricted installation of unpacked extensions as far as I know. Some Chrome forks support it too. In the official stable Google Chrome on Windows you will have to use an elaborate trick to avoid a warning on each browser start.

    This zero-weight extension uses the same id as the Google's extension so you can't have both of them installed, but you only need one anyway. Note, since the id is the same we can't upload it to the Web Store.

    1. Copy the following text and paste it in your text editor, save as manifest.json.
      See also How to save files with any extension in Windows
    2. Open chrome://extensions page, enable "developer mode", drag'n'drop the directory with manifest.json into the page or click "Load unpacked" button and indicate the directory there.
    {
       "name": "Keep full URL",
       "description": "Prevent elision of www and other trivial subdomains in the address bar",
       "version": "1.0",
       "manifest_version": 2,
       "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAowA8wOUQ8ShyITJ15B9rcJrnoolyo+OLj07g8QWBlEBikgszYwlbc88OIRL+dJOASok3yG6RQ60fvIjBrtNEk1yQZJfNwF/CN0jFrkE3HN3xVMoX0XIQPB93kDZARcfR5nwU3RUgwwWGTqt69KSSU8QzRRQJSEgM8GENa3OBhw1UBn/I/RbhaFcTykJSomo9j55goJwNzUhXTJk458DQ5diY+gWMadDXlDBa8cciCVlaGOjBV5ezmxnD6p1GXhrvyEKZP8IlreDJC2Nw9hxrT3GIo1FzbmeDPANKJ9pkY1H3LOVsGJDtytBpD/FRErlvfkJVqp3N5ifF2EQ8lOAHrQIDAQAB"
    }
    

Solution 3:

It is now default setting for chrome://flags/#omnibox-ui-hide-steady-state-url-scheme-and-subdomains

It will now also strip some other subdomains like "m.domain.com" to "domain.com", so "www.m.www.m.example.com" will show up as "example.com" in address bar unless "Omnibox UI Hide Steady-State URL Scheme and Trivial Subdomain" is set to disabled in Chrome 69

https://bugs.chromium.org/p/chromium/issues/detail?id=881410