diff options
author | aruslan@chromium.org <aruslan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-26 00:54:12 +0000 |
---|---|---|
committer | aruslan@chromium.org <aruslan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-26 00:54:12 +0000 |
commit | 24d2b17dff7c4044839e1b5abd5baf83f4eb3b1d (patch) | |
tree | 57299b02d66597023406378a45337bbd794aadd9 /content/port | |
parent | f9d518696118b8f4985a20a18fb2d806af049415 (diff) | |
download | chromium_src-24d2b17dff7c4044839e1b5abd5baf83f4eb3b1d.zip chromium_src-24d2b17dff7c4044839e1b5abd5baf83f4eb3b1d.tar.gz chromium_src-24d2b17dff7c4044839e1b5abd5baf83f4eb3b1d.tar.bz2 |
Multi-select <select> in 'external popup window'
We use an 'external popup window' for both single and multi selection
<select> tag popups. This also supports <optgroup> and disabled <option>
items and multiple selections. On all other chrome platforms a multi-select
<select> tag is rendered in page, so this CL adds a bit of plumbing and IPC
stuff to get the multi-select popups working as well.
WebKit side of this CL is at http://trac.webkit.org/changeset/94600
Review URL: https://chromiumcodereview.appspot.com/10436010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139169 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/port')
-rw-r--r-- | content/port/browser/render_view_host_delegate_view.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/content/port/browser/render_view_host_delegate_view.h b/content/port/browser/render_view_host_delegate_view.h index c04603a..8a646c4 100644 --- a/content/port/browser/render_view_host_delegate_view.h +++ b/content/port/browser/render_view_host_delegate_view.h @@ -6,15 +6,19 @@ #define CONTENT_PORT_BROWSER_RENDER_VIEW_HOST_DELEGATE_VIEW_H_ #pragma once +#include <vector> + #include "base/basictypes.h" #include "content/common/content_export.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebDragOperation.h" class SkBitmap; struct WebDropData; +struct WebMenuItem; namespace gfx { class Point; +class Rect; } namespace content { @@ -30,6 +34,17 @@ class CONTENT_EXPORT RenderViewHostDelegateView { // provided in the supplied params. virtual void ShowContextMenu(const ContextMenuParams& params) {} + // Shows a popup menu with the specified items. + // This method should call RenderViewHost::DidSelectPopupMenuItem[s]() or + // RenderViewHost::DidCancelPopupMenu() based on the user action. + virtual void ShowPopupMenu(const gfx::Rect& bounds, + int item_height, + double item_font_size, + int selected_item, + const std::vector<WebMenuItem>& items, + bool right_aligned, + bool allow_multiple_selection) = 0; + // The user started dragging content of the specified type within the // RenderView. Contextual information about the dragged content is supplied // by WebDropData. |