diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-05 03:26:29 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-05 03:26:29 +0000 |
commit | e09ba55021ea324864cff41148a0d3ee65539963 (patch) | |
tree | 1d9fb31246f6029e3ab9fe56b334c01634ca7436 /webkit/glue/context_menu.h | |
parent | a9358722ff8a3955c5b4a7430fc16af314653d50 (diff) | |
download | chromium_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.h | 111 |
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__ + |