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

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

Issue 435833002: Navigation transitions: Plumb data from the outgoing renderer to the incoming renderer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review fixes Created 6 years, 4 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 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 "base/bind.h" 7 #include "base/bind.h"
8 #include "base/containers/hash_tables.h" 8 #include "base/containers/hash_tables.h"
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/metrics/user_metrics_action.h" 10 #include "base/metrics/user_metrics_action.h"
(...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 PageTransition page_transition, 628 PageTransition page_transition,
629 bool should_replace_current_entry) { 629 bool should_replace_current_entry) {
630 frame_tree_node_->render_manager()->OnCrossSiteResponse( 630 frame_tree_node_->render_manager()->OnCrossSiteResponse(
631 this, global_request_id, cross_site_transferring_request.Pass(), 631 this, global_request_id, cross_site_transferring_request.Pass(),
632 transfer_url_chain, referrer, page_transition, 632 transfer_url_chain, referrer, page_transition,
633 should_replace_current_entry); 633 should_replace_current_entry);
634 } 634 }
635 635
636 void RenderFrameHostImpl::OnDeferredAfterResponseStarted( 636 void RenderFrameHostImpl::OnDeferredAfterResponseStarted(
637 const GlobalRequestID& global_request_id, 637 const GlobalRequestID& global_request_id,
638 const scoped_refptr<net::HttpResponseHeaders>& headers, 638 const TransitionLayerData& transition_data) {
639 const GURL& url) {
640 frame_tree_node_->render_manager()->OnDeferredAfterResponseStarted( 639 frame_tree_node_->render_manager()->OnDeferredAfterResponseStarted(
641 global_request_id, this); 640 global_request_id, this);
642 641
643 if (GetParent() || !delegate_->WillHandleDeferAfterResponseStarted()) 642 if (GetParent() || !delegate_->WillHandleDeferAfterResponseStarted())
644 frame_tree_node_->render_manager()->ResumeResponseDeferredAtStart(); 643 frame_tree_node_->render_manager()->ResumeResponseDeferredAtStart();
645 else 644 else
646 delegate_->DidDeferAfterResponseStarted(headers, url); 645 delegate_->DidDeferAfterResponseStarted(transition_data);
647 } 646 }
648 647
649 void RenderFrameHostImpl::SwapOut(RenderFrameProxyHost* proxy) { 648 void RenderFrameHostImpl::SwapOut(RenderFrameProxyHost* proxy) {
650 // TODO(creis): Move swapped out state to RFH. Until then, only update it 649 // TODO(creis): Move swapped out state to RFH. Until then, only update it
651 // when swapping out the main frame. 650 // when swapping out the main frame.
652 if (!GetParent()) { 651 if (!GetParent()) {
653 // If this RenderViewHost is not in the default state, it must have already 652 // If this RenderViewHost is not in the default state, it must have already
654 // gone through this, therefore just return. 653 // gone through this, therefore just return.
655 if (render_view_host_->rvh_state_ != RenderViewHostImpl::STATE_DEFAULT) 654 if (render_view_host_->rvh_state_ != RenderViewHostImpl::STATE_DEFAULT)
656 return; 655 return;
(...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after
1177 if (view) 1176 if (view)
1178 view->SetParentNativeViewAccessible(accessible_parent); 1177 view->SetParentNativeViewAccessible(accessible_parent);
1179 } 1178 }
1180 1179
1181 gfx::NativeViewAccessible 1180 gfx::NativeViewAccessible
1182 RenderFrameHostImpl::GetParentNativeViewAccessible() const { 1181 RenderFrameHostImpl::GetParentNativeViewAccessible() const {
1183 return delegate_->GetParentNativeViewAccessible(); 1182 return delegate_->GetParentNativeViewAccessible();
1184 } 1183 }
1185 #endif // defined(OS_WIN) 1184 #endif // defined(OS_WIN)
1186 1185
1187 void RenderFrameHostImpl::SetHasPendingTransitionRequest( 1186 void RenderFrameHostImpl::ClearPendingTransitionRequestData() {
1188 bool has_pending_request) {
1189 BrowserThread::PostTask( 1187 BrowserThread::PostTask(
1190 BrowserThread::IO, 1188 BrowserThread::IO,
1191 FROM_HERE, 1189 FROM_HERE,
1192 base::Bind( 1190 base::Bind(
1193 &TransitionRequestManager::SetHasPendingTransitionRequest, 1191 &TransitionRequestManager::ClearPendingTransitionRequestData,
1194 base::Unretained(TransitionRequestManager::GetInstance()), 1192 base::Unretained(TransitionRequestManager::GetInstance()),
1195 GetProcess()->GetID(), 1193 GetProcess()->GetID(),
1196 routing_id_, 1194 routing_id_));
1197 has_pending_request));
1198 } 1195 }
1199 1196
1200 } // namespace content 1197 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698