Module: wine Branch: master Commit: 31d51d4865d0f361ea739ee097902444e604d035 URL: http://source.winehq.org/git/wine.git/?a=commit;h=31d51d4865d0f361ea739ee097...
Author: Jacek Caban jacek@codeweavers.com Date: Mon Feb 23 14:08:12 2015 +0100
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 8f3fceb..f4d14bc 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;