Index: content/browser/frame_host/render_frame_host_impl.cc |
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc |
index fae00d8950ac3a3d9dfcc6bbd5e129e4f587eb5e..fd83a8ae63ac92310ed7014ae37106334a7315df 100644 |
--- a/content/browser/frame_host/render_frame_host_impl.cc |
+++ b/content/browser/frame_host/render_frame_host_impl.cc |
@@ -1668,8 +1668,14 @@ void RenderFrameHostImpl::OpenURL(const FrameHostMsg_OpenURL_Params& params, |
TRACE_EVENT1("navigation", "RenderFrameHostImpl::OpenURL", "url", |
validated_url.possibly_invalid_spec()); |
+ ui::PageTransition transition = ui::PAGE_TRANSITION_LINK; |
+ if (frame_tree_node_->parent()) { |
+ transition = params.should_replace_current_entry |
+ ? ui::PAGE_TRANSITION_AUTO_SUBFRAME |
+ : ui::PAGE_TRANSITION_MANUAL_SUBFRAME; |
+ } |
frame_tree_node_->navigator()->RequestOpenURL( |
- this, validated_url, source_site_instance, params.referrer, |
+ this, validated_url, source_site_instance, params.referrer, transition, |
params.disposition, params.should_replace_current_entry, |
params.user_gesture); |
} |