int OnShowContextMenu (int aContextFlags, long /*int*/ aEvent, long /*int*/ aNode) { nsIDOMEvent domEvent = new nsIDOMEvent (aEvent); long /*int*/[] result = new long /*int*/[1]; int rc = domEvent.QueryInterface (IsPre_17 ? (IsPre_4 ? nsIDOMMouseEvent.NS_IDOMMOUSEEVENT_IID : nsIDOMMouseEvent.NS_IDOMMOUSEEVENT_10_IID) :nsIDOMMouseEvent.NS_IDOMMOUSEEVENT_17_IID, result); if (rc != XPCOM.NS_OK) error (rc); if (result[0] == 0) error (XPCOM.NS_NOINTERFACE); int[] aScreenX = new int[1], aScreenY = new int[1]; nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); rc = domMouseEvent.GetScreenX (aScreenX); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetScreenY (aScreenY); if (rc != XPCOM.NS_OK) error (rc); domMouseEvent.Release (); Event event = new Event (); event.x = aScreenX[0]; event.y = aScreenY[0]; browser.notifyListeners (SWT.MenuDetect, event); if (!event.doit || browser.isDisposed ()) return XPCOM.NS_OK; Menu menu = browser.getMenu (); if (menu != null && !menu.isDisposed ()) { if (aScreenX[0] != event.x || aScreenY[0] != event.y) { menu.setLocation (event.x, event.y); } menu.setVisible (true); } return XPCOM.NS_OK; }
if (rc != XPCOM.NS_OK) error (rc); if (result[0] == 0) error (XPCOM.NS_NOINTERFACE); nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); result[0] = 0; rc = domMouseEvent.GetRelatedTarget (result); if (rc != XPCOM.NS_OK) error (rc); if (result[0] != 0) { new nsISupports (result[0]).Release (); domMouseEvent.Release (); return XPCOM.NS_OK; rc = domMouseEvent.GetScreenX (aScreenX); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetScreenY (aScreenY); if (rc != XPCOM.NS_OK) error (rc); Point position = new Point (aScreenX[0], aScreenY[0]); rc = domMouseEvent.GetDetail (aDetail); if (rc != XPCOM.NS_OK) error (rc); short[] aButton = new short[1]; /* PRUint16 */ rc = domMouseEvent.GetButton (aButton); if (rc != XPCOM.NS_OK) error (rc); int[] aAltKey = new int[1], aCtrlKey = new int[1], aShiftKey = new int[1], aMetaKey = new int[1]; /* PRBool */ rc = domMouseEvent.GetAltKey (aAltKey); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetCtrlKey (aCtrlKey); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetShiftKey (aShiftKey);
if (rc != XPCOM.NS_OK) error (rc); if (result[0] == 0) error (XPCOM.NS_NOINTERFACE); nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); result[0] = 0; rc = domMouseEvent.GetRelatedTarget (result); if (rc != XPCOM.NS_OK) error (rc); if (result[0] != 0) { new nsISupports (result[0]).Release (); domMouseEvent.Release (); return XPCOM.NS_OK; rc = domMouseEvent.GetScreenX (aScreenX); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetScreenY (aScreenY); if (rc != XPCOM.NS_OK) error (rc); Point position = DPIUtil.autoScaleDown(new Point (aScreenX[0], aScreenY[0]));// To Points rc = domMouseEvent.GetDetail (aDetail); if (rc != XPCOM.NS_OK) error (rc); short[] aButton = new short[1]; /* PRUint16 */ rc = domMouseEvent.GetButton (aButton); if (rc != XPCOM.NS_OK) error (rc); int[] aAltKey = new int[1], aCtrlKey = new int[1], aShiftKey = new int[1], aMetaKey = new int[1]; /* PRBool */ rc = domMouseEvent.GetAltKey (aAltKey); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetCtrlKey (aCtrlKey); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetShiftKey (aShiftKey);
if (rc != XPCOM.NS_OK) error (rc); if (result[0] == 0) error (XPCOM.NS_NOINTERFACE); nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); result[0] = 0; rc = domMouseEvent.GetRelatedTarget (result); if (rc != XPCOM.NS_OK) error (rc); if (result[0] != 0) { new nsISupports (result[0]).Release (); domMouseEvent.Release (); return XPCOM.NS_OK; rc = domMouseEvent.GetScreenX (aScreenX); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetScreenY (aScreenY); if (rc != XPCOM.NS_OK) error (rc); Point position = DPIUtil.autoScaleDown(new Point (aScreenX[0], aScreenY[0]));// To Points rc = domMouseEvent.GetDetail (aDetail); if (rc != XPCOM.NS_OK) error (rc); short[] aButton = new short[1]; /* PRUint16 */ rc = domMouseEvent.GetButton (aButton); if (rc != XPCOM.NS_OK) error (rc); int[] aAltKey = new int[1], aCtrlKey = new int[1], aShiftKey = new int[1], aMetaKey = new int[1]; /* PRBool */ rc = domMouseEvent.GetAltKey (aAltKey); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetCtrlKey (aCtrlKey); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetShiftKey (aShiftKey);
nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); rc = domMouseEvent.GetScreenX (aScreenX); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetScreenY (aScreenY); if (rc != XPCOM.NS_OK) error (rc); domMouseEvent.Release ();
if (rc != XPCOM.NS_OK) error (rc); if (result[0] == 0) error (XPCOM.NS_NOINTERFACE); nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); result[0] = 0; rc = domMouseEvent.GetRelatedTarget (result); if (rc != XPCOM.NS_OK) error (rc); if (result[0] != 0) { new nsISupports (result[0]).Release (); domMouseEvent.Release (); return XPCOM.NS_OK; rc = domMouseEvent.GetScreenX (aScreenX); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetScreenY (aScreenY); if (rc != XPCOM.NS_OK) error (rc); Point position = DPIUtil.autoScaleDown(new Point (aScreenX[0], aScreenY[0]));// To Points rc = domMouseEvent.GetDetail (aDetail); if (rc != XPCOM.NS_OK) error (rc); short[] aButton = new short[1]; /* PRUint16 */ rc = domMouseEvent.GetButton (aButton); if (rc != XPCOM.NS_OK) error (rc); int[] aAltKey = new int[1], aCtrlKey = new int[1], aShiftKey = new int[1], aMetaKey = new int[1]; /* PRBool */ rc = domMouseEvent.GetAltKey (aAltKey); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetCtrlKey (aCtrlKey); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetShiftKey (aShiftKey);
nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); rc = domMouseEvent.GetScreenX (aScreenX); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetScreenY (aScreenY); if (rc != XPCOM.NS_OK) error (rc); domMouseEvent.Release ();
if (rc != XPCOM.NS_OK) error (rc); if (result[0] == 0) error (XPCOM.NS_NOINTERFACE); nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); result[0] = 0; rc = domMouseEvent.GetRelatedTarget (result); if (rc != XPCOM.NS_OK) error (rc); if (result[0] != 0) { new nsISupports (result[0]).Release (); domMouseEvent.Release (); return XPCOM.NS_OK; rc = domMouseEvent.GetScreenX (aScreenX); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetScreenY (aScreenY); if (rc != XPCOM.NS_OK) error (rc); Point position = DPIUtil.autoScaleDown(new Point (aScreenX[0], aScreenY[0]));// To Points rc = domMouseEvent.GetDetail (aDetail); if (rc != XPCOM.NS_OK) error (rc); short[] aButton = new short[1]; /* PRUint16 */ rc = domMouseEvent.GetButton (aButton); if (rc != XPCOM.NS_OK) error (rc); int[] aAltKey = new int[1], aCtrlKey = new int[1], aShiftKey = new int[1], aMetaKey = new int[1]; /* PRBool */ rc = domMouseEvent.GetAltKey (aAltKey); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetCtrlKey (aCtrlKey); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetShiftKey (aShiftKey);
nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); rc = domMouseEvent.GetScreenX (aScreenX); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetScreenY (aScreenY); if (rc != XPCOM.NS_OK) error (rc); domMouseEvent.Release ();
nsIDOMMouseEvent domMouseEvent = new nsIDOMMouseEvent (result[0]); rc = domMouseEvent.GetScreenX (aScreenX); if (rc != XPCOM.NS_OK) error (rc); rc = domMouseEvent.GetScreenY (aScreenY); if (rc != XPCOM.NS_OK) error (rc); domMouseEvent.Release ();