-
graouts@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=124747 Reviewed by Joseph Pecoraro. Source/WebCore: Add a new InspectorFrontendHost::dispatchEventAsContextMenuEvent(Event*) method to let the inspector front-end dispatch a native contextmenu event that will allow for a context menu to be shown from within a non-contextmenu event handler. * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent): Check that we're dealing with a mouse event, get the frame for the event target and the event's location to call ContextMenuController::showContextMenuAt() which will handle the new contextmenu event dispatch to the original event target. * inspector/InspectorFrontendHost.h: * inspector/InspectorFrontendHost.idl: Source/WebInspectorUI: Automatically dispatch a contextmenu event in case WebInspector.ContextMenu.prototype.show() is called outside of a contextmenu event handler and would therefore not show the expected context menu (except in the Remote Web Inspector where this already works). * UserInterface/ContextMenu.js: (WebInspector.ContextMenu.prototype.show): Check whether the event is a contextmenu event, and if not, add an event listener for a manually dispatched contextmenu event such that we may then call InspectorFrontendHost.showContextMenu() in a contextmenu event handler. (WebInspector.ContextMenu.prototype.handleEvent): Call InspectorFrontendHost.showContextMenu() now that we received the manually dispatched contextmenu event. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159780 268f45cc-cd09-0410-ab3c-d52691b4dbfc
05069040