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

Unified Diff: content/browser/web_contents/touch_editable_impl_aura.cc

Issue 183923030: Almost finish moving context_menu_node_ from RenderViewImpl to RenderFrameImpl. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 6 years, 10 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
Index: content/browser/web_contents/touch_editable_impl_aura.cc
===================================================================
--- content/browser/web_contents/touch_editable_impl_aura.cc (revision 254898)
+++ content/browser/web_contents/touch_editable_impl_aura.cc (working copy)
@@ -4,6 +4,7 @@
#include "content/browser/web_contents/touch_editable_impl_aura.h"
+#include "content/browser/frame_host/render_frame_host_impl.h"
#include "content/browser/renderer_host/render_widget_host_impl.h"
#include "content/browser/renderer_host/render_widget_host_view_aura.h"
#include "content/common/view_messages.h"
@@ -221,6 +222,12 @@
Cleanup();
}
+void TouchEditableImplAura::SetContextMenuRenderFrameID(
+ int render_process_id, int render_frame_id) {
nasko 2014/03/05 21:50:47 style: params should be on separate lines.
jam 2014/03/06 00:59:37 Done.
+ menu_render_process_id_ = render_process_id;
+ menu_render_frame_id_ = render_frame_id;
+}
+
////////////////////////////////////////////////////////////////////////////////
// TouchEditableImplAura, ui::TouchEditable implementation:
@@ -290,6 +297,8 @@
RenderWidgetHost* host = rwhva_->GetRenderWidgetHost();
host->Send(new ViewMsg_ShowContextMenu(host->GetRoutingID(), point));
EndTouchEditing(false);
+ menu_render_process_id_ = MSG_ROUTING_NONE;
+ menu_render_frame_id_ = MSG_ROUTING_NONE;
}
bool TouchEditableImplAura::IsCommandIdChecked(int command_id) const {
@@ -334,15 +343,23 @@
if (!rwhva_)
return;
RenderWidgetHost* host = rwhva_->GetRenderWidgetHost();
+
+ DCHECK_NE(menu_render_process_id_ , MSG_ROUTING_NONE);
+ DCHECK_NE(menu_render_frame_id_, MSG_ROUTING_NONE);
+ RenderFrameHostImpl* frame = RenderFrameHostImpl::FromID(
+ menu_render_process_id_, menu_render_frame_id_);
switch (command_id) {
case IDS_APP_CUT:
- host->Cut();
+ if (frame)
+ frame->Cut();
break;
case IDS_APP_COPY:
- host->Copy();
+ if (frame)
+ frame->Copy();
break;
case IDS_APP_PASTE:
- host->Paste();
+ if (frame)
+ frame->Paste();
break;
case IDS_APP_DELETE:
host->Delete();
@@ -363,6 +380,8 @@
TouchEditableImplAura::TouchEditableImplAura()
: text_input_type_(ui::TEXT_INPUT_TYPE_NONE),
rwhva_(NULL),
+ menu_render_process_id_(MSG_ROUTING_NONE),
+ menu_render_frame_id_(MSG_ROUTING_NONE),
selection_gesture_in_process_(false),
handles_hidden_due_to_scroll_(false),
scroll_in_progress_(false),

Powered by Google App Engine
This is Rietveld 408576698