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

Side by Side 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/renderer_host/render_widget_host_view_mac.h" 5 #include "content/browser/renderer_host/render_widget_host_view_mac.h"
6 6
7 #import <objc/runtime.h> 7 #import <objc/runtime.h>
8 #include <QuartzCore/QuartzCore.h> 8 #include <QuartzCore/QuartzCore.h>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/callback_helpers.h" 12 #include "base/callback_helpers.h"
13 #include "base/command_line.h" 13 #include "base/command_line.h"
14 #include "base/debug/crash_logging.h" 14 #include "base/debug/crash_logging.h"
15 #include "base/debug/trace_event.h" 15 #include "base/debug/trace_event.h"
16 #include "base/logging.h" 16 #include "base/logging.h"
17 #include "base/mac/mac_util.h" 17 #include "base/mac/mac_util.h"
18 #include "base/mac/scoped_cftyperef.h" 18 #include "base/mac/scoped_cftyperef.h"
19 #import "base/mac/scoped_nsobject.h" 19 #import "base/mac/scoped_nsobject.h"
20 #include "base/mac/sdk_forward_declarations.h" 20 #include "base/mac/sdk_forward_declarations.h"
21 #include "base/message_loop/message_loop.h" 21 #include "base/message_loop/message_loop.h"
22 #include "base/metrics/histogram.h" 22 #include "base/metrics/histogram.h"
23 #include "base/strings/string_util.h" 23 #include "base/strings/string_util.h"
24 #include "base/strings/stringprintf.h" 24 #include "base/strings/stringprintf.h"
25 #include "base/strings/sys_string_conversions.h" 25 #include "base/strings/sys_string_conversions.h"
26 #include "base/strings/utf_string_conversions.h" 26 #include "base/strings/utf_string_conversions.h"
27 #include "base/sys_info.h" 27 #include "base/sys_info.h"
28 #import "content/browser/accessibility/browser_accessibility_cocoa.h" 28 #import "content/browser/accessibility/browser_accessibility_cocoa.h"
29 #include "content/browser/accessibility/browser_accessibility_manager_mac.h" 29 #include "content/browser/accessibility/browser_accessibility_manager_mac.h"
30 #include "content/browser/frame_host/frame_tree.h"
31 #include "content/browser/frame_host/frame_tree_node.h"
32 #include "content/browser/frame_host/render_frame_host_impl.h"
30 #include "content/browser/renderer_host/backing_store_mac.h" 33 #include "content/browser/renderer_host/backing_store_mac.h"
31 #include "content/browser/renderer_host/backing_store_manager.h" 34 #include "content/browser/renderer_host/backing_store_manager.h"
32 #include "content/browser/renderer_host/compositing_iosurface_context_mac.h" 35 #include "content/browser/renderer_host/compositing_iosurface_context_mac.h"
33 #include "content/browser/renderer_host/compositing_iosurface_layer_mac.h" 36 #include "content/browser/renderer_host/compositing_iosurface_layer_mac.h"
34 #include "content/browser/renderer_host/compositing_iosurface_mac.h" 37 #include "content/browser/renderer_host/compositing_iosurface_mac.h"
35 #include "content/browser/renderer_host/render_view_host_impl.h" 38 #include "content/browser/renderer_host/render_view_host_impl.h"
36 #import "content/browser/renderer_host/render_widget_host_view_mac_dictionary_he lper.h" 39 #import "content/browser/renderer_host/render_widget_host_view_mac_dictionary_he lper.h"
37 #import "content/browser/renderer_host/render_widget_host_view_mac_editcommand_h elper.h" 40 #import "content/browser/renderer_host/render_widget_host_view_mac_editcommand_h elper.h"
38 #import "content/browser/renderer_host/text_input_client_mac.h" 41 #import "content/browser/renderer_host/text_input_client_mac.h"
39 #include "content/common/accessibility_messages.h" 42 #include "content/common/accessibility_messages.h"
(...skipping 25 matching lines...) Expand all
65 #include "ui/gfx/scoped_ns_graphics_context_save_gstate_mac.h" 68 #include "ui/gfx/scoped_ns_graphics_context_save_gstate_mac.h"
66 #include "ui/gfx/screen.h" 69 #include "ui/gfx/screen.h"
67 #include "ui/gfx/size_conversions.h" 70 #include "ui/gfx/size_conversions.h"
68 #include "ui/gl/gl_switches.h" 71 #include "ui/gl/gl_switches.h"
69 #include "ui/gl/io_surface_support_mac.h" 72 #include "ui/gl/io_surface_support_mac.h"
70 73
71 using content::BackingStoreMac; 74 using content::BackingStoreMac;
72 using content::BrowserAccessibility; 75 using content::BrowserAccessibility;
73 using content::BrowserAccessibilityManager; 76 using content::BrowserAccessibilityManager;
74 using content::EditCommand; 77 using content::EditCommand;
78 using content::FrameTreeNode;
75 using content::NativeWebKeyboardEvent; 79 using content::NativeWebKeyboardEvent;
80 using content::RenderFrameHost;
81 using content::RenderViewHost;
76 using content::RenderViewHostImpl; 82 using content::RenderViewHostImpl;
77 using content::RenderWidgetHostImpl; 83 using content::RenderWidgetHostImpl;
78 using content::RenderWidgetHostViewMac; 84 using content::RenderWidgetHostViewMac;
79 using content::RenderWidgetHostViewMacEditCommandHelper; 85 using content::RenderWidgetHostViewMacEditCommandHelper;
80 using content::TextInputClientMac; 86 using content::TextInputClientMac;
81 using blink::WebInputEvent; 87 using blink::WebInputEvent;
82 using blink::WebInputEventFactory; 88 using blink::WebInputEventFactory;
83 using blink::WebMouseEvent; 89 using blink::WebMouseEvent;
84 using blink::WebMouseWheelEvent; 90 using blink::WebMouseWheelEvent;
85 91
(...skipping 1621 matching lines...) Expand 10 before | Expand all | Expand 10 after
1707 request_range.start() > composition_range_.end() || 1713 request_range.start() > composition_range_.end() ||
1708 request_range.end() > composition_range_.end()) { 1714 request_range.end() > composition_range_.end()) {
1709 return gfx::Range::InvalidRange(); 1715 return gfx::Range::InvalidRange();
1710 } 1716 }
1711 1717
1712 return gfx::Range( 1718 return gfx::Range(
1713 request_range.start() - composition_range_.start(), 1719 request_range.start() - composition_range_.start(),
1714 request_range.end() - composition_range_.start()); 1720 request_range.end() - composition_range_.start());
1715 } 1721 }
1716 1722
1723 RenderFrameHost* RenderWidgetHostViewMac::GetFocusedFrame() {
1724 if (!render_widget_host_->IsRenderView())
1725 return NULL;
1726
1727 RenderViewHost* rvh = RenderViewHost::From(render_widget_host_);
1728 RenderFrameHostImpl* rfh =
1729 static_cast<RenderFrameHostImpl*>(rvh->GetMainFrame());
1730 FrameTreeNode* focused_frame =
1731 rfh->frame_tree_node()->frame_tree()->GetFocusedFrame();
1732 if (!focused_frame)
1733 return NULL;
1734
1735 return focused_frame->current_frame_host();
1736 }
1737
1717 bool RenderWidgetHostViewMac::GetCachedFirstRectForCharacterRange( 1738 bool RenderWidgetHostViewMac::GetCachedFirstRectForCharacterRange(
1718 NSRange range, 1739 NSRange range,
1719 NSRect* rect, 1740 NSRect* rect,
1720 NSRange* actual_range) { 1741 NSRange* actual_range) {
1721 DCHECK(rect); 1742 DCHECK(rect);
1722 // This exists to make IMEs more responsive, see http://crbug.com/115920 1743 // This exists to make IMEs more responsive, see http://crbug.com/115920
1723 TRACE_EVENT0("browser", 1744 TRACE_EVENT0("browser",
1724 "RenderWidgetHostViewMac::GetFirstRectForCharacterRange"); 1745 "RenderWidgetHostViewMac::GetFirstRectForCharacterRange");
1725 1746
1726 // If requested range is same as caret location, we can just return it. 1747 // If requested range is same as caret location, we can just return it.
(...skipping 2233 matching lines...) Expand 10 before | Expand all | Expand 10 after
3960 } 3981 }
3961 3982
3962 - (void)redo:(id)sender { 3983 - (void)redo:(id)sender {
3963 if (renderWidgetHostView_->render_widget_host_->IsRenderView()) { 3984 if (renderWidgetHostView_->render_widget_host_->IsRenderView()) {
3964 static_cast<RenderViewHostImpl*>( 3985 static_cast<RenderViewHostImpl*>(
3965 renderWidgetHostView_->render_widget_host_)->Redo(); 3986 renderWidgetHostView_->render_widget_host_)->Redo();
3966 } 3987 }
3967 } 3988 }
3968 3989
3969 - (void)cut:(id)sender { 3990 - (void)cut:(id)sender {
3970 if (renderWidgetHostView_->render_widget_host_->IsRenderView()) { 3991 RenderFrameHost* host = renderWidgetHostView_->GetFocusedFrame();
3971 static_cast<RenderViewHostImpl*>( 3992 if (host)
3972 renderWidgetHostView_->render_widget_host_)->Cut(); 3993 host->Cut();
3973 }
3974 } 3994 }
3975 3995
3976 - (void)copy:(id)sender { 3996 - (void)copy:(id)sender {
3977 if (renderWidgetHostView_->render_widget_host_->IsRenderView()) { 3997 RenderFrameHost* host = renderWidgetHostView_->GetFocusedFrame();
3978 static_cast<RenderViewHostImpl*>( 3998 if (host)
3979 renderWidgetHostView_->render_widget_host_)->Copy(); 3999 host->Copy();
3980 }
3981 } 4000 }
3982 4001
3983 - (void)copyToFindPboard:(id)sender { 4002 - (void)copyToFindPboard:(id)sender {
3984 if (renderWidgetHostView_->render_widget_host_->IsRenderView()) { 4003 if (renderWidgetHostView_->render_widget_host_->IsRenderView()) {
3985 static_cast<RenderViewHostImpl*>( 4004 static_cast<RenderViewHostImpl*>(
3986 renderWidgetHostView_->render_widget_host_)->CopyToFindPboard(); 4005 renderWidgetHostView_->render_widget_host_)->CopyToFindPboard();
3987 } 4006 }
3988 } 4007 }
3989 4008
3990 - (void)paste:(id)sender { 4009 - (void)paste:(id)sender {
3991 if (renderWidgetHostView_->render_widget_host_->IsRenderView()) { 4010 RenderFrameHost* host = renderWidgetHostView_->GetFocusedFrame();
3992 static_cast<RenderViewHostImpl*>( 4011 if (host)
3993 renderWidgetHostView_->render_widget_host_)->Paste(); 4012 host->Paste();
3994 }
3995 } 4013 }
3996 4014
3997 - (void)pasteAndMatchStyle:(id)sender { 4015 - (void)pasteAndMatchStyle:(id)sender {
3998 if (renderWidgetHostView_->render_widget_host_->IsRenderView()) { 4016 if (renderWidgetHostView_->render_widget_host_->IsRenderView()) {
3999 static_cast<RenderViewHostImpl*>( 4017 static_cast<RenderViewHostImpl*>(
4000 renderWidgetHostView_->render_widget_host_)->PasteAndMatchStyle(); 4018 renderWidgetHostView_->render_widget_host_)->PasteAndMatchStyle();
4001 } 4019 }
4002 } 4020 }
4003 4021
4004 - (void)selectAll:(id)sender { 4022 - (void)selectAll:(id)sender {
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
4246 CGColorGetConstantColor(kCGColorWhite)); 4264 CGColorGetConstantColor(kCGColorWhite));
4247 CGContextFillRect(context, clipRect); 4265 CGContextFillRect(context, clipRect);
4248 } 4266 }
4249 } 4267 }
4250 4268
4251 - (void)disableRendering { 4269 - (void)disableRendering {
4252 renderWidgetHostView_ = NULL; 4270 renderWidgetHostView_ = NULL;
4253 } 4271 }
4254 4272
4255 @end // implementation SoftwareLayer 4273 @end // implementation SoftwareLayer
OLDNEW
« 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