Open Bug 1735087 Opened 3 years ago Updated 2 years ago

Display URL of Page Launched in New Tab Immediately

Categories

(Firefox :: Address Bar, enhancement, P5)

Firefox 93
Desktop
All
enhancement

Tracking

()

Tracking Status
firefox95 --- affected
firefox96 --- affected
firefox97 --- affected

People

(Reporter: mozilla, Unassigned)

References

Details

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:93.0) Gecko/20100101 Firefox/93.0

Steps to reproduce:

When you open a link into a new tab, Firefox only displays the URL of that new page AFTER the page-load succeeds or fails.

This especially noticeable on dead links or slow web servers. Firefox will be trying to acquire the page, but during that time it doesn't display the URL of the page it is trying to acquire.

For example, open this dead-link in a new tab:
https://pagethatdoesnotexist.com

Actual results:

The requested page's URL only gets displayed after success or failure, instead of BEFORE success or failure.

Expected results:

When a page is launched into a new tab, the very first thing that should happen, is populating the address bar of that new tab with the URL of the page being requested. The user should not have to wait until success or failure to see this pertinent information. Display the address being requested immediately.

Actually, I see that it does display the URL immediately.

However, this is not the case when JavaScript is used to launch the new tab.

To reproduce what I'm talking about, hit shift-ctrl-i, and run this one line of code in the console:
window.open("https://pagethatdoesnotexist.com")

Notice that the URL doesn't get displayed on the address bar until after the page fails.

Component: Untriaged → Address Bar

Another circumstance, where this issue can be reproduced is via bookmarks.

Bookmark this URL for testing sake:
https://pagethatdoesnotexist.com

Then, launch the bookmark in a new tab (via ctrl-click). The URL will not show on the address bar of the newly launched tab.

Additionally, if you stop the page-load, before this attempt times out, the URL will NEVER make it to the address bar (which is very annoying because you cannot reload the page to try it again -- you have re-navigate to the bookmark again).

I'm not sure how could I reproduce this issue, as soon as I accessed the URL I received "We can’t connect to the server at pagethatdoesnotexist.com." and the URL is instantly displayed in the address bar. I can't see any delay.
Do you have any extra steps on how could I reproduce this?
Thanks.

Flags: needinfo?(mozilla)

@Hani(In reply to Hani Yacoub from comment #4)

I'm not sure how could I reproduce this issue . . . ?

Please read the comments prior to your own (1 through 3). There are two ways to reproduce this issue.

  1. Via Javascript: window.open("https://pagethatdoesnotexist.com");
  2. Via Bookmark: Create a bookmark to https://pagethatdoesnotexist.com

In both cases, upon opening in a new tab, the URL will only get displayed after the page has failed, and if you stop the page (before it timesout), the URL never gets display into the addresss-bar, and therefore you cannot reload the URL by hitting the reload button.

If there is a way to edit and correct my initial post, for those who skip comments, I'm not aware of it.

Flags: needinfo?(mozilla)

Also, for comparison sake, perform these same two tests (mentioned in comments 2, 3, and 5) in Chromium. You'll see the proper order of operations there. The url is placed into the address bar immediately, instead of waiting on async operations to complete or timeout.

(In reply to Hani Yacoub from comment #4)

I'm not sure how could I reproduce this issue . . .

I've created a page that intentionally take 10 seconds to load, so that you can more easily reproduce this issue:
http://neartalk.com/SlowLoadingPage.php

The issue does NOT happen when you simply ctrl-click a hyperlink like the one above.

The issue can be reproduced two ways:

  1. Via Javascript: hit ctrl-shift-i and type this into the console:
    window.open("http://neartalk.com/SlowLoadingPage.php");

  2. Via Bookmark: Create a bookmark to
    http://neartalk.com/SlowLoadingPage.php
    Then, ctrl-click that bookmark.

In both cases, upon opening in a new tab, the URL will only get displayed after the page has been returned by the web server, and if you stop the page (before it timeouts), the url NEVER gets display into the addresss-bar, and therefore you cannot retry the URL by hitting the refresh button.

If you try these same tests in Chromium, you'll see that Chromium not only populates the address bar with the URL immediately, it also populates the page's title with the URL (until the page resolves with its own custom title).

The population of the URL into the address bar should not be delayed by async operations, as is in Firefox 93.

Severity: -- → N/A
Priority: -- → P5

Managed to reproduce this on Ubuntu 20.04 x64, macOS 11.6 and on Windows 10 x64.

Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Unspecified → All
Hardware: Unspecified → Desktop
You need to log in before you can comment on or make changes to this bug.