summaryrefslogtreecommitdiffstats
path: root/content/port
diff options
context:
space:
mode:
authoraruslan@chromium.org <aruslan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-26 00:54:12 +0000
committeraruslan@chromium.org <aruslan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-26 00:54:12 +0000
commit24d2b17dff7c4044839e1b5abd5baf83f4eb3b1d (patch)
tree57299b02d66597023406378a45337bbd794aadd9 /content/port
parentf9d518696118b8f4985a20a18fb2d806af049415 (diff)
downloadchromium_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.h15
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.