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

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: Testfix 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 613 matching lines...) Expand 10 before | Expand all | Expand 10 after
624 PageTransition page_transition, 624 PageTransition page_transition,
625 bool should_replace_current_entry) { 625 bool should_replace_current_entry) {
626 frame_tree_node_->render_manager()->OnCrossSiteResponse( 626 frame_tree_node_->render_manager()->OnCrossSiteResponse(
627 this, global_request_id, cross_site_transferring_request.Pass(), 627 this, global_request_id, cross_site_transferring_request.Pass(),
628 transfer_url_chain, referrer, page_transition, 628 transfer_url_chain, referrer, page_transition,
629 should_replace_current_entry); 629 should_replace_current_entry);
630 } 630 }
631 631
632 void RenderFrameHostImpl::OnDeferredAfterResponseStarted( 632 void RenderFrameHostImpl::OnDeferredAfterResponseStarted(
633 const GlobalRequestID& global_request_id, 633 const GlobalRequestID& global_request_id,
634 const scoped_refptr<net::HttpResponseHeaders>& headers, 634 const TransitionLayerData& transition_data) {
635 const GURL& url) {
636 frame_tree_node_->render_manager()->OnDeferredAfterResponseStarted( 635 frame_tree_node_->render_manager()->OnDeferredAfterResponseStarted(
637 global_request_id, this); 636 global_request_id, this);
638 637
639 if (GetParent() || !delegate_->WillHandleDeferAfterResponseStarted()) 638 if (GetParent() || !delegate_->WillHandleDeferAfterResponseStarted())
640 frame_tree_node_->render_manager()->ResumeResponseDeferredAtStart(); 639 frame_tree_node_->render_manager()->ResumeResponseDeferredAtStart();
641 else 640 else
642 delegate_->DidDeferAfterResponseStarted(headers, url); 641 delegate_->DidDeferAfterResponseStarted(transition_data);
643 } 642 }
644 643
645 void RenderFrameHostImpl::SwapOut(RenderFrameProxyHost* proxy) { 644 void RenderFrameHostImpl::SwapOut(RenderFrameProxyHost* proxy) {
646 // TODO(creis): Move swapped out state to RFH. Until then, only update it 645 // TODO(creis): Move swapped out state to RFH. Until then, only update it
647 // when swapping out the main frame. 646 // when swapping out the main frame.
648 if (!GetParent()) { 647 if (!GetParent()) {
649 // If this RenderViewHost is not in the default state, it must have already 648 // If this RenderViewHost is not in the default state, it must have already
650 // gone through this, therefore just return. 649 // gone through this, therefore just return.
651 if (render_view_host_->rvh_state_ != RenderViewHostImpl::STATE_DEFAULT) 650 if (render_view_host_->rvh_state_ != RenderViewHostImpl::STATE_DEFAULT)
652 return; 651 return;
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after
1157 if (view) 1156 if (view)
1158 view->SetParentNativeViewAccessible(accessible_parent); 1157 view->SetParentNativeViewAccessible(accessible_parent);
1159 } 1158 }
1160 1159
1161 gfx::NativeViewAccessible 1160 gfx::NativeViewAccessible
1162 RenderFrameHostImpl::GetParentNativeViewAccessible() const { 1161 RenderFrameHostImpl::GetParentNativeViewAccessible() const {
1163 return delegate_->GetParentNativeViewAccessible(); 1162 return delegate_->GetParentNativeViewAccessible();
1164 } 1163 }
1165 #endif // defined(OS_WIN) 1164 #endif // defined(OS_WIN)
1166 1165
1167 void RenderFrameHostImpl::SetHasPendingTransitionRequest( 1166 void RenderFrameHostImpl::ClearPendingTransitionRequestData() {
1168 bool has_pending_request) {
1169 BrowserThread::PostTask( 1167 BrowserThread::PostTask(
1170 BrowserThread::IO, 1168 BrowserThread::IO,
1171 FROM_HERE, 1169 FROM_HERE,
1172 base::Bind( 1170 base::Bind(
1173 &TransitionRequestManager::SetHasPendingTransitionRequest, 1171 &TransitionRequestManager::ClearPendingTransitionRequestData,
1174 base::Unretained(TransitionRequestManager::GetInstance()), 1172 base::Unretained(TransitionRequestManager::GetInstance()),
1175 GetProcess()->GetID(), 1173 GetProcess()->GetID(),
1176 routing_id_, 1174 routing_id_));
1177 has_pending_request));
1178 } 1175 }
1179 1176
1180 } // namespace content 1177 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/frame_host/render_frame_host_impl.h ('k') | content/browser/frame_host/render_frame_host_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698