Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(434)

Side by Side Diff: chrome/browser/prerender/prerender_resource_handler_unittest.cc

Issue 6523062: Cancel prerender if any of the visited URLs are https. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/prerender/prerender_resource_handler.h" 5 #include "chrome/browser/prerender/prerender_resource_handler.h"
6 #include "chrome/common/resource_response.h" 6 #include "chrome/common/resource_response.h"
7 #include "net/http/http_response_headers.h" 7 #include "net/http/http_response_headers.h"
8 #include "net/url_request/url_request_test_util.h" 8 #include "net/url_request/url_request_test_util.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 } 162 }
163 163
164 // Tests that a valid HTML resource will correctly get diverted 164 // Tests that a valid HTML resource will correctly get diverted
165 // to the PrerenderManager. 165 // to the PrerenderManager.
166 TEST_F(PrerenderResourceHandlerTest, Prerender) { 166 TEST_F(PrerenderResourceHandlerTest, Prerender) {
167 StartPrerendering("text/html", 167 StartPrerendering("text/html",
168 "HTTP/1.1 200 OK\n"); 168 "HTTP/1.1 200 OK\n");
169 EXPECT_EQ(default_url_, last_handled_url_); 169 EXPECT_EQ(default_url_, last_handled_url_);
170 } 170 }
171 171
172 static const int kRequestId = 1;
173
172 // Tests that the final request in a redirect chain will 174 // Tests that the final request in a redirect chain will
173 // get diverted to the PrerenderManager. 175 // get diverted to the PrerenderManager.
174 TEST_F(PrerenderResourceHandlerTest, PrerenderRedirect) { 176 TEST_F(PrerenderResourceHandlerTest, PrerenderRedirect) {
175 int request_id = 1;
176 GURL url_redirect("http://www.redirect.com"); 177 GURL url_redirect("http://www.redirect.com");
177 bool defer = false; 178 bool defer = false;
178 EXPECT_TRUE(pre_handler_->OnWillStart(request_id, default_url_, &defer)); 179 EXPECT_TRUE(pre_handler_->OnWillStart(kRequestId, default_url_, &defer));
179 EXPECT_FALSE(defer); 180 EXPECT_FALSE(defer);
180 EXPECT_TRUE(pre_handler_->OnRequestRedirected(request_id, 181 EXPECT_TRUE(pre_handler_->OnRequestRedirected(kRequestId,
181 url_redirect, 182 url_redirect,
182 NULL, 183 NULL,
183 &defer)); 184 &defer));
184 EXPECT_FALSE(defer); 185 EXPECT_FALSE(defer);
185 scoped_refptr<ResourceResponse> response(new ResourceResponse); 186 scoped_refptr<ResourceResponse> response(new ResourceResponse);
186 response->response_head.mime_type = "text/html"; 187 response->response_head.mime_type = "text/html";
187 response->response_head.headers = CreateResponseHeaders( 188 response->response_head.headers = CreateResponseHeaders(
188 "HTTP/1.1 200 OK\n"); 189 "HTTP/1.1 200 OK\n");
189 EXPECT_TRUE(pre_handler_->OnResponseStarted(request_id, response)); 190 EXPECT_TRUE(pre_handler_->OnResponseStarted(kRequestId, response));
190 EXPECT_TRUE(last_handled_url_.is_empty()); 191 EXPECT_TRUE(last_handled_url_.is_empty());
191 loop_.RunAllPending(); 192 loop_.RunAllPending();
192 EXPECT_EQ(url_redirect, last_handled_url_); 193 EXPECT_EQ(url_redirect, last_handled_url_);
193 EXPECT_EQ(true, ContainsAliasURL(url_redirect)); 194 EXPECT_EQ(true, ContainsAliasURL(url_redirect));
194 EXPECT_EQ(true, ContainsAliasURL(default_url_)); 195 EXPECT_EQ(true, ContainsAliasURL(default_url_));
195 EXPECT_EQ(2, static_cast<int>(alias_urls_.size())); 196 EXPECT_EQ(2, static_cast<int>(alias_urls_.size()));
196 } 197 }
197 198
199 // Tests that https requests will not be prerendered.
200 TEST_F(PrerenderResourceHandlerTest, PrerenderHttps) {
201 GURL url_https("https://www.google.com");
202 bool defer = false;
203 EXPECT_FALSE(pre_handler_->OnWillStart(kRequestId, url_https, &defer));
204 EXPECT_FALSE(defer);
205 }
206
207 TEST_F(PrerenderResourceHandlerTest, PrerenderRedirectToHttps) {
208 bool defer = false;
209 EXPECT_TRUE(pre_handler_->OnWillStart(kRequestId, default_url_, &defer));
210 EXPECT_FALSE(defer);
211 GURL url_https("https://www.google.com");
212 EXPECT_FALSE(pre_handler_->OnRequestRedirected(kRequestId,
213 url_https,
214 NULL,
215 &defer));
216 EXPECT_FALSE(defer);
217 }
218
198 } // namespace 219 } // namespace
199 220
200 } // namespace prerender 221 } // namespace prerender
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_resource_handler.cc ('k') | chrome/test/data/prerender/prerender_loader.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698