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

Unified Diff: content/browser/renderer_host/render_widget_host_view_mac.mm

Issue 183923030: Almost finish moving context_menu_node_ from RenderViewImpl to RenderFrameImpl. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: sync to get android fix Created 6 years, 9 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/renderer_host/render_widget_host_view_mac.mm
===================================================================
--- content/browser/renderer_host/render_widget_host_view_mac.mm (revision 255719)
+++ content/browser/renderer_host/render_widget_host_view_mac.mm (working copy)
@@ -27,6 +27,9 @@
#include "base/sys_info.h"
#import "content/browser/accessibility/browser_accessibility_cocoa.h"
#include "content/browser/accessibility/browser_accessibility_manager_mac.h"
+#include "content/browser/frame_host/frame_tree.h"
+#include "content/browser/frame_host/frame_tree_node.h"
+#include "content/browser/frame_host/render_frame_host_impl.h"
#include "content/browser/renderer_host/backing_store_mac.h"
#include "content/browser/renderer_host/backing_store_manager.h"
#include "content/browser/renderer_host/compositing_iosurface_context_mac.h"
@@ -72,7 +75,10 @@
using content::BrowserAccessibility;
using content::BrowserAccessibilityManager;
using content::EditCommand;
+using content::FrameTreeNode;
using content::NativeWebKeyboardEvent;
+using content::RenderFrameHost;
+using content::RenderViewHost;
using content::RenderViewHostImpl;
using content::RenderWidgetHostImpl;
using content::RenderWidgetHostViewMac;
@@ -1714,6 +1720,21 @@
request_range.end() - composition_range_.start());
}
+RenderFrameHost* RenderWidgetHostViewMac::GetFocusedFrame() {
+ if (!render_widget_host_->IsRenderView())
+ return NULL;
+
+ RenderViewHost* rvh = RenderViewHost::From(render_widget_host_);
+ RenderFrameHostImpl* rfh =
+ static_cast<RenderFrameHostImpl*>(rvh->GetMainFrame());
+ FrameTreeNode* focused_frame =
+ rfh->frame_tree_node()->frame_tree()->GetFocusedFrame();
+ if (!focused_frame)
+ return NULL;
+
+ return focused_frame->current_frame_host();
+}
+
bool RenderWidgetHostViewMac::GetCachedFirstRectForCharacterRange(
NSRange range,
NSRect* rect,
@@ -3967,17 +3988,15 @@
}
- (void)cut:(id)sender {
- if (renderWidgetHostView_->render_widget_host_->IsRenderView()) {
- static_cast<RenderViewHostImpl*>(
- renderWidgetHostView_->render_widget_host_)->Cut();
- }
+ RenderFrameHost* host = renderWidgetHostView_->GetFocusedFrame();
+ if (host)
+ host->Cut();
}
- (void)copy:(id)sender {
- if (renderWidgetHostView_->render_widget_host_->IsRenderView()) {
- static_cast<RenderViewHostImpl*>(
- renderWidgetHostView_->render_widget_host_)->Copy();
- }
+ RenderFrameHost* host = renderWidgetHostView_->GetFocusedFrame();
+ if (host)
+ host->Copy();
}
- (void)copyToFindPboard:(id)sender {
@@ -3988,10 +4007,9 @@
}
- (void)paste:(id)sender {
- if (renderWidgetHostView_->render_widget_host_->IsRenderView()) {
- static_cast<RenderViewHostImpl*>(
- renderWidgetHostView_->render_widget_host_)->Paste();
- }
+ RenderFrameHost* host = renderWidgetHostView_->GetFocusedFrame();
+ if (host)
+ host->Paste();
}
- (void)pasteAndMatchStyle:(id)sender {
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_mac.h ('k') | content/browser/web_contents/touch_editable_impl_aura.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698