| 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 "base/macros.h" | 5 #include "base/macros.h" |
| 6 #include "content/browser/frame_host/navigation_handle_impl.h" | 6 #include "content/browser/frame_host/navigation_handle_impl.h" |
| 7 #include "content/public/browser/navigation_throttle.h" | 7 #include "content/public/browser/navigation_throttle.h" |
| 8 #include "content/public/common/request_context_type.h" |
| 8 #include "content/test/test_render_frame_host.h" | 9 #include "content/test/test_render_frame_host.h" |
| 9 | 10 |
| 10 namespace content { | 11 namespace content { |
| 11 | 12 |
| 12 // Test version of a NavigationThrottle. It will always return the current | 13 // Test version of a NavigationThrottle. It will always return the current |
| 13 // NavigationThrottle::ThrottleCheckResult |result_|, It also monitors the | 14 // NavigationThrottle::ThrottleCheckResult |result_|, It also monitors the |
| 14 // number of times WillStartRequest, WillRedirectRequest, and | 15 // number of times WillStartRequest, WillRedirectRequest, and |
| 15 // WillProcessResponse were called. | 16 // WillProcessResponse were called. |
| 16 class TestNavigationThrottle : public NavigationThrottle { | 17 class TestNavigationThrottle : public NavigationThrottle { |
| 17 public: | 18 public: |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 // returns DEFER, |callback_result_| will be set to the actual result of | 97 // returns DEFER, |callback_result_| will be set to the actual result of |
| 97 // the throttle checks when they are finished. | 98 // the throttle checks when they are finished. |
| 98 void SimulateWillStartRequest() { | 99 void SimulateWillStartRequest() { |
| 99 was_callback_called_ = false; | 100 was_callback_called_ = false; |
| 100 callback_result_ = NavigationThrottle::DEFER; | 101 callback_result_ = NavigationThrottle::DEFER; |
| 101 | 102 |
| 102 // It's safe to use base::Unretained since the NavigationHandle is owned by | 103 // It's safe to use base::Unretained since the NavigationHandle is owned by |
| 103 // the NavigationHandleImplTest. | 104 // the NavigationHandleImplTest. |
| 104 test_handle_->WillStartRequest( | 105 test_handle_->WillStartRequest( |
| 105 "GET", nullptr, Referrer(), false, ui::PAGE_TRANSITION_LINK, false, | 106 "GET", nullptr, Referrer(), false, ui::PAGE_TRANSITION_LINK, false, |
| 107 REQUEST_CONTEXT_TYPE_LOCATION, |
| 106 base::Bind(&NavigationHandleImplTest::UpdateThrottleCheckResult, | 108 base::Bind(&NavigationHandleImplTest::UpdateThrottleCheckResult, |
| 107 base::Unretained(this))); | 109 base::Unretained(this))); |
| 108 } | 110 } |
| 109 | 111 |
| 110 // Helper function to call WillRedirectRequest on |handle|. If this function | 112 // Helper function to call WillRedirectRequest on |handle|. If this function |
| 111 // returns DEFER, |callback_result_| will be set to the actual result of the | 113 // returns DEFER, |callback_result_| will be set to the actual result of the |
| 112 // throttle checks when they are finished. | 114 // throttle checks when they are finished. |
| 113 // TODO(clamy): this should also simulate that WillStartRequest was called if | 115 // TODO(clamy): this should also simulate that WillStartRequest was called if |
| 114 // it has not been called before. | 116 // it has not been called before. |
| 115 void SimulateWillRedirectRequest() { | 117 void SimulateWillRedirectRequest() { |
| (...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 639 EXPECT_EQ(NavigationThrottle::CANCEL_AND_IGNORE, callback_result()); | 641 EXPECT_EQ(NavigationThrottle::CANCEL_AND_IGNORE, callback_result()); |
| 640 EXPECT_EQ(0, cancel_throttle->will_start_calls()); | 642 EXPECT_EQ(0, cancel_throttle->will_start_calls()); |
| 641 EXPECT_EQ(0, cancel_throttle->will_redirect_calls()); | 643 EXPECT_EQ(0, cancel_throttle->will_redirect_calls()); |
| 642 EXPECT_EQ(1, cancel_throttle->will_process_response_calls()); | 644 EXPECT_EQ(1, cancel_throttle->will_process_response_calls()); |
| 643 EXPECT_EQ(0, proceed_throttle->will_start_calls()); | 645 EXPECT_EQ(0, proceed_throttle->will_start_calls()); |
| 644 EXPECT_EQ(0, proceed_throttle->will_redirect_calls()); | 646 EXPECT_EQ(0, proceed_throttle->will_redirect_calls()); |
| 645 EXPECT_EQ(0, proceed_throttle->will_process_response_calls()); | 647 EXPECT_EQ(0, proceed_throttle->will_process_response_calls()); |
| 646 } | 648 } |
| 647 | 649 |
| 648 } // namespace content | 650 } // namespace content |
| OLD | NEW |