From 31d51d4865d0f361ea739ee097902444e604d035 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Mon, 23 Feb 2015 14:08:12 +0100 Subject: [PATCH] mshtml: Added support for CONTEXT_MENU_TEXTSELECT context menu type. --- dlls/mshtml/nsembed.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/dlls/mshtml/nsembed.c b/dlls/mshtml/nsembed.c index 8f3fcebb2b6..f4d14bc73b1 100644 --- a/dlls/mshtml/nsembed.c +++ b/dlls/mshtml/nsembed.c @@ -1490,9 +1490,21 @@ static nsresult NSAPI nsContextMenuListener_OnShowContextMenu(nsIContextMenuList switch(aContextFlags) { case CONTEXT_NONE: case CONTEXT_DOCUMENT: - case CONTEXT_TEXT: - dwID = CONTEXT_MENU_DEFAULT; + case CONTEXT_TEXT: { + nsISelection *selection; + + nsres = nsIDOMHTMLDocument_GetSelection(This->doc->basedoc.doc_node->nsdoc, &selection); + if(NS_SUCCEEDED(nsres) && selection) { + cpp_bool is_collapsed; + + /* FIXME: Check if the click was inside selection. */ + nsres = nsISelection_GetIsCollapsed(selection, &is_collapsed); + nsISelection_Release(selection); + if(NS_SUCCEEDED(nsres) && !is_collapsed) + dwID = CONTEXT_MENU_TEXTSELECT; + } break; + } case CONTEXT_IMAGE: case CONTEXT_IMAGE|CONTEXT_LINK: dwID = CONTEXT_MENU_IMAGE; -- 2.11.4.GIT