Jacek Caban : mshtml: Added support for CONTEXT_MENU_TEXTSELECT context menu type.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Feb 23 09:04:46 CST 2015
Module: wine
Branch: master
Commit: 31d51d4865d0f361ea739ee097902444e604d035
URL: http://source.winehq.org/git/wine.git/?a=commit;h=31d51d4865d0f361ea739ee097902444e604d035
Author: Jacek Caban <jacek at 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;
More information about the wine-cvs
mailing list