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

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

Issue 2857213005: PlzNavigate: implement process reuse for ServiceWorkers (Closed)
Patch Set: Created 3 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/render_frame_host_impl.h" 5 #include "content/browser/frame_host/render_frame_host_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 469
470 RenderFrameHostImpl::~RenderFrameHostImpl() { 470 RenderFrameHostImpl::~RenderFrameHostImpl() {
471 // Destroying navigation handle may call into delegates/observers, 471 // Destroying navigation handle may call into delegates/observers,
472 // so we do it early while |this| object is still in a sane state. 472 // so we do it early while |this| object is still in a sane state.
473 navigation_handle_.reset(); 473 navigation_handle_.reset();
474 474
475 // Release the WebUI instances before all else as the WebUI may accesses the 475 // Release the WebUI instances before all else as the WebUI may accesses the
476 // RenderFrameHost during cleanup. 476 // RenderFrameHost during cleanup.
477 ClearAllWebUI(); 477 ClearAllWebUI();
478 478
479 if (!last_committed_url_.is_empty()) {
Charlie Reis 2017/05/15 03:41:52 I wonder whether using last_committed_url_ here is
clamy 2017/05/16 14:50:45 I'm now storing the last_committed_site_url_. I'm
480 RenderProcessHostImpl::RemoveFrameWithSite(
481 frame_tree_node_->navigator()->GetController()->GetBrowserContext(),
482 GetProcess(), last_committed_url_);
483 }
484
479 GetProcess()->RemoveRoute(routing_id_); 485 GetProcess()->RemoveRoute(routing_id_);
480 g_routing_id_frame_map.Get().erase( 486 g_routing_id_frame_map.Get().erase(
481 RenderFrameHostID(GetProcess()->GetID(), routing_id_)); 487 RenderFrameHostID(GetProcess()->GetID(), routing_id_));
482 488
483 if (overlay_routing_token_) 489 if (overlay_routing_token_)
484 g_token_frame_map.Get().erase(*overlay_routing_token_); 490 g_token_frame_map.Get().erase(*overlay_routing_token_);
485 491
486 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, 492 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
487 base::Bind(&NotifyRenderFrameDetachedOnIO, 493 base::Bind(&NotifyRenderFrameDetachedOnIO,
488 GetProcess()->GetID(), routing_id_)); 494 GetProcess()->GetID(), routing_id_));
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after
1153 frame_tree_->AddFrame(frame_tree_node_, GetProcess()->GetID(), new_routing_id, 1159 frame_tree_->AddFrame(frame_tree_node_, GetProcess()->GetID(), new_routing_id,
1154 scope, frame_name, frame_unique_name, sandbox_flags, 1160 scope, frame_name, frame_unique_name, sandbox_flags,
1155 container_policy, frame_owner_properties); 1161 container_policy, frame_owner_properties);
1156 } 1162 }
1157 1163
1158 void RenderFrameHostImpl::SetLastCommittedOrigin(const url::Origin& origin) { 1164 void RenderFrameHostImpl::SetLastCommittedOrigin(const url::Origin& origin) {
1159 last_committed_origin_ = origin; 1165 last_committed_origin_ = origin;
1160 CSPContext::SetSelf(origin); 1166 CSPContext::SetSelf(origin);
1161 } 1167 }
1162 1168
1169 void RenderFrameHostImpl::SetLastCommittedUrl(const GURL& url) {
1170 BrowserContext* browser_context =
1171 frame_tree_node_->navigator()->GetController()->GetBrowserContext();
1172
1173 if (!last_committed_url_.is_empty()) {
nasko 2017/05/05 05:22:00 Since we are registering only origins, should we e
Charlie Reis 2017/05/15 03:41:52 Yes, I agree that we need to be careful about what
clamy 2017/05/16 14:50:45 I'm now storing the site_url as suggested above, s
1174 RenderProcessHostImpl::RemoveFrameWithSite(browser_context, GetProcess(),
1175 last_committed_url_);
1176 }
1177
1178 last_committed_url_ = url;
1179
1180 RenderProcessHostImpl::AddFrameWithSite(browser_context, GetProcess(),
1181 last_committed_url_);
1182 }
1183
1163 void RenderFrameHostImpl::OnDetach() { 1184 void RenderFrameHostImpl::OnDetach() {
1164 frame_tree_->RemoveFrame(frame_tree_node_); 1185 frame_tree_->RemoveFrame(frame_tree_node_);
1165 } 1186 }
1166 1187
1167 void RenderFrameHostImpl::OnFrameFocused() { 1188 void RenderFrameHostImpl::OnFrameFocused() {
1168 delegate_->SetFocusedFrame(frame_tree_node_, GetSiteInstance()); 1189 delegate_->SetFocusedFrame(frame_tree_node_, GetSiteInstance());
1169 } 1190 }
1170 1191
1171 void RenderFrameHostImpl::OnOpenURL(const FrameHostMsg_OpenURL_Params& params) { 1192 void RenderFrameHostImpl::OnOpenURL(const FrameHostMsg_OpenURL_Params& params) {
1172 GURL validated_url(params.url); 1193 GURL validated_url(params.url);
(...skipping 2729 matching lines...) Expand 10 before | Expand all | Expand 10 after
3902 } 3923 }
3903 3924
3904 void RenderFrameHostImpl::ForwardGetInterfaceToRenderFrame( 3925 void RenderFrameHostImpl::ForwardGetInterfaceToRenderFrame(
3905 const std::string& interface_name, 3926 const std::string& interface_name,
3906 mojo::ScopedMessagePipeHandle pipe) { 3927 mojo::ScopedMessagePipeHandle pipe) {
3907 GetRemoteInterfaces()->GetInterface(interface_name, std::move(pipe)); 3928 GetRemoteInterfaces()->GetInterface(interface_name, std::move(pipe));
3908 } 3929 }
3909 #endif 3930 #endif
3910 3931
3911 } // namespace content 3932 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698