Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/navigation_handle_impl.h" | 5 #include "content/browser/frame_host/navigation_handle_impl.h" |
| 6 | 6 |
| 7 #include <iterator> | 7 #include <iterator> |
| 8 | 8 |
| 9 #include "base/debug/dump_without_crashing.h" | 9 #include "base/debug/dump_without_crashing.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 629 } | 629 } |
| 630 | 630 |
| 631 void NavigationHandleImpl::DidCommitNavigation( | 631 void NavigationHandleImpl::DidCommitNavigation( |
| 632 const FrameHostMsg_DidCommitProvisionalLoad_Params& params, | 632 const FrameHostMsg_DidCommitProvisionalLoad_Params& params, |
| 633 bool did_replace_entry, | 633 bool did_replace_entry, |
| 634 const GURL& previous_url, | 634 const GURL& previous_url, |
| 635 NavigationType navigation_type, | 635 NavigationType navigation_type, |
| 636 RenderFrameHostImpl* render_frame_host) { | 636 RenderFrameHostImpl* render_frame_host) { |
| 637 DCHECK(!render_frame_host_ || render_frame_host_ == render_frame_host); | 637 DCHECK(!render_frame_host_ || render_frame_host_ == render_frame_host); |
| 638 DCHECK_EQ(frame_tree_node_, render_frame_host->frame_tree_node()); | 638 DCHECK_EQ(frame_tree_node_, render_frame_host->frame_tree_node()); |
| 639 CHECK_EQ(url_, params.url); | |
| 640 | 639 |
| 641 did_replace_entry_ = did_replace_entry; | 640 did_replace_entry_ = did_replace_entry; |
| 642 method_ = params.method; | 641 method_ = params.method; |
| 643 has_user_gesture_ = (params.gesture == NavigationGestureUser); | 642 has_user_gesture_ = (params.gesture == NavigationGestureUser); |
| 644 transition_ = params.transition; | 643 transition_ = params.transition; |
| 645 should_update_history_ = params.should_update_history; | 644 should_update_history_ = params.should_update_history; |
| 646 render_frame_host_ = render_frame_host; | 645 render_frame_host_ = render_frame_host; |
| 647 previous_url_ = previous_url; | 646 previous_url_ = previous_url; |
| 648 base_url_ = params.base_url; | 647 base_url_ = params.base_url; |
| 649 socket_address_ = params.socket_address; | 648 socket_address_ = params.socket_address; |
| 650 navigation_type_ = navigation_type; | 649 navigation_type_ = navigation_type; |
| 651 | 650 |
| 652 // If an error page reloads, net_error_code might be 200 but we still want to | 651 // If an error page reloads, net_error_code might be 200 but we still want to |
| 653 // count it as an error page. | 652 // count it as an error page. |
| 654 if (params.base_url.spec() == kUnreachableWebDataURL || | 653 if (params.base_url.spec() == kUnreachableWebDataURL || |
| 655 net_error_code_ != net::OK) { | 654 net_error_code_ != net::OK) { |
| 656 state_ = DID_COMMIT_ERROR_PAGE; | 655 state_ = DID_COMMIT_ERROR_PAGE; |
| 656 DCHECK(url_ == params.url || | |
|
Charlie Reis
2017/02/24 22:19:10
nit: We probably shouldn't downgrade these from CH
| |
| 657 std::find(redirect_chain_.begin(), redirect_chain_.end(), | |
| 658 params.url) != redirect_chain_.end()); | |
|
Charlie Reis
2017/02/24 22:19:10
I don't think this is safe. According to the bug,
| |
| 657 } else { | 659 } else { |
| 658 state_ = DID_COMMIT; | 660 state_ = DID_COMMIT; |
| 661 DCHECK_EQ(url_, params.url); | |
| 659 } | 662 } |
| 660 } | 663 } |
| 661 | 664 |
| 662 void NavigationHandleImpl::Transfer() { | 665 void NavigationHandleImpl::Transfer() { |
| 663 DCHECK(!IsBrowserSideNavigationEnabled()); | 666 DCHECK(!IsBrowserSideNavigationEnabled()); |
| 664 // This is an actual transfer. Inform the NavigationResourceThrottle. This | 667 // This is an actual transfer. Inform the NavigationResourceThrottle. This |
| 665 // will allow to mark the URLRequest as transferring. When it is marked as | 668 // will allow to mark the URLRequest as transferring. When it is marked as |
| 666 // transferring, the URLRequest can no longer be cancelled by its original | 669 // transferring, the URLRequest can no longer be cancelled by its original |
| 667 // RenderFrame. Instead it will persist until being picked up by the transfer | 670 // RenderFrame. Instead it will persist until being picked up by the transfer |
| 668 // RenderFrame, even if the original RenderFrame is destroyed. | 671 // RenderFrame, even if the original RenderFrame is destroyed. |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 936 if (node->current_url().EqualsIgnoringRef(url_)) { | 939 if (node->current_url().EqualsIgnoringRef(url_)) { |
| 937 if (found_self_reference) | 940 if (found_self_reference) |
| 938 return true; | 941 return true; |
| 939 found_self_reference = true; | 942 found_self_reference = true; |
| 940 } | 943 } |
| 941 } | 944 } |
| 942 return false; | 945 return false; |
| 943 } | 946 } |
| 944 | 947 |
| 945 } // namespace content | 948 } // namespace content |
| OLD | NEW |