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

Unified Diff: chrome/renderer/render_view.cc

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/render_view.h ('k') | chrome/renderer/renderer_main.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/render_view.cc
===================================================================
--- chrome/renderer/render_view.cc (revision 63740)
+++ chrome/renderer/render_view.cc (working copy)
@@ -60,6 +60,7 @@
#include "chrome/renderer/extensions/extension_renderer_info.h"
#include "chrome/renderer/extensions/renderer_extension_bindings.h"
#include "chrome/renderer/external_host_bindings.h"
+#include "chrome/renderer/external_popup_menu.h"
#include "chrome/renderer/geolocation_dispatcher_old.h"
#include "chrome/renderer/ggl/ggl.h"
#include "chrome/renderer/localized_error.h"
@@ -200,6 +201,8 @@
using WebKit::WebDragOperation;
using WebKit::WebDragOperationsMask;
using WebKit::WebEditingAction;
+using WebKit::WebExternalPopupMenu;
+using WebKit::WebExternalPopupMenuClient;
using WebKit::WebFileChooserCompletion;
using WebKit::WebFileSystem;
using WebKit::WebFileSystemCallbacks;
@@ -844,6 +847,9 @@
IPC_MESSAGE_HANDLER(ViewMsg_AccessibilityNotifications_ACK,
OnAccessibilityNotificationsAck)
IPC_MESSAGE_HANDLER(ViewMsg_AsyncOpenFile_ACK, OnAsyncFileOpened)
+#if defined(OS_MACOSX)
+ IPC_MESSAGE_HANDLER(ViewMsg_SelectPopupMenuItem, OnSelectPopupMenuItem)
+#endif
// Have the super handle all other messages.
IPC_MESSAGE_UNHANDLED(RenderWidget::OnMessageReceived(message))
@@ -1819,6 +1825,15 @@
return widget->webwidget();
}
+WebExternalPopupMenu* RenderView::createExternalPopupMenu(
+ const WebPopupMenuInfo& popup_menu_info,
+ WebExternalPopupMenuClient* popup_menu_client) {
+ DCHECK(!external_popup_menu_.get());
+ external_popup_menu_.reset(
+ new ExternalPopupMenu(this, popup_menu_info, popup_menu_client));
+ return external_popup_menu_.get();
+}
+
WebWidget* RenderView::createFullscreenWindow(WebKit::WebPopupType popup_type) {
RenderWidget* widget = RenderWidgetFullscreen::Create(routing_id_,
render_thread_,
@@ -6058,3 +6073,10 @@
IPC::PlatformFileForTransitToPlatformFile(file_for_transit),
message_id);
}
+
+#if defined(OS_MACOSX)
+void RenderView::OnSelectPopupMenuItem(int selected_index) {
+ external_popup_menu_->DidSelectItem(selected_index);
+ external_popup_menu_.reset();
+}
+#endif
« no previous file with comments | « chrome/renderer/render_view.h ('k') | chrome/renderer/renderer_main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698