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

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

Issue 1309043003: Handle frame openers in the same FrameTree when navigating subframes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@opener-cycle-detection
Patch Set: Cleanup Created 5 years, 3 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 "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/containers/hash_tables.h" 9 #include "base/containers/hash_tables.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 1752 matching lines...) Expand 10 before | Expand all | Expand 10 after
1763 // TODO(creis): Support beforeunload on subframes. 1763 // TODO(creis): Support beforeunload on subframes.
1764 return !GetParent() && IsRenderFrameLive(); 1764 return !GetParent() && IsRenderFrameLive();
1765 } 1765 }
1766 1766
1767 void RenderFrameHostImpl::UpdateOpener() { 1767 void RenderFrameHostImpl::UpdateOpener() {
1768 // This frame (the frame whose opener is being updated) might not have had 1768 // This frame (the frame whose opener is being updated) might not have had
1769 // proxies for the new opener chain in its SiteInstance. Make sure they 1769 // proxies for the new opener chain in its SiteInstance. Make sure they
1770 // exist. 1770 // exist.
1771 if (frame_tree_node_->opener()) { 1771 if (frame_tree_node_->opener()) {
1772 frame_tree_node_->opener()->render_manager()->CreateOpenerProxies( 1772 frame_tree_node_->opener()->render_manager()->CreateOpenerProxies(
1773 GetSiteInstance()); 1773 GetSiteInstance(), frame_tree_node_);
1774 } 1774 }
1775 1775
1776 int opener_routing_id = 1776 int opener_routing_id =
1777 frame_tree_node_->render_manager()->GetOpenerRoutingID(GetSiteInstance()); 1777 frame_tree_node_->render_manager()->GetOpenerRoutingID(GetSiteInstance());
1778 Send(new FrameMsg_UpdateOpener(GetRoutingID(), opener_routing_id)); 1778 Send(new FrameMsg_UpdateOpener(GetRoutingID(), opener_routing_id));
1779 } 1779 }
1780 1780
1781 void RenderFrameHostImpl::ExtendSelectionAndDelete(size_t before, 1781 void RenderFrameHostImpl::ExtendSelectionAndDelete(size_t before,
1782 size_t after) { 1782 size_t after) {
1783 Send(new InputMsg_ExtendSelectionAndDelete(routing_id_, before, after)); 1783 Send(new InputMsg_ExtendSelectionAndDelete(routing_id_, before, after));
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after
2210 BrowserPluginInstanceIDToAXTreeID(value))); 2210 BrowserPluginInstanceIDToAXTreeID(value)));
2211 break; 2211 break;
2212 case AX_CONTENT_INT_ATTRIBUTE_LAST: 2212 case AX_CONTENT_INT_ATTRIBUTE_LAST:
2213 NOTREACHED(); 2213 NOTREACHED();
2214 break; 2214 break;
2215 } 2215 }
2216 } 2216 }
2217 } 2217 }
2218 2218
2219 } // namespace content 2219 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698