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 |