Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4216)

Unified Diff: chrome/renderer/render_view.h

Issue 4078003: Refactoring select popup on Mac.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 10 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/renderer/external_popup_menu_unittest.cc ('k') | chrome/renderer/render_view.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/render_view.h
===================================================================
--- chrome/renderer/render_view.h (revision 63740)
+++ chrome/renderer/render_view.h (working copy)
@@ -28,6 +28,7 @@
#include "chrome/common/render_messages_params.h"
#include "chrome/common/renderer_preferences.h"
#include "chrome/common/view_types.h"
+#include "chrome/renderer/external_popup_menu.h"
#include "chrome/renderer/pepper_plugin_delegate_impl.h"
#include "chrome/renderer/render_widget.h"
#include "chrome/renderer/renderer_webcookiejar_impl.h"
@@ -351,6 +352,9 @@
virtual WebKit::WebWidget* createPopupMenu(WebKit::WebPopupType popup_type);
virtual WebKit::WebWidget* createPopupMenu(
const WebKit::WebPopupMenuInfo& info);
+ virtual WebKit::WebExternalPopupMenu* createExternalPopupMenu(
+ const WebKit::WebPopupMenuInfo& popup_menu_info,
+ WebKit::WebExternalPopupMenuClient* popup_menu_client);
virtual WebKit::WebWidget* createFullscreenWindow(
WebKit::WebPopupType popup_type);
virtual WebKit::WebStorageNamespace* createSessionStorageNamespace(
@@ -630,8 +634,12 @@
private:
// For unit tests.
+ friend class ExternalPopupMenuTest;
+ friend class PepperDeviceTest;
friend class RenderViewTest;
- friend class PepperDeviceTest;
+
+ FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuTest, NormalCase);
+ FRIEND_TEST_ALL_PREFIXES(ExternalPopupMenuTest, ShowPopupThenNavigate);
FRIEND_TEST_ALL_PREFIXES(RenderViewTest, OnNavStateChanged);
FRIEND_TEST_ALL_PREFIXES(RenderViewTest, OnImeStateChanged);
FRIEND_TEST_ALL_PREFIXES(RenderViewTest, ImeComposition);
@@ -889,6 +897,7 @@
#if defined(OS_MACOSX)
void OnWindowFrameChanged(const gfx::Rect& window_frame,
const gfx::Rect& view_frame);
+ void OnSelectPopupMenuItem(int selected_index);
#endif
void OnZoom(PageZoom::Function function);
@@ -1375,6 +1384,9 @@
// External host exposed through automation controller.
scoped_ptr<ExternalHostBindings> external_host_bindings_;
+ // The external popup for the currently showing select popup.
+ scoped_ptr<ExternalPopupMenu> external_popup_menu_;
+
// ---------------------------------------------------------------------------
// ADDING NEW DATA? Please see if it fits appropriately in one of the above
// sections rather than throwing it randomly at the end. If you're adding a
« no previous file with comments | « chrome/renderer/external_popup_menu_unittest.cc ('k') | chrome/renderer/render_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698