My favorites | Sign in
Project Home Downloads Wiki Issues
New issue   Search
for
  Advanced search   Search tips
Issue 28226: Implement APIs to trigger native context menu within extensions
148 people starred this issue and may be notified of changes. Back to list
 
Reported by vigac...@gmail.com, Nov 18, 2009
On Mac / Linux, because of  Issue 26465  and  Issue 26666 , it is impossible
for mouse gesture extensions to decide whether the native context menu
should be suppressed.

Mouse gesture extensions are extremely popular on Firefox (i.e., Mouse
Gestures Redox, FireGestures, All-in-One Gestures), Opera also has this
feature builtin, however, Chromium doesn't have any working extensions of
this kind for Linux and Mac due to the reasons mentioned in  Issue 26465  and
 Issue 26666 .

For such extensions, the right mouse button is usually used as the gesture
trigger. To trigger a gesture, the user press down the right mouse button,
move the mouse in a specific pattern, then release the right mouse button.
When a valid mouse gesture is triggered, the extension will execute a
routine to do some jobs. Usually if the user finished a valid gesture (when
he/she release the right mouse button), the context menu should be
suppressed, otherwise the context menu should show up. Whether to suppress
the context menu or not has to be decided on mouseup events (based on the
movement of the mouse between mousedown and mouseup event). On Mac and
Linux, the contextmenu event is fired immediately after the mousedown
event, this behavior create a dilemma for the developers: if they call
event.preventDefault() on contextmenu events, the user got no context menu
even if they don't want to trigger mouse gesture actions; on the other
hand, if developers don't call event.preventDefault() on contextmenu
events, the user will fail on initiating gestures and see context menus
whenever they press down the right mouse button.

If an API which can generate native context menu is implemented, the
extension developers can create a workground, by using that API to trigger
the context menu when the user failed to perform a valid gesture.

Suggestion:
chrome.extension.contextMenu(callback_function);

Another suggestion is, when a 'contextmenu' type of event is created and
dispatched via dispatchEvent(), trigger the context menu. Currently, by
dispatching 'contextmenu' event manually, Chromium will call event
listeners of the 'contextmenu' event, but no context menus will show up.


Comment 1 by vigac...@gmail.com, Nov 18, 2009
The later solution, allow manually dispatching 'contextmenu' events, is preferred,
since the event can be captured and processed by other 'contextmenu' listeners. For
example the web applications may intentionally capture this event and implement their
own context menu.
Comment 2 by afterlif...@gmail.com, Nov 30, 2009
Yes I also must vote for this to be fixed / added.
Comment 3 by vulp...@gmail.com, Dec 8, 2009
There's no way I can use Chrome or Chromium until some solution for this problem is 
found.
Comment 4 by stephenburnett19, Dec 15, 2009
Echoing the comment above by vulpyne:

"Comment 3 by vulpyne, Dec 08, 2009
There's no way I can use Chrome or Chromium until some solution for this problem is 
found."
Comment 5 by trissypi...@gmail.com, Dec 21, 2009
could someone help me figure out how to use the wheel button instead of right click? at 
least until this gets fixed? this is the one thing that has prevented me from switching to 
chrome.
Comment 6 by phajdan...@chromium.org, Dec 28, 2009
(No comment was entered for this change.)
Labels: -Type-Bug -Area-Misc Type-Feature Area-Feature Feature-Extensions
Comment 7 by a...@chromium.org, Dec 28, 2009
(No comment was entered for this change.)
Status: Available
Labels: -Pri-2 Pri-3
Comment 8 by cjmcqueen, Jan 21, 2010
I would like this too.  This issue may also be causing problems where text cannot be 
pasted into a extension's text box using cmd+v (on the mac).
Comment 9 by lafo...@chromium.org, Feb 16, 2010
(No comment was entered for this change.)
Labels: -Area-Feature Area-UI
Comment 10 by martin.j...@gmail.com, Mar 2, 2010
Perhaps just implementing the HTML 5 "contextmenu" attribute would be a solution to 
this.
Comment 11 by erik...@chromium.org, Mar 7, 2010
(No comment was entered for this change.)
Cc: asarg...@chromium.org
Comment 12 by Jono.Fin...@gmail.com, Apr 12, 2010
Hurry up with dis! I want it!!
Comment 13 by itwont...@gmail.com, May 5, 2010
Trying to switch from closed source opera to Chrome.  This is the only thing stopping 
me.  Would love to see this worked out!
Comment 14 by shoc...@gmail.com, May 15, 2010
Is this even on the developers' radar? What to we need to do to put it up there?
Comment 15 by afterlif...@gmail.com, May 26, 2010
Aye, I would realy love to have a working context menu, and a right click gesture 
script on linux.

chrome the only (good)browser without correctly working gestures.
Comment 16 by afterlif...@gmail.com, May 26, 2010
Aye, I would really love to have a working context menu, and a right click gesture 
script on Linux.

chrome the only (good)browser without correctly working gestures.
Comment 17 by pschlaepfer@gmail.com, Jun 25, 2010
I would love this too. Any opinions from the developers? :-)
Comment 18 by kgra...@gmail.com, Sep 1, 2010
Will 
Comment 19 by a...@chromium.org, Sep 10, 2010
(No comment was entered for this change.)
Labels: Pri-2
Comment 20 by a...@chromium.org, Sep 10, 2010
(No comment was entered for this change.)
Labels: Mstone-X
Comment 21 by a...@chromium.org, Sep 14, 2010
This may be simply a feature of a more general-purpose mouse API (see also: bug 181). It seems like a general purpose mouse API could have:

a) the ability to cancel the default right-click action
b) the ability to trigger the default right-click action
Comment 22 by f.smuld...@gmail.com, Nov 3, 2010
Unbelievable that this is still not solved on Mac OS.
Comment 23 by asargent@chromium.org, Nov 3, 2010
(No comment was entered for this change.)
Labels: Restrict-AddIssueComment-Commit
Comment 24 by rahu...@chromium.org, May 13, 2011
(No comment was entered for this change.)
Labels: -mstone-x
Sign in to add a comment

Powered by Google Project Hosting