| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/net/chrome_network_delegate.h" | 5 #include "chrome/browser/net/chrome_network_delegate.h" |
| 6 | 6 |
| 7 #include "base/memory/ref_counted.h" | 7 #include "base/memory/ref_counted.h" |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
| 10 #include "chrome/browser/api/prefs/pref_member.h" | 10 #include "chrome/browser/api/prefs/pref_member.h" |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 scoped_ptr<ChromeNetworkDelegate> CreateNetworkDelegate() { | 39 scoped_ptr<ChromeNetworkDelegate> CreateNetworkDelegate() { |
| 40 return scoped_ptr<ChromeNetworkDelegate>(new ChromeNetworkDelegate( | 40 return scoped_ptr<ChromeNetworkDelegate>(new ChromeNetworkDelegate( |
| 41 forwarder_.get(), NULL, NULL, NULL, NULL, NULL, &pref_member_, NULL, | 41 forwarder_.get(), NULL, NULL, NULL, NULL, NULL, &pref_member_, NULL, |
| 42 NULL, NULL)); | 42 NULL, NULL)); |
| 43 } | 43 } |
| 44 | 44 |
| 45 // Implementation moved here for access to private bits. | 45 // Implementation moved here for access to private bits. |
| 46 void NeverThrottleLogicImpl() { | 46 void NeverThrottleLogicImpl() { |
| 47 scoped_ptr<ChromeNetworkDelegate> delegate(CreateNetworkDelegate()); | 47 scoped_ptr<ChromeNetworkDelegate> delegate(CreateNetworkDelegate()); |
| 48 | 48 |
| 49 net::TestURLRequestContext context; | 49 TestURLRequestContext context; |
| 50 net::TestURLRequest extension_request( | 50 TestURLRequest extension_request( |
| 51 GURL("http://example.com/"), NULL, &context); | 51 GURL("http://example.com/"), NULL, &context); |
| 52 extension_request.set_first_party_for_cookies( | 52 extension_request.set_first_party_for_cookies( |
| 53 GURL("chrome-extension://abcdef/bingo.html")); | 53 GURL("chrome-extension://abcdef/bingo.html")); |
| 54 net::TestURLRequest web_page_request( | 54 TestURLRequest web_page_request( |
| 55 GURL("http://example.com/"), NULL, &context); | 55 GURL("http://example.com/"), NULL, &context); |
| 56 web_page_request.set_first_party_for_cookies( | 56 web_page_request.set_first_party_for_cookies( |
| 57 GURL("http://example.com/helloworld.html")); | 57 GURL("http://example.com/helloworld.html")); |
| 58 | 58 |
| 59 ASSERT_TRUE(delegate->OnCanThrottleRequest(extension_request)); | 59 ASSERT_TRUE(delegate->OnCanThrottleRequest(extension_request)); |
| 60 ASSERT_FALSE(delegate->OnCanThrottleRequest(web_page_request)); | 60 ASSERT_FALSE(delegate->OnCanThrottleRequest(web_page_request)); |
| 61 | 61 |
| 62 delegate->NeverThrottleRequests(); | 62 delegate->NeverThrottleRequests(); |
| 63 ASSERT_TRUE(ChromeNetworkDelegate::g_never_throttle_requests_); | 63 ASSERT_TRUE(ChromeNetworkDelegate::g_never_throttle_requests_); |
| 64 ASSERT_FALSE(delegate->OnCanThrottleRequest(extension_request)); | 64 ASSERT_FALSE(delegate->OnCanThrottleRequest(extension_request)); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 } | 123 } |
| 124 | 124 |
| 125 // Does a request using the |url_string| URL and verifies that the expected | 125 // Does a request using the |url_string| URL and verifies that the expected |
| 126 // string is equal to the query part (between ? and #) of the final url of | 126 // string is equal to the query part (between ? and #) of the final url of |
| 127 // that request. | 127 // that request. |
| 128 void CheckAddedParameters(const std::string& url_string, | 128 void CheckAddedParameters(const std::string& url_string, |
| 129 const std::string& expected_query_parameters) { | 129 const std::string& expected_query_parameters) { |
| 130 // Show the URL in the trace so we know where we failed. | 130 // Show the URL in the trace so we know where we failed. |
| 131 SCOPED_TRACE(url_string); | 131 SCOPED_TRACE(url_string); |
| 132 | 132 |
| 133 net::TestURLRequest request(GURL(url_string), &delegate_, &context_); | 133 TestURLRequest request(GURL(url_string), &delegate_, &context_); |
| 134 | 134 |
| 135 request.Start(); | 135 request.Start(); |
| 136 MessageLoop::current()->RunUntilIdle(); | 136 MessageLoop::current()->RunUntilIdle(); |
| 137 | 137 |
| 138 EXPECT_EQ(expected_query_parameters, request.url().query()); | 138 EXPECT_EQ(expected_query_parameters, request.url().query()); |
| 139 } | 139 } |
| 140 | 140 |
| 141 private: | 141 private: |
| 142 scoped_refptr<extensions::EventRouterForwarder> forwarder_; | 142 scoped_refptr<extensions::EventRouterForwarder> forwarder_; |
| 143 TestingProfile profile_; | 143 TestingProfile profile_; |
| 144 TestingPrefService prefs_; | 144 TestingPrefService prefs_; |
| 145 BooleanPrefMember enable_referrers_; | 145 BooleanPrefMember enable_referrers_; |
| 146 BooleanPrefMember force_google_safe_search_; | 146 BooleanPrefMember force_google_safe_search_; |
| 147 scoped_ptr<net::URLRequest> request_; | 147 scoped_ptr<net::URLRequest> request_; |
| 148 net::TestURLRequestContext context_; | 148 TestURLRequestContext context_; |
| 149 net::TestDelegate delegate_; | 149 TestDelegate delegate_; |
| 150 MessageLoopForIO message_loop_; | 150 MessageLoopForIO message_loop_; |
| 151 scoped_ptr<content::TestBrowserThread> io_thread_; | 151 scoped_ptr<content::TestBrowserThread> io_thread_; |
| 152 }; | 152 }; |
| 153 | 153 |
| 154 TEST_F(ChromeNetworkDelegateSafeSearchTest, SafeSearchOn) { | 154 TEST_F(ChromeNetworkDelegateSafeSearchTest, SafeSearchOn) { |
| 155 // Tests with SafeSearch on, request parameters should be rewritten. | 155 // Tests with SafeSearch on, request parameters should be rewritten. |
| 156 const std::string kSafeParameter = chrome::kSafeSearchSafeParameter; | 156 const std::string kSafeParameter = chrome::kSafeSearchSafeParameter; |
| 157 const std::string kSsuiParameter = chrome::kSafeSearchSsuiParameter; | 157 const std::string kSsuiParameter = chrome::kSafeSearchSsuiParameter; |
| 158 const std::string kBothParameters = kSafeParameter + "&" + kSsuiParameter; | 158 const std::string kBothParameters = kSafeParameter + "&" + kSsuiParameter; |
| 159 SetSafeSearch(true); | 159 SetSafeSearch(true); |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 275 "q=google"); | 275 "q=google"); |
| 276 | 276 |
| 277 // Test the home page with parameters and safe set to off. | 277 // Test the home page with parameters and safe set to off. |
| 278 CheckAddedParameters("http://google.com/search?q=google&safe=off", | 278 CheckAddedParameters("http://google.com/search?q=google&safe=off", |
| 279 "q=google&safe=off"); | 279 "q=google&safe=off"); |
| 280 | 280 |
| 281 // Test the home page with parameters and safe set to active. | 281 // Test the home page with parameters and safe set to active. |
| 282 CheckAddedParameters("http://google.com/search?q=google&safe=active", | 282 CheckAddedParameters("http://google.com/search?q=google&safe=active", |
| 283 "q=google&safe=active"); | 283 "q=google&safe=active"); |
| 284 } | 284 } |
| OLD | NEW |