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

Side by Side Diff: content/browser/frame_host/cross_process_frame_connector.cc

Issue 310413004: Move ownership of CrossProcessFrameConnector to RenderFrameProxyHost. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/frame_host/cross_process_frame_connector.h" 5 #include "content/browser/frame_host/cross_process_frame_connector.h"
6 6
7 #include "content/browser/frame_host/render_frame_host_impl.h" 7 #include "content/browser/frame_host/render_frame_proxy_host.h"
8 #include "content/browser/frame_host/render_widget_host_view_child_frame.h" 8 #include "content/browser/frame_host/render_widget_host_view_child_frame.h"
9 #include "content/browser/renderer_host/render_view_host_impl.h" 9 #include "content/browser/renderer_host/render_view_host_impl.h"
10 #include "content/browser/renderer_host/render_widget_host_impl.h" 10 #include "content/browser/renderer_host/render_widget_host_impl.h"
11 #include "content/common/frame_messages.h" 11 #include "content/common/frame_messages.h"
12 #include "content/common/gpu/gpu_messages.h" 12 #include "content/common/gpu/gpu_messages.h"
13 #include "third_party/WebKit/public/web/WebInputEvent.h" 13 #include "third_party/WebKit/public/web/WebInputEvent.h"
14 14
15 namespace content { 15 namespace content {
16 16
17 CrossProcessFrameConnector::CrossProcessFrameConnector( 17 CrossProcessFrameConnector::CrossProcessFrameConnector(
18 RenderFrameHostImpl* frame_proxy_in_parent_renderer) 18 RenderFrameProxyHost* frame_proxy_in_parent_renderer)
19 : frame_proxy_in_parent_renderer_(frame_proxy_in_parent_renderer), 19 : frame_proxy_in_parent_renderer_(frame_proxy_in_parent_renderer),
20 view_(NULL), 20 view_(NULL),
21 device_scale_factor_(1) { 21 device_scale_factor_(1) {
22 frame_proxy_in_parent_renderer->set_cross_process_frame_connector(this);
23 } 22 }
24 23
25 CrossProcessFrameConnector::~CrossProcessFrameConnector() { 24 CrossProcessFrameConnector::~CrossProcessFrameConnector() {
26 if (view_) 25 if (view_)
27 view_->set_cross_process_frame_connector(NULL); 26 view_->set_cross_process_frame_connector(NULL);
28 } 27 }
29 28
30 bool CrossProcessFrameConnector::OnMessageReceived(const IPC::Message& msg) { 29 bool CrossProcessFrameConnector::OnMessageReceived(const IPC::Message& msg) {
31 bool handled = true; 30 bool handled = true;
32 31
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 } 137 }
139 138
140 void CrossProcessFrameConnector::OnForwardInputEvent( 139 void CrossProcessFrameConnector::OnForwardInputEvent(
141 const blink::WebInputEvent* event) { 140 const blink::WebInputEvent* event) {
142 if (!view_) 141 if (!view_)
143 return; 142 return;
144 143
145 RenderWidgetHostImpl* child_widget = 144 RenderWidgetHostImpl* child_widget =
146 RenderWidgetHostImpl::From(view_->GetRenderWidgetHost()); 145 RenderWidgetHostImpl::From(view_->GetRenderWidgetHost());
147 RenderWidgetHostImpl* parent_widget = 146 RenderWidgetHostImpl* parent_widget =
148 frame_proxy_in_parent_renderer_->render_view_host(); 147 frame_proxy_in_parent_renderer_->GetRenderViewHost();
149 148
150 if (blink::WebInputEvent::isKeyboardEventType(event->type)) { 149 if (blink::WebInputEvent::isKeyboardEventType(event->type)) {
151 if (!parent_widget->GetLastKeyboardEvent()) 150 if (!parent_widget->GetLastKeyboardEvent())
152 return; 151 return;
153 NativeWebKeyboardEvent keyboard_event( 152 NativeWebKeyboardEvent keyboard_event(
154 *parent_widget->GetLastKeyboardEvent()); 153 *parent_widget->GetLastKeyboardEvent());
155 child_widget->ForwardKeyboardEvent(keyboard_event); 154 child_widget->ForwardKeyboardEvent(keyboard_event);
156 return; 155 return;
157 } 156 }
158 157
(...skipping 19 matching lines...) Expand all
178 } 177 }
179 } 178 }
180 179
181 void CrossProcessFrameConnector::SetSize(gfx::Rect frame_rect) { 180 void CrossProcessFrameConnector::SetSize(gfx::Rect frame_rect) {
182 child_frame_rect_ = frame_rect; 181 child_frame_rect_ = frame_rect;
183 if (view_) 182 if (view_)
184 view_->SetSize(frame_rect.size()); 183 view_->SetSize(frame_rect.size());
185 } 184 }
186 185
187 } // namespace content 186 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698