OLD | NEW |
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/renderer/render_frame_proxy.h" | 5 #include "content/renderer/render_frame_proxy.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 #include <map> | 8 #include <map> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 } | 164 } |
165 return NULL; | 165 return NULL; |
166 } | 166 } |
167 | 167 |
168 RenderFrameProxy::RenderFrameProxy(int routing_id, int frame_routing_id) | 168 RenderFrameProxy::RenderFrameProxy(int routing_id, int frame_routing_id) |
169 : routing_id_(routing_id), | 169 : routing_id_(routing_id), |
170 frame_routing_id_(frame_routing_id), | 170 frame_routing_id_(frame_routing_id), |
171 web_frame_(nullptr), | 171 web_frame_(nullptr), |
172 render_view_(nullptr), | 172 render_view_(nullptr), |
173 render_widget_(nullptr) { | 173 render_widget_(nullptr) { |
| 174 LOG(ERROR) << "RFP[" << this << "]::RFP: " |
| 175 << " routing_id:" << routing_id_; |
174 std::pair<RoutingIDProxyMap::iterator, bool> result = | 176 std::pair<RoutingIDProxyMap::iterator, bool> result = |
175 g_routing_id_proxy_map.Get().insert(std::make_pair(routing_id_, this)); | 177 g_routing_id_proxy_map.Get().insert(std::make_pair(routing_id_, this)); |
176 CHECK(result.second) << "Inserting a duplicate item."; | 178 CHECK(result.second) << "Inserting a duplicate item."; |
177 RenderThread::Get()->AddRoute(routing_id_, this); | 179 RenderThread::Get()->AddRoute(routing_id_, this); |
178 } | 180 } |
179 | 181 |
180 RenderFrameProxy::~RenderFrameProxy() { | 182 RenderFrameProxy::~RenderFrameProxy() { |
181 render_widget_->UnregisterRenderFrameProxy(this); | 183 render_widget_->UnregisterRenderFrameProxy(this); |
182 | 184 |
183 CHECK(!web_frame_); | 185 CHECK(!web_frame_); |
184 RenderThread::Get()->RemoveRoute(routing_id_); | 186 RenderThread::Get()->RemoveRoute(routing_id_); |
185 g_routing_id_proxy_map.Get().erase(routing_id_); | 187 g_routing_id_proxy_map.Get().erase(routing_id_); |
| 188 LOG(ERROR) << "RFP[" << this << "]::~RFP: " |
| 189 << " routing_id:" << routing_id_; |
186 } | 190 } |
187 | 191 |
188 void RenderFrameProxy::Init(blink::WebRemoteFrame* web_frame, | 192 void RenderFrameProxy::Init(blink::WebRemoteFrame* web_frame, |
189 RenderViewImpl* render_view, | 193 RenderViewImpl* render_view, |
190 RenderWidget* render_widget) { | 194 RenderWidget* render_widget) { |
191 CHECK(web_frame); | 195 CHECK(web_frame); |
192 CHECK(render_view); | 196 CHECK(render_view); |
193 CHECK(render_widget); | 197 CHECK(render_widget); |
194 | 198 |
195 web_frame_ = web_frame; | 199 web_frame_ = web_frame; |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 | 294 |
291 // Note: If |handled| is true, |this| may have been deleted. | 295 // Note: If |handled| is true, |this| may have been deleted. |
292 return handled; | 296 return handled; |
293 } | 297 } |
294 | 298 |
295 bool RenderFrameProxy::Send(IPC::Message* message) { | 299 bool RenderFrameProxy::Send(IPC::Message* message) { |
296 return RenderThread::Get()->Send(message); | 300 return RenderThread::Get()->Send(message); |
297 } | 301 } |
298 | 302 |
299 void RenderFrameProxy::OnDeleteProxy() { | 303 void RenderFrameProxy::OnDeleteProxy() { |
| 304 LOG(ERROR) << "RFP[" << this << "]::OnDeleteProxy:"; |
300 DCHECK(web_frame_); | 305 DCHECK(web_frame_); |
301 web_frame_->detach(); | 306 web_frame_->detach(); |
302 } | 307 } |
303 | 308 |
304 void RenderFrameProxy::OnChildFrameProcessGone() { | 309 void RenderFrameProxy::OnChildFrameProcessGone() { |
305 if (compositing_helper_.get()) | 310 if (compositing_helper_.get()) |
306 compositing_helper_->ChildFrameGone(); | 311 compositing_helper_->ChildFrameGone(); |
307 } | 312 } |
308 | 313 |
309 void RenderFrameProxy::OnSetChildFrameSurface( | 314 void RenderFrameProxy::OnSetChildFrameSurface( |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
387 // This uses focusDocumentView rather than setFocusedFrame so that blur | 392 // This uses focusDocumentView rather than setFocusedFrame so that blur |
388 // events are properly dispatched on any currently focused elements. | 393 // events are properly dispatched on any currently focused elements. |
389 render_view_->webview()->focusDocumentView(web_frame_); | 394 render_view_->webview()->focusDocumentView(web_frame_); |
390 } | 395 } |
391 | 396 |
392 void RenderFrameProxy::OnWillEnterFullscreen() { | 397 void RenderFrameProxy::OnWillEnterFullscreen() { |
393 web_frame_->willEnterFullscreen(); | 398 web_frame_->willEnterFullscreen(); |
394 } | 399 } |
395 | 400 |
396 void RenderFrameProxy::frameDetached(DetachType type) { | 401 void RenderFrameProxy::frameDetached(DetachType type) { |
| 402 LOG(ERROR) << "RFP[" << this << "]::frameDetached: " |
| 403 << " type:" << static_cast<int>(type); |
397 if (type == DetachType::Remove && web_frame_->parent()) { | 404 if (type == DetachType::Remove && web_frame_->parent()) { |
398 web_frame_->parent()->removeChild(web_frame_); | 405 web_frame_->parent()->removeChild(web_frame_); |
399 | 406 |
400 // Let the browser process know this subframe is removed, so that it is | 407 // Let the browser process know this subframe is removed, so that it is |
401 // destroyed in its current process. | 408 // destroyed in its current process. |
402 Send(new FrameHostMsg_Detach(routing_id_)); | 409 Send(new FrameHostMsg_Detach(routing_id_)); |
403 } | 410 } |
404 | 411 |
405 web_frame_->close(); | 412 web_frame_->close(); |
406 | 413 |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
502 blink::WebLocalFrame* source) { | 509 blink::WebLocalFrame* source) { |
503 int source_routing_id = RenderFrameImpl::FromWebFrame(source)->GetRoutingID(); | 510 int source_routing_id = RenderFrameImpl::FromWebFrame(source)->GetRoutingID(); |
504 Send(new FrameHostMsg_AdvanceFocus(routing_id_, type, source_routing_id)); | 511 Send(new FrameHostMsg_AdvanceFocus(routing_id_, type, source_routing_id)); |
505 } | 512 } |
506 | 513 |
507 void RenderFrameProxy::frameFocused() { | 514 void RenderFrameProxy::frameFocused() { |
508 Send(new FrameHostMsg_FrameFocused(routing_id_)); | 515 Send(new FrameHostMsg_FrameFocused(routing_id_)); |
509 } | 516 } |
510 | 517 |
511 } // namespace | 518 } // namespace |
OLD | NEW |