summaryrefslogtreecommitdiffstats
path: root/webkit/glue/context_menu.h
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-05 03:26:29 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-05 03:26:29 +0000
commite09ba55021ea324864cff41148a0d3ee65539963 (patch)
tree1d9fb31246f6029e3ab9fe56b334c01634ca7436 /webkit/glue/context_menu.h
parenta9358722ff8a3955c5b4a7430fc16af314653d50 (diff)
downloadchromium_src-e09ba55021ea324864cff41148a0d3ee65539963.zip
chromium_src-e09ba55021ea324864cff41148a0d3ee65539963.tar.gz
chromium_src-e09ba55021ea324864cff41148a0d3ee65539963.tar.bz2
Finish taking out render_messages.h includes from headers.
Review URL: http://codereview.chromium.org/20072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9209 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/context_menu.h')
-rw-r--r--webkit/glue/context_menu.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/webkit/glue/context_menu.h b/webkit/glue/context_menu.h
new file mode 100644
index 0000000..e14462f
--- /dev/null
+++ b/webkit/glue/context_menu.h
@@ -0,0 +1,111 @@
+// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef WEBKIT_GLUE_CONTEXT_NODE_TYPES_H__
+#define WEBKIT_GLUE_CONTEXT_NODE_TYPES_H__
+
+#include "base/basictypes.h"
+#include "googleurl/src/gurl.h"
+
+// The type of node that the user may perform a contextual action on
+// in the WebView.
+struct ContextNode {
+ enum TypeBit {
+ // No node is selected
+ NONE = 0x0,
+
+ // The top page is selected
+ PAGE = 0x1,
+
+ // A subframe page is selected
+ FRAME = 0x2,
+
+ // A link is selected
+ LINK = 0x4,
+
+ // An image is selected
+ IMAGE = 0x8,
+
+ // There is a textual or mixed selection that is selected
+ SELECTION = 0x10,
+
+ // An editable element is selected
+ EDITABLE = 0x20,
+
+ // A misspelled word is selected
+ MISSPELLED_WORD = 0x40,
+ };
+
+ enum Capability {
+ CAN_DO_NONE = 0x0,
+ CAN_UNDO = 0x1,
+ CAN_REDO = 0x2,
+ CAN_CUT = 0x4,
+ CAN_COPY = 0x8,
+ CAN_PASTE = 0x10,
+ CAN_DELETE = 0x20,
+ CAN_SELECT_ALL = 0x40,
+ };
+
+ int32 type;
+ ContextNode() : type(NONE) {}
+ explicit ContextNode(int32 t) : type(t) {}
+};
+
+// Parameters structure for ViewHostMsg_ContextMenu.
+// FIXME(beng): This would be more useful in the future and more efficient
+// if the parameters here weren't so literally mapped to what
+// they contain for the ContextMenu task. It might be better
+// to make the string fields more generic so that this object
+// could be used for more contextual actions.
+struct ContextMenuParams {
+ // This is the type of Context Node that the context menu was invoked on.
+ ContextNode node;
+
+ // These values represent the coordinates of the mouse when the context menu
+ // was invoked. Coords are relative to the associated RenderView's origin.
+ int x;
+ int y;
+
+ // This is the URL of the link that encloses the node the context menu was
+ // invoked on.
+ GURL link_url;
+
+ // This is the URL of the image the context menu was invoked on.
+ GURL image_url;
+
+ // This is the URL of the top level page that the context menu was invoked
+ // on.
+ GURL page_url;
+
+ // This is the URL of the subframe that the context menu was invoked on.
+ GURL frame_url;
+
+ // This is the text of the selection that the context menu was invoked on.
+ std::wstring selection_text;
+
+ // The misspelled word under the cursor, if any. Used to generate the
+ // |dictionary_suggestions| list.
+ std::wstring misspelled_word;
+
+ // Suggested replacements for a misspelled word under the cursor.
+ // This vector gets populated in the render process host
+ // by intercepting ViewHostMsg_ContextMenu in ResourceMessageFilter
+ // and populating dictionary_suggestions if the type is EDITABLE
+ // and the misspelled_word is not empty.
+ std::vector<std::wstring> dictionary_suggestions;
+
+ // If editable, flag for whether spell check is enabled or not.
+ bool spellcheck_enabled;
+
+ // These flags indicate to the browser whether the renderer believes it is
+ // able to perform the corresponding action.
+ int edit_flags;
+
+ // The security info for the resource we are showing the menu on.
+ std::string security_info;
+};
+
+#endif // WEBKIT_GLUE_CONTEXT_NODE_TYPES_H__
+