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

Side by Side Diff: content/renderer/render_frame_proxy.cc

Issue 1973133002: ✀ Remove postMessage plumbing for swappedout:// ✀ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase to use std::move instead of release(). Created 4 years, 7 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
« no previous file with comments | « content/renderer/render_frame_proxy.h ('k') | content/renderer/render_view_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/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 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 web_frame_(nullptr), 159 web_frame_(nullptr),
160 render_view_(nullptr), 160 render_view_(nullptr),
161 render_widget_(nullptr) { 161 render_widget_(nullptr) {
162 std::pair<RoutingIDProxyMap::iterator, bool> result = 162 std::pair<RoutingIDProxyMap::iterator, bool> result =
163 g_routing_id_proxy_map.Get().insert(std::make_pair(routing_id_, this)); 163 g_routing_id_proxy_map.Get().insert(std::make_pair(routing_id_, this));
164 CHECK(result.second) << "Inserting a duplicate item."; 164 CHECK(result.second) << "Inserting a duplicate item.";
165 RenderThread::Get()->AddRoute(routing_id_, this); 165 RenderThread::Get()->AddRoute(routing_id_, this);
166 } 166 }
167 167
168 RenderFrameProxy::~RenderFrameProxy() { 168 RenderFrameProxy::~RenderFrameProxy() {
169 // TODO(nasko): Set the render_frame_proxy to null to avoid a double deletion
170 // when detaching the main frame. This can be removed once RenderFrameImpl and
171 // RenderFrameProxy have been completely decoupled. See
172 // https://crbug.com/357747.
173 RenderFrameImpl* render_frame =
174 RenderFrameImpl::FromRoutingID(frame_routing_id_);
175 if (render_frame)
176 render_frame->set_render_frame_proxy(nullptr);
177
178 render_widget_->UnregisterRenderFrameProxy(this); 169 render_widget_->UnregisterRenderFrameProxy(this);
179 170
180 CHECK(!web_frame_); 171 CHECK(!web_frame_);
181 RenderThread::Get()->RemoveRoute(routing_id_); 172 RenderThread::Get()->RemoveRoute(routing_id_);
182 g_routing_id_proxy_map.Get().erase(routing_id_); 173 g_routing_id_proxy_map.Get().erase(routing_id_);
183 } 174 }
184 175
185 void RenderFrameProxy::Init(blink::WebRemoteFrame* web_frame, 176 void RenderFrameProxy::Init(blink::WebRemoteFrame* web_frame,
186 RenderViewImpl* render_view, 177 RenderViewImpl* render_view,
187 RenderWidget* render_widget) { 178 RenderWidget* render_widget) {
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 FrameMap::iterator it = g_frame_map.Get().find(web_frame_); 368 FrameMap::iterator it = g_frame_map.Get().find(web_frame_);
378 CHECK(it != g_frame_map.Get().end()); 369 CHECK(it != g_frame_map.Get().end());
379 CHECK_EQ(it->second, this); 370 CHECK_EQ(it->second, this);
380 g_frame_map.Get().erase(it); 371 g_frame_map.Get().erase(it);
381 372
382 web_frame_ = nullptr; 373 web_frame_ = nullptr;
383 374
384 delete this; 375 delete this;
385 } 376 }
386 377
387 void RenderFrameProxy::postMessageEvent( 378 void RenderFrameProxy::forwardPostMessage(
388 blink::WebLocalFrame* source_frame, 379 blink::WebLocalFrame* source_frame,
389 blink::WebRemoteFrame* target_frame, 380 blink::WebRemoteFrame* target_frame,
390 blink::WebSecurityOrigin target_origin, 381 blink::WebSecurityOrigin target_origin,
391 blink::WebDOMMessageEvent event) { 382 blink::WebDOMMessageEvent event) {
392 DCHECK(!web_frame_ || web_frame_ == target_frame); 383 DCHECK(!web_frame_ || web_frame_ == target_frame);
393 384
394 FrameMsg_PostMessage_Params params; 385 FrameMsg_PostMessage_Params params;
395 params.is_data_raw_string = false; 386 params.is_data_raw_string = false;
396 params.data = event.data().toString(); 387 params.data = event.data().toString();
397 params.source_origin = event.origin(); 388 params.source_origin = event.origin();
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 blink::WebLocalFrame* source) { 460 blink::WebLocalFrame* source) {
470 int source_routing_id = RenderFrameImpl::FromWebFrame(source)->GetRoutingID(); 461 int source_routing_id = RenderFrameImpl::FromWebFrame(source)->GetRoutingID();
471 Send(new FrameHostMsg_AdvanceFocus(routing_id_, type, source_routing_id)); 462 Send(new FrameHostMsg_AdvanceFocus(routing_id_, type, source_routing_id));
472 } 463 }
473 464
474 void RenderFrameProxy::frameFocused() { 465 void RenderFrameProxy::frameFocused() {
475 Send(new FrameHostMsg_FrameFocused(routing_id_)); 466 Send(new FrameHostMsg_FrameFocused(routing_id_));
476 } 467 }
477 468
478 } // namespace 469 } // namespace
OLDNEW
« no previous file with comments | « content/renderer/render_frame_proxy.h ('k') | content/renderer/render_view_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698