ctrl-click on a link which uses event.preventDefault() and window.open() should still obey browser.tabs.loadInBackground
Categories
(Core :: DOM: Navigation, defect)
Tracking
()
People
(Reporter: pascal.fischer.ac, Assigned: arai)
References
Details
(Whiteboard: [fidefe-quality-foundations])
Attachments
(8 files, 1 obsolete file)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
Comment 1•11 years ago
|
||
| Reporter | ||
Comment 3•11 years ago
|
||
Comment 5•11 years ago
|
||
Updated•6 years ago
|
Comment 6•6 years ago
|
||
on https://www.stuff.co.nz/
This is the code breaking the opening of the tab in the background. The tabs will open in the foreground instead.
see https://github.com/webcompat/web-bugs/issues/48651 for the details.
function f(i) {
var j,
k,
h;
j = document.createElement('iframe');
j.style.display = 'none';
document.body.appendChild(j);
k = j.contentDocument || j.contentWindow.document;
h = k.createElement('script');
h.type = 'text/javascript';
h.text = '
window.parent = null;
window.top = null;
window.frameElement = null;
var child = window.open("' + i + '");
child.opener = null
';
k.body.appendChild(h);
document.body.removeChild(j)
}
Comment 7•6 years ago
|
||
This is working in Chrome and Safari as expected by the user.
Love to see this fixed. Now five years old!
<Ctrl><click> is honoured correctly in:
IE11
Edge (original and new)
G Chrome
Vivaldi
Safari (reported by Karl above)
It's just Firefox that it doesn't work correctly.
Comment 9•6 years ago
|
||
Does this click handler actually fire for the modifier-clicks / middle clicks in chrome/safari/whatever?
Comment 10•6 years ago
|
||
on macos this the meta key (aka command) which is used to open a new tab.
(Shift + click will open a new window, ctrl+click will open the contextual menu)
so looking at
wrap: function(a, c, d) {
if ("function" != typeof a)
return a;
d = d || BOOMR.plugins.Errors.VIA_APP;
BOOMR_check_doc_domain();
return function() {
try {
return a.apply(c, arguments)
} catch (e) {
if (-2146823277 === e.number && (d === BOOMR.plugins.Errors.VIA_EVENTHANDLER || d === BOOMR.plugins.Errors.VIA_TIMEOUT))
return;
b.send(e, d);
e.reported = !0;
throw e
}
}
},
when breaking on mouse click
in chrome:
arguments[0].type
10:14:35.021 "click"
10:14:43.822 arguments[0].metaKey
10:14:43.829 true
same thing in firefox, and safari
All of that said it seems to happen in an iframe.
because of https://github.com/akamai/boomerang ?
Updated•5 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Comment 13•2 years ago
|
||
This is very much still a thing 10 years later in February 2024. [CTRL] + <left mouse> click behavior in Firefox feels very erratic - for some sites it does what the official documentation says (open in the background / keeping focus on the current page where the click was issued), but for the other half it does not and focuses on and switches to the new tab, including i.e. Microsoft's Outlook / Office 365 web interface, compass.com and I could keep going if I kept a log throughout the day.
For an end user it makes no obvious sense why there is an inconsistent ([CTRL] +) link clicking behavior, especially when coming from other browsers when those, Chromium & Safari/Webkit based ones, manage to have [CTRL]+clicked links consistently & always open in the background.
Comment 14•2 years ago
|
||
(In reply to Jörg Battermann from comment #13)
This is very much still a thing 10 years later in February 2024. [CTRL] + <left mouse> click behavior in Firefox feels very erratic - for some sites it does what the official documentation says (open in the background / keeping focus on the current page where the click was issued), but for the other half it does not and focuses on and switches to the new tab, including i.e. Microsoft's Outlook / Office 365 web interface, compass.com and I could keep going if I kept a log throughout the day.
For an end user it makes no obvious sense why there is an inconsistent ([CTRL] +) link clicking behavior, especially when coming from other browsers when those, Chromium & Safari/Webkit based ones, manage to have [CTRL]+clicked links consistently & always open in the background.
Yep, that's a +1 from me too. It's been a long time, Firefox devs.
| Assignee | ||
Comment 16•2 years ago
|
||
Given meta/ctrl key should use browser.tabs.loadInBackground pref instead of
browser.tabs.loadDivertedInBackground pref, the existing
nsIBrowserDOMWindow.OPEN_NEWTAB behavior doesn't match the requirement.
Add dedicate flag for "open in foreground tab" to make it controllable from
nsWindowWatcher::IsWindowOpenLocationModified.
Updated•2 years ago
|
| Assignee | ||
Comment 17•2 years ago
|
||
| Assignee | ||
Comment 18•2 years ago
|
||
| Assignee | ||
Comment 19•2 years ago
|
||
| Assignee | ||
Comment 20•2 years ago
|
||
| Assignee | ||
Comment 21•2 years ago
|
||
| Assignee | ||
Comment 22•2 years ago
|
||
| Assignee | ||
Comment 23•2 years ago
|
||
Updated•2 years ago
|
Updated•2 years ago
|
Comment 24•2 years ago
|
||
Comment 25•2 years ago
|
||
Backed out for causing bc failures in browser_cancel_starting_autoscrolling_requested_by_background_tab.js
- Backout link
- Push with failures
- Failure Log
- Failure line: TEST-UNEXPECTED-FAIL | toolkit/content/tests/browser/browser_cancel_starting_autoscrolling_requested_by_background_tab.js | Test timed out -
Comment 27•2 years ago
|
||
Updated•2 years ago
|
Comment 28•2 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/27dae926668f
https://hg.mozilla.org/mozilla-central/rev/0a6b3d90e636
https://hg.mozilla.org/mozilla-central/rev/d29d7e9c38bd
https://hg.mozilla.org/mozilla-central/rev/7f46e8820023
https://hg.mozilla.org/mozilla-central/rev/058d5712354b
https://hg.mozilla.org/mozilla-central/rev/29f139450ccc
https://hg.mozilla.org/mozilla-central/rev/7571e95ed78c
https://hg.mozilla.org/mozilla-central/rev/38614c34e575
| Assignee | ||
Updated•2 years ago
|
Updated•2 years ago
|
Comment 29•1 year ago
|
||
Backed out for causing Bug 1885050
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 30•1 year ago
|
||
So, here's some more investigation after the mousedown regression.
Chromium reflects the modifiers for click and auxclick, but not for mousedown.
some website uses mousedown event handler for middle-click, for calling window.open, and in that case Chromium opens the tab as foreground, regardless of the button or modifiers. Here, opening a foreground tab for mousedown prevents regular click behavior for the element (because the original page is already hidden when the mouse button is released), and bug 1885050 case is caused by that. Website doesn't prevent regular click behavior for the element, and opening a background tab there can also trigger the regular click behavior, which results in opening the link twice.
Then, auxclick is also called for middle-click, and Chromium opens the tab as background here, and holding shift-key opens the tab as foreground.
So, the difference between mousedown vs auxclick should be reflected to the behavior here.
The same behavior can be achieved by somehow not reflecting the modifiers/middle-click for mousedown (maybe some more), and reflect the modifiers/middle-click for click, auxclick, (and possibly some keyboard event).
I'll check more combinations of the event handlers and modifier keys, and then update the patch.
| Assignee | ||
Comment 31•1 year ago
|
||
Here's the result of (window.open features, modifiers, element, event, mouse button) combinations.
Firefox column is the result with the patches applied.
There are so many categories with different kind of behavior, but I think the current patch's way is mostly reasonable, except for the bug 1885050's case, where Chromium doesn't reflect modifiers/middle-click on some events.
window.open, no features
no modifiers
Chromium doesn't reflect middle-click in onmousedown/onpointerdown.
Safari doesn't allow window.open in oncontextmenu/onchange
| event | Chromium | Safari | Firefox | Note |
|---|---|---|---|---|
| DIV onclick | fg tab | fg tab | fg tab | |
| A onclick | fg tab | fg tab | fg tab | |
| DIV onclick + middle | - | BG tab | - | Safari handles middle-click with onclick |
| A onclick + middle | - | BG tab | - | |
| DIV ondblclick | fg tab | fg tab | fg tab | |
| A ondblclick | fg tab | fg tab | fg tab | |
| DIV ondblclick + middle | - | - | - | |
| A ondblclick + middle | - | - | - | |
| DIV onmouseup | fg tab | fg tab | fg tab | |
| A onmouseup | fg tab | fg tab | fg tab | |
| DIV onmouseup + middle | BG tab | BG tab | BG tab | |
| A onmouseup + middle | BG tab | BG tab | BG tab | |
| DIV onpointerup | fg tab | fg tab | fg tab | |
| A onpointerup | fg tab | fg tab | fg tab | |
| DIV onpointerup + middle | BG tab | BG tab | BG tab | |
| A onpointerup + middle | BG tab | BG tab | BG tab | |
| DIV onauxclick + middle | BG tab | - | BG tab | Safari doesn't support onauxclick |
| A onauxclick + middle | BG tab | - | BG tab | |
| DIV onmousedown | fg tab | fg tab | fg tab | |
| A onmousedown | fg tab | fg tab | fg tab | |
| DIV onmousedown + middle | fg tab | BG tab | BG tab | Chrome doesn't reflect middle-click for "down" events (bug 1885050) |
| A onmousedown + middle | fg tab | BG tab | BG tab | |
| DIV onpointerdown | fg tab | fg tab | fg tab | |
| A onpointerdown | fg tab | fg tab | fg tab | |
| DIV onpointerdown + middle | fg tab | BG tab | BG tab | |
| A onpointerdown + middle | fg tab | BG tab | BG tab | |
| DIV oncontextmenu | fg tab | (blocked) | fg tab | |
| A oncontextmenu | fg tab | (blocked) | fg tab | |
| FORM onreset | fg tab | fg tab | fg tab | |
| FORM onsubmit | fg tab | fg tab | fg tab | |
| SELECT onchange | fg tab | (blocked) | fg tab |
shift
In most case "shift" is for "open a window", and "shift+middle-click" is for "open in foreground tab".
| event | Chromium | Safari | Firefox | Note |
|---|---|---|---|---|
| DIV onclick | window | window | window | |
| A onclick | window | window | window | |
| DIV onclick + middle | - | fg tab | - | |
| A onclick + middle | - | fg tab | - | |
| DIV ondblclick | window | window | window | |
| A ondblclick | window | window | window | |
| DIV ondblclick + middle | - | - | - | |
| A ondblclick + middle | - | - | - | |
| DIV onmouseup | window | window | window | |
| A onmouseup | window | window | window | |
| DIV onmouseup + middle | fg tab | fg tab | fg tab | |
| A onmouseup + middle | fg tab | fg tab | fg tab | |
| DIV onpointerup | window | window | window | |
| A onpointerup | window | window | window | |
| DIV onpointerup + middle | fg tab | fg tab | fg tab | |
| A onpointerup + middle | fg tab | fg tab | fg tab | |
| DIV onauxclick + middle | fg tab | - | fg tab | |
| A onauxclick + middle | fg tab | - | fg tab | |
| DIV onmousedown | fg tab | window | window | |
| A onmousedown | fg tab | window | window | |
| DIV onmousedown + middle | fg tab | fg tab | fg tab | |
| A onmousedown + middle | fg tab | fg tab | fg tab | |
| DIV onpointerdown | fg tab | window | window | |
| A onpointerdown | fg tab | window | window | |
| DIV onpointerdown + middle | fg tab | fg tab | fg tab | |
| A onpointerdown + middle | fg tab | fg tab | fg tab | |
| DIV oncontextmenu | fg tab | (blocked) | - | |
| A oncontextmenu | fg tab | (blocked) | - | |
| FORM onreset | window | window | window | |
| FORM onsubmit | window | window | window | |
| SELECT onchange | fg tab | (blocked) | fg tab | SELECT doesn't reflect modifiers |
meta
In most case "meta" is for "open in background tab".
| event | Chromium | Safari | Firefox | Note |
|---|---|---|---|---|
| DIV onclick | BG tab | BG tab | BG tab | |
| A onclick | BG tab | BG tab | BG tab | |
| DIV onclick + middle | - | BG tab | - | |
| A onclick + middle | - | BG tab | - | |
| DIV ondblclick | BG tab | BG tab | BG tab | |
| A ondblclick | BG tab | BG tab | BG tab | |
| DIV ondblclick + middle | - | - | - | |
| A ondblclick + middle | - | - | - | |
| DIV onmouseup | BG tab | BG tab | BG tab | |
| A onmouseup | BG tab | BG tab | BG tab | |
| DIV onmouseup + middle | BG tab | BG tab | BG tab | |
| A onmouseup + middle | BG tab | BG tab | BG tab | |
| DIV onpointerup | BG tab | BG tab | BG tab | |
| A onpointerup | BG tab | BG tab | BG tab | |
| DIV onpointerup + middle | BG tab | BG tab | BG tab | |
| A onpointerup + middle | BG tab | BG tab | BG tab | |
| DIV onauxclick + middle | BG tab | - | BG tab | |
| A onauxclick + middle | BG tab | - | BG tab | |
| DIV onmousedown | fg tab | BG tab | BG tab | |
| A onmousedown | fg tab | BG tab | BG tab | |
| DIV onmousedown + middle | fg tab | BG tab | BG tab | |
| A onmousedown + middle | fg tab | BG tab | BG tab | |
| DIV onpointerdown | fg tab | BG tab | BG tab | |
| A onpointerdown | fg tab | BG tab | BG tab | |
| DIV onpointerdown + middle | fg tab | BG tab | BG tab | |
| A onpointerdown + middle | fg tab | BG tab | BG tab | |
| DIV oncontextmenu | fg tab | (blocked) | BG tab | |
| A oncontextmenu | fg tab | (blocked) | BG tab | |
| FORM onreset | BG tab | BG tab | BG tab | |
| FORM onsubmit | BG tab | BG tab | BG tab | |
| SELECT onchange | fg tab | (blocked) | fg tab |
shift+meta
In most case "shift+meta" is for "open in foreground tab".
(This is same as the default behavior for "no features")
| event | Chromium | Safari | Firefox | Note |
|---|---|---|---|---|
| DIV onclick | fg tab | fg tab | fg tab | |
| A onclick | fg tab | fg tab | fg tab | |
| DIV onclick + middle | - | fg tab | - | |
| A onclick + middle | - | fg tab | - | |
| DIV ondblclick | fg tab | fg tab | fg tab | |
| A ondblclick | fg tab | fg tab | fg tab | |
| DIV ondblclick + middle | - | - | - | |
| A ondblclick + middle | - | - | - | |
| DIV onmouseup | fg tab | fg tab | fg tab | |
| A onmouseup | fg tab | fg tab | fg tab | |
| DIV onmouseup + middle | fg tab | fg tab | fg tab | |
| A onmouseup + middle | fg tab | fg tab | fg tab | |
| DIV onpointerup | fg tab | fg tab | fg tab | |
| A onpointerup | fg tab | fg tab | fg tab | |
| DIV onpointerup + middle | fg tab | fg tab | fg tab | |
| A onpointerup + middle | fg tab | fg tab | fg tab | |
| DIV onauxclick + middle | fg tab | - | fg tab | |
| A onauxclick + middle | fg tab | - | fg tab | |
| DIV onmousedown | fg tab | fg tab | fg tab | |
| A onmousedown | fg tab | fg tab | fg tab | |
| DIV onmousedown + middle | fg tab | fg tab | fg tab | |
| A onmousedown + middle | fg tab | fg tab | fg tab | |
| DIV onpointerdown | fg tab | fg tab | fg tab | |
| A onpointerdown | fg tab | fg tab | fg tab | |
| DIV onpointerdown + middle | fg tab | fg tab | fg tab | |
| A onpointerdown + middle | fg tab | fg tab | fg tab | |
| DIV oncontextmenu | fg tab | (blocked) | - | |
| A oncontextmenu | fg tab | (blocked) | - | |
| FORM onreset | fg tab | fg tab | fg tab | |
| FORM onsubmit | fg tab | fg tab | fg tab | |
| SELECT onchange | fg tab | (blocked) | fg tab |
alt
"alt" has no effect on Chromium and Firefox except for some link case.
"alt" is for "open in new window" on Safari.
| event | Chromium | Safari | Firefox | Note |
|---|---|---|---|---|
| DIV onclick | fg tab | window | fg tab | |
| A onclick | - | window | fg tab | |
| DIV onclick + middle | - | window | - | |
| A onclick + middle | - | window | - | |
| DIV ondblclick | fg tab | window | fg tab | |
| A ondblclick | - | window | fg tab | |
| DIV ondblclick + middle | - | - | - | |
| A ondblclick + middle | - | - | - | |
| DIV onmouseup | fg tab | window | fg tab | |
| A onmouseup | fg tab | window | fg tab | |
| DIV onmouseup + middle | BG tab | window | BG tab | |
| A onmouseup + middle | BG tab | window | BG tab | |
| DIV onpointerup | fg tab | window | fg tab | |
| A onpointerup | fg tab | window | fg tab | |
| DIV onpointerup + middle | BG tab | window | BG tab | |
| A onpointerup + middle | BG tab | window | BG tab | |
| DIV onauxclick + middle | BG tab | - | BG tab | |
| A onauxclick + middle | BG tab | - | BG tab | |
| DIV onmousedown | fg tab | window | fg tab | |
| A onmousedown | fg tab | window | fg tab | |
| DIV onmousedown + middle | fg tab | window | BG tab | |
| A onmousedown + middle | fg tab | window | BG tab | |
| DIV onpointerdown | fg tab | window | fg tab | |
| A onpointerdown | fg tab | window | fg tab | |
| DIV onpointerdown + middle | fg tab | window | BG tab | |
| A onpointerdown + middle | fg tab | window | BG tab | |
| DIV oncontextmenu | fg tab | (blocked) | fg tab | |
| A oncontextmenu | fg tab | (blocked) | fg tab | |
| FORM onreset | fg tab | window | fg tab | |
| FORM onsubmit | fg tab | window | fg tab | |
| SELECT onchange | fg tab | (blocked) | fg tab |
window.open, features=popup
no modifiers
features=popup has higher priority than middle-click on Safari.
| event | Chromium | Safari | Firefox | Note |
|---|---|---|---|---|
| DIV onclick | popup | popup | popup | |
| A onclick | popup | popup | popup | |
| DIV onclick + middle | - | popup | - | |
| A onclick + middle | - | popup | - | |
| DIV ondblclick | popup | popup | popup | |
| A ondblclick | popup | popup | popup | |
| DIV ondblclick + middle | - | - | - | |
| A ondblclick + middle | - | - | - | |
| DIV onmouseup | popup | popup | popup | |
| A onmouseup | popup | popup | popup | |
| DIV onmouseup + middle | BG tab | popup | BG tab | |
| A onmouseup + middle | BG tab | popup | BG tab | |
| DIV onpointerup | popup | popup | popup | |
| A onpointerup | popup | popup | popup | |
| DIV onpointerup + middle | BG tab | popup | BG tab | |
| A onpointerup + middle | BG tab | popup | BG tab | |
| DIV onauxclick + middle | BG tab | - | BG tab | |
| A onauxclick + middle | BG tab | - | BG tab | |
| DIV onmousedown | popup | popup | popup | |
| A onmousedown | popup | popup | popup | |
| DIV onmousedown + middle | popup | popup | BG tab | Only Firefox uses tab for this combination |
| A onmousedown + middle | popup | popup | BG tab | |
| DIV onpointerdown | popup | popup | popup | |
| A onpointerdown | popup | popup | popup | |
| DIV onpointerdown + middle | popup | popup | BG tab | |
| A onpointerdown + middle | popup | popup | BG tab | |
| DIV oncontextmenu | popup | (blocked) | popup | |
| A oncontextmenu | popup | (blocked) | popup | |
| FORM onreset | popup | popup | popup | |
| FORM onsubmit | popup | popup | popup | |
| SELECT onchange | popup | (blocked) | popup |
shift
features=popup has higher priority than shift on Chromium and Safari.
Firefox uses "open a window", but others use "open a popup".
IMO, this is fine, given the difference is only about the UI parts, and the effect is almost same around focus etc.
| event | Chromium | Safari | Firefox | Note |
|---|---|---|---|---|
| DIV onclick | popup | popup | window | |
| A onclick | popup | popup | window | |
| DIV onclick + middle | - | popup | - | |
| A onclick + middle | - | popup | - | |
| DIV ondblclick | popup | popup | window | |
| A ondblclick | popup | popup | window | |
| DIV ondblclick + middle | - | - | - | |
| A ondblclick + middle | - | - | - | |
| DIV onmouseup | popup | popup | window | |
| A onmouseup | popup | popup | window | |
| DIV onmouseup + middle | fg tab | popup | fg tab | |
| A onmouseup + middle | fg tab | popup | fg tab | |
| DIV onpointerup | popup | popup | window | |
| A onpointerup | popup | popup | window | |
| DIV onpointerup + middle | fg tab | popup | fg tab | |
| A onpointerup + middle | fg tab | popup | fg tab | |
| DIV onauxclick + middle | fg tab | - | fg tab | |
| A onauxclick + middle | fg tab | - | fg tab | |
| DIV onmousedown | popup | popup | window | |
| A onmousedown | popup | popup | window | |
| DIV onmousedown + middle | popup | popup | fg tab | |
| A onmousedown + middle | popup | popup | fg tab | |
| DIV onpointerdown | popup | popup | window | |
| A onpointerdown | popup | popup | window | |
| DIV onpointerdown + middle | popup | popup | fg tab | |
| A onpointerdown + middle | popup | popup | fg tab | |
| DIV oncontextmenu | popup | (blocked) | - | |
| A oncontextmenu | popup | (blocked) | - | |
| FORM onreset | popup | popup | window | |
| FORM onsubmit | popup | popup | window | |
| SELECT onchange | popup | (blocked) | popup |
meta
features=popup has higher priority than meta on Safari but not on others.
| event | Chromium | Safari | Firefox | Note |
|---|---|---|---|---|
| DIV onclick | BG tab | popup | BG tab | |
| A onclick | BG tab | popup | BG tab | |
| DIV onclick + middle | - | popup | - | |
| A onclick + middle | - | popup | - | |
| DIV ondblclick | BG tab | popup | BG tab | |
| A ondblclick | BG tab | popup | BG tab | |
| DIV ondblclick + middle | - | - | - | |
| A ondblclick + middle | - | - | - | |
| DIV onmouseup | BG tab | popup | BG tab | |
| A onmouseup | BG tab | popup | BG tab | |
| DIV onmouseup + middle | BG tab | popup | BG tab | |
| A onmouseup + middle | BG tab | popup | BG tab | |
| DIV onpointerup | BG tab | popup | BG tab | |
| A onpointerup | BG tab | popup | BG tab | |
| DIV onpointerup + middle | BG tab | popup | BG tab | |
| A onpointerup + middle | BG tab | popup | BG tab | |
| DIV onauxclick + middle | BG tab | - | BG tab | |
| A onauxclick + middle | BG tab | - | BG tab | |
| DIV onmousedown | popup | popup | BG tab | |
| A onmousedown | popup | popup | BG tab | |
| DIV onmousedown + middle | popup | popup | BG tab | |
| A onmousedown + middle | popup | popup | BG tab | |
| DIV onpointerdown | popup | popup | BG tab | |
| A onpointerdown | popup | popup | BG tab | |
| DIV onpointerdown + middle | popup | popup | BG tab | |
| A onpointerdown + middle | popup | popup | BG tab | |
| DIV oncontextmenu | popup | (blocked) | BG tab | |
| A oncontextmenu | popup | (blocked) | BG tab | |
| FORM onreset | BG tab | popup | BG tab | |
| FORM onsubmit | BG tab | BG tab | BG tab | Somehow Safari uses background tab for this |
| SELECT onchange | popup | (blocked) | popup |
shift+meta
| event | Chromium | Safari | Firefox | Note |
|---|---|---|---|---|
| DIV onclick | fg tab | popup | fg tab | |
| A onclick | fg tab | popup | fg tab | |
| DIV onclick + middle | - | popup | - | |
| A onclick + middle | - | popup | - | |
| DIV ondblclick | fg tab | popup | fg tab | |
| A ondblclick | fg tab | popup | fg tab | |
| DIV ondblclick + middle | - | - | - | |
| A ondblclick + middle | - | - | - | |
| DIV onmouseup | fg tab | popup | fg tab | |
| A onmouseup | fg tab | popup | fg tab | |
| DIV onmouseup + middle | fg tab | popup | fg tab | |
| A onmouseup + middle | fg tab | popup | fg tab | |
| DIV onpointerup | fg tab | popup | fg tab | |
| A onpointerup | fg tab | popup | fg tab | |
| DIV onpointerup + middle | fg tab | popup | fg tab | |
| A onpointerup + middle | fg tab | popup | fg tab | |
| DIV onauxclick + middle | fg tab | - | fg tab | |
| A onauxclick + middle | fg tab | - | fg tab | |
| DIV onmousedown | popup | popup | fg tab | |
| A onmousedown | popup | popup | fg tab | |
| DIV onmousedown + middle | popup | popup | fg tab | |
| A onmousedown + middle | popup | popup | fg tab | |
| DIV onpointerdown | popup | popup | fg tab | |
| A onpointerdown | popup | popup | fg tab | |
| DIV onpointerdown + middle | popup | popup | fg tab | |
| A onpointerdown + middle | popup | popup | fg tab | |
| DIV oncontextmenu | popup | (blocked) | - | |
| A oncontextmenu | popup | (blocked) | - | |
| FORM onreset | fg tab | popup | fg tab | |
| FORM onsubmit | fg tab | popup | fg tab | |
| SELECT onchange | popup | (blocked) | popup |
alt
| event | Chromium | Safari | Firefox | Note |
|---|---|---|---|---|
| DIV onclick | popup | popup | popup | |
| A onclick | - | popup | popup | |
| DIV onclick + middle | - | popup | - | |
| A onclick + middle | - | popup | - | |
| DIV ondblclick | popup | popup | popup | |
| A ondblclick | - | popup | popup | |
| DIV ondblclick + middle | - | - | - | |
| A ondblclick + middle | - | - | - | |
| DIV onmouseup | popup | popup | popup | |
| A onmouseup | popup | popup | popup | |
| DIV onmouseup + middle | BG tab | popup | BG tab | |
| A onmouseup + middle | BG tab | popup | BG tab | |
| DIV onpointerup | popup | popup | popup | |
| A onpointerup | popup | popup | popup | |
| DIV onpointerup + middle | BG tab | popup | BG tab | |
| A onpointerup + middle | BG tab | popup | BG tab | |
| DIV onauxclick + middle | BG tab | - | BG tab | |
| A onauxclick + middle | BG tab | - | BG tab | |
| DIV onmousedown | popup | popup | popup | |
| A onmousedown | popup | popup | popup | |
| DIV onmousedown + middle | popup | popup | BG tab | |
| A onmousedown + middle | popup | popup | BG tab | |
| DIV onpointerdown | popup | popup | popup | |
| A onpointerdown | popup | popup | popup | |
| DIV onpointerdown + middle | popup | popup | BG tab | |
| A onpointerdown + middle | popup | popup | BG tab | |
| DIV oncontextmenu | popup | (blocked) | popup | |
| A oncontextmenu | popup | (blocked) | popup | |
| FORM onreset | popup | popup | popup | |
| FORM onsubmit | popup | popup | popup | |
| SELECT onchange | popup | (blocked) | popup |
| Assignee | ||
Comment 32•1 year ago
|
||
Given Safari agrees with mousedown behavior, I'll look into re-landing this after contacting the Jira support.
| Assignee | ||
Comment 33•1 year ago
|
||
Jira's code seems to be fixed not to call window.open that conflicts with regular link behavior.
I'll look into re-landing the patch stack after testing some more.
Comment 34•1 year ago
|
||
Comment 35•1 year ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/a7a8b0ec681f
https://hg.mozilla.org/mozilla-central/rev/b76f89a10cf5
https://hg.mozilla.org/mozilla-central/rev/c77057e2afd2
https://hg.mozilla.org/mozilla-central/rev/8023a5847e17
https://hg.mozilla.org/mozilla-central/rev/3cd13abc6a25
https://hg.mozilla.org/mozilla-central/rev/2c81d022c833
https://hg.mozilla.org/mozilla-central/rev/6401337cd41b
https://hg.mozilla.org/mozilla-central/rev/21b7c90f196d
Description
•