Chromium Code Reviews| Index: content/browser/frame_host/navigator_impl.cc |
| diff --git a/content/browser/frame_host/navigator_impl.cc b/content/browser/frame_host/navigator_impl.cc |
| index 44873594afe061d98414abd3f993b87c5ff7d9de..9d14f3417000c23886df9aa068235ae058c64eff 100644 |
| --- a/content/browser/frame_host/navigator_impl.cc |
| +++ b/content/browser/frame_host/navigator_impl.cc |
| @@ -640,10 +640,12 @@ void NavigatorImpl::DidNavigate( |
| site_instance); |
| } |
| - // Keep track of each frame's URL in its FrameTreeNode, whether it's for a net |
| - // error or not. |
| - // TODO(creis): Move the last committed URL to RenderFrameHostImpl. |
| + // Keep track of the last committed URL and origin in the RenderFrameHost |
| + // itself. These allow GetLastCommittedURL and GetLastCommittedOrigin to |
| + // stay correct even if the render_frame_host later becomes pending deletion. |
| + // The URL is set regardless of whether it's for a net error or not. |
| render_frame_host->frame_tree_node()->SetCurrentURL(params.url); |
| + render_frame_host->set_last_committed_origin(params.origin); |
|
alexmos
2016/12/06 17:22:40
I originally tried to do this inside SetCurrentOri
Charlie Reis
2016/12/08 19:51:47
Interesting. Yes, I agree with your decisions.
|
| // Separately, update the frame's last successful URL except for net error |
| // pages, since those do not end up in the correct process after transfers |