Middle-click gesture wrongly triggered for scrollbar

Bug reports and enhancement requests
Post Reply
Infocatcher
Posts: 17
Joined: Fri Mar 02, 2012 4:32 pm

Middle-click gesture wrongly triggered for scrollbar

Post by Infocatcher »

1. Set middlemouse.scrollbarPosition = true in about:config
2. Focus any link on the page.
3. Drag scrollbar down using middle mouse button.
4. Release middle mouse button: will be launched selected download manager.
Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0
User avatar
therube
Ambassador
Posts: 7929
Joined: Thu Mar 19, 2009 4:17 pm
Location: Maryland USA

Re: Middle-click gesture wrongly triggered for scrollbar

Post by therube »

That is a feature.

If not wanted, set the about:config value of flashgot.gesture to 'false'.


(I don't think middlemouse.scrollbarPosition has any bearing.)
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14 Pinball NoScript FlashGot AdblockPlus
Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 SeaMonkey/2.19a2
Infocatcher
Posts: 17
Joined: Fri Mar 02, 2012 4:32 pm

Re: Middle-click gesture wrongly triggered for scrollbar

Post by Infocatcher »

therube wrote:That is a feature.
But I don't dragged link, I dragged scrollbar! Focused link (use Tab key or just drag in to unsupported place to make it focused – dotted border around) may be anywhere on the page.
Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0
User avatar
therube
Ambassador
Posts: 7929
Joined: Thu Mar 19, 2009 4:17 pm
Location: Maryland USA

Re: Middle-click gesture wrongly triggered for scrollbar

Post by therube »

Note: setting middlemouse.scrollbarPosition requires browser restart.

> I dragged scrollbar

Vertical scrollbar, I suppose?

> Drag scrollbar down using middle mouse button

Are you actually dragging, or are you (middle mouse) clicking within the scrollbar frame, thereby advancing down the page?

In any case, I still don't seem to be able to duplicate this.
Focus remains on the selected link. The page scrolls as expected.

If you disable all other extensions, or create a new profile with only FlashGot, are you still able to repeat?
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14 Pinball NoScript FlashGot AdblockPlus
Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 SeaMonkey/2.19a2
Infocatcher
Posts: 17
Joined: Fri Mar 02, 2012 4:32 pm

Re: Middle-click gesture wrongly triggered for scrollbar

Post by Infocatcher »

therube wrote:Vertical scrollbar, I suppose?
Yes.
therube wrote:Are you actually dragging, or are you (middle mouse) clicking within the scrollbar frame, thereby advancing down the page?
Yes, dragging, but dragging using middle mouse button – the same as using left button, but I can start drag from any position.
Set focus to any link (dotted border appears) – mousedown on vertical scrollbar (scroll position immediately moves to click position) – move mouse down (middle mouse button still pressed) – mouseup (release middle mouse button) – FlashGot will launch default download manager.
therube wrote:If you disable all other extensions, or create a new profile with only FlashGot, are you still able to repeat?
Yes, I can reproduce on new clean profile with middlemouse.scrollbarPosition = true + FlashGot 1.5.5.2 (Firefox 20.0.1).
Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0
Infocatcher
Posts: 17
Joined: Fri Mar 02, 2012 4:32 pm

Re: Middle-click gesture wrongly triggered for scrollbar

Post by Infocatcher »

Simple patch:

Code: Select all

--- a/flashgot_mass_downloader-1.5.5.5-tb+fx+sm.xpi/chrome/flashgot.jar/content/flashgot/flashgotOverlay.js
+++ b/flashgot_mass_downloader-1.5.5.5-tb+fx+sm.xpi/chrome/flashgot.jar/content/flashgot/flashgotOverlay.js
@@ -61,6 +61,10 @@
     
     target.addEventListener("mousedown", function(ev) {
       if (!(ev.button <= 1 && gFlashGot._isContentEvent(ev))) return;
+      var trg = ev.originalTarget;
+      if (trg.localName == "thumb" &&
+        trg.namespaceURI == "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul")
+        return;
       if (gFlashGot.mouseDown && gFlashGot.mouseDown.gesture === 1)
         gFlashGotService.cursor(false);
       
@@ -70,7 +74,7 @@
         gesture: ev.button === 1 ? 0 : -1,
         lastY: ev.screenY
       };
-      gFlashGot.hoverElement = ev.originalTarget;
+      gFlashGot.hoverElement = trg;
     }, false);
     
     target.addEventListener("mousemove", function(ev) {
Mozilla/5.0 (Windows NT 6.1; rv:23.0) Gecko/20100101 Firefox/23.0
Post Reply