Open Bug 1276100 Opened 5 years ago Updated 2 years ago

While a load operation is in progress, hover effects continue to work but middle-clicks don't


(Core :: DOM: UI Events & Focus Handling, defect)

48 Branch
Not set





(Reporter: from_bugzilla2, Unassigned)



(1 file)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0
Build ID: 20160522004024

Steps to reproduce:

1. Click a link that will load slowly
2. While waiting, mouse over another link and middle-click it

Actual results:

Assuming you catch it in the proper phase of the load process, CSS :hover effects will still process but middle-clicking links will have no effect.

In my experience, clicking the Stop button during this phase will also result in a white page.

Expected results:

What a page appears to be and what it is should be consistent.

The browser should either continue to process middle-clicks for as long as it's processing CSS :hover or it should blank the page as soon as it reaches a phase where that would be the result of clicking Stop.
Hi Stephan, 

Could you provide a test url/link that we can use?
I tried with some links and the middle-click worked (it opened that link in a new tab).

Just to confirm the steps: You click on a link (or go to a url) that loads slowly. While that page is loading you hover and middle-click a link from the page that is in loading process. I am right?
Flags: needinfo?(from_bugzilla2)
OS: Unspecified → Linux
Hardware: Unspecified → x86_64
Closing as Incomplete due to the lack of response from the reporter. If anyone can still reproduce the issue feel free to reopen the bug.
Closed: 4 years ago
Resolution: --- → INCOMPLETE
Sorry about that. I completely forgot. I'll leave this tab open and try to get you an answer within the next 48 hours.
Hmm. I can see what you mean.

I think the problem manifests when the browser has started to receive the HTTP response but doesn't yet have enough to do an initial render of the page content, so I'll probably need to combine Python's SimpleHTTPServer with some time.sleep() calls to reliably catch the load process at just the right time.
Sorry for the ridiculous wait.

I finally cleared out enough cruft to get around to writing a testcase for this.

Run this little Python web server (works in 2.x or 3.x) and follow the instructions in the tab that opens.

I also tested under Chrome and it doesn't have the problem you'll observe under Firefox.
Flags: needinfo?(from_bugzilla2)
Also, it's not just middle-clicks. Left, middle, and right-click are non-functional when the browser gets into the in-between state that the testcase triggers.
Resolution: INCOMPLETE → ---
Hi Stephan,

I don't have any experience with Python, so I would appreciate if you could guide me through the steps how could I run the test case?

What I did was that I installed Python and then copy and pasted the test case in Python command line, and I received many "IndentationError: unexpected indent".

Flags: needinfo?(from_bugzilla2)
4(In reply to Hani Yacoub from comment #7)
> What I did was that I installed Python and then copy and pasted the test
> case in Python command line, and I received many "IndentationError:
> unexpected indent".

Python uses indentation to denote semantic blocks instead of curly braces or keywords. You messed up the indentation while copy-pasting it.

(I'm honestly not sure how you got into a position to copy-paste it in the first place, because every avenue I tested resulted in a download dialog.)

Once the file is on disk in unmodifed form (and marked executable, if you're on a Unixy OS), you should just be able to double-click it. It'll open a new Firefox tab containing further instructions.
Whoops. Forgot that "clear needinfo" is no longer the default.
Flags: needinfo?(from_bugzilla2)
(In reply to Hani Yacoub from comment #7)
> I would appreciate if you could guide me through the steps how could I run the test case?

Clicking on the test case that you attached opens the code in it in a new tab, so I didn't have any option that I could download it.
I also tried to cope-paste the code and save it in a file in a python format, but after i double click it nothing happened.
Component: Untriaged → Event Handling
Product: Firefox → Core
Sorry for the delayed response. I never received a notification that there'd been more activity here and only noticed when I was double-checking that I'd pulled the right URL from my AwesomeBar history to share with someone.

In my Firefox, when I click "Testcase using Python's BaseHTTPServer" on this page, I get an "Opening" download dialog where "Save File" is one of the options.

However, in Chromium Incognito Mode, it does display the file rather than downloading it for some reason.

Just right-click the link, choose "Save Link As...", and it'll auto-fill the correct filename in both browsers.

The resulting file functions as described after being downloaded in that way by either browser.
Component: Event Handling → User events and focus handling
You need to log in before you can comment on or make changes to this bug.