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

Side by Side Diff: chrome/browser/ssl/ssl_browser_tests.cc

Issue 3034038: GTTF: Move more test server code from net/url_request/url_request_unittest.h (Closed)
Patch Set: hopefully final Created 10 years, 4 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/time.h" 5 #include "base/time.h"
6 #include "chrome/browser/browser.h" 6 #include "chrome/browser/browser.h"
7 #include "chrome/browser/pref_service.h" 7 #include "chrome/browser/pref_service.h"
8 #include "chrome/browser/profile.h" 8 #include "chrome/browser/profile.h"
9 #include "chrome/browser/tab_contents/interstitial_page.h" 9 #include "chrome/browser/tab_contents/interstitial_page.h"
10 #include "chrome/browser/tab_contents/navigation_entry.h" 10 #include "chrome/browser/tab_contents/navigation_entry.h"
11 #include "chrome/browser/tab_contents/tab_contents.h" 11 #include "chrome/browser/tab_contents/tab_contents.h"
12 #include "chrome/common/pref_names.h" 12 #include "chrome/common/pref_names.h"
13 #include "chrome/test/in_process_browser_test.h" 13 #include "chrome/test/in_process_browser_test.h"
14 #include "chrome/test/ui_test_utils.h" 14 #include "chrome/test/ui_test_utils.h"
15 #include "net/base/cert_status_flags.h"
16 #include "net/test/test_server.h"
15 17
16 const wchar_t kDocRoot[] = L"chrome/test/data"; 18 const wchar_t kDocRoot[] = L"chrome/test/data";
17 19
18 class SSLUITest : public InProcessBrowserTest { 20 class SSLUITest : public InProcessBrowserTest {
19 public: 21 public:
20 SSLUITest() { 22 SSLUITest() {
21 EnableDOMAutomation(); 23 EnableDOMAutomation();
22 } 24 }
23 25
24 scoped_refptr<HTTPTestServer> PlainServer() { 26 scoped_refptr<net::HTTPTestServer> PlainServer() {
25 return HTTPTestServer::CreateServer(kDocRoot); 27 return net::HTTPTestServer::CreateServer(kDocRoot);
26 } 28 }
27 29
28 scoped_refptr<HTTPSTestServer> GoodCertServer() { 30 scoped_refptr<net::HTTPSTestServer> GoodCertServer() {
29 return HTTPSTestServer::CreateGoodServer(kDocRoot); 31 return net::HTTPSTestServer::CreateGoodServer(kDocRoot);
30 } 32 }
31 33
32 scoped_refptr<HTTPSTestServer> BadCertServer() { 34 scoped_refptr<net::HTTPSTestServer> BadCertServer() {
33 return HTTPSTestServer::CreateExpiredServer(kDocRoot); 35 return net::HTTPSTestServer::CreateExpiredServer(kDocRoot);
34 } 36 }
35 37
36 void CheckAuthenticatedState(TabContents* tab, 38 void CheckAuthenticatedState(TabContents* tab,
37 bool displayed_insecure_content) { 39 bool displayed_insecure_content) {
38 NavigationEntry* entry = tab->controller().GetActiveEntry(); 40 NavigationEntry* entry = tab->controller().GetActiveEntry();
39 ASSERT_TRUE(entry); 41 ASSERT_TRUE(entry);
40 EXPECT_EQ(NavigationEntry::NORMAL_PAGE, entry->page_type()); 42 EXPECT_EQ(NavigationEntry::NORMAL_PAGE, entry->page_type());
41 EXPECT_EQ(SECURITY_STYLE_AUTHENTICATED, entry->ssl().security_style()); 43 EXPECT_EQ(SECURITY_STYLE_AUTHENTICATED, entry->ssl().security_style());
42 EXPECT_EQ(0, entry->ssl().cert_status() & net::CERT_STATUS_ALL_ERRORS); 44 EXPECT_EQ(0, entry->ssl().cert_status() & net::CERT_STATUS_ALL_ERRORS);
43 EXPECT_EQ(displayed_insecure_content, 45 EXPECT_EQ(displayed_insecure_content,
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 // Wait for the navigation to be done. 115 // Wait for the navigation to be done.
114 ui_test_utils::WaitForNavigation(&(tab->controller())); 116 ui_test_utils::WaitForNavigation(&(tab->controller()));
115 } 117 }
116 118
117 private: 119 private:
118 DISALLOW_COPY_AND_ASSIGN(SSLUITest); 120 DISALLOW_COPY_AND_ASSIGN(SSLUITest);
119 }; 121 };
120 122
121 // Visits a regular page over http. 123 // Visits a regular page over http.
122 IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTP) { 124 IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTP) {
123 scoped_refptr<HTTPTestServer> server = PlainServer(); 125 scoped_refptr<net::HTTPTestServer> server = PlainServer();
124 ASSERT_TRUE(server.get() != NULL); 126 ASSERT_TRUE(server.get() != NULL);
125 127
126 ui_test_utils::NavigateToURL(browser(), 128 ui_test_utils::NavigateToURL(browser(),
127 server->TestServerPage("files/ssl/google.html")); 129 server->TestServerPage("files/ssl/google.html"));
128 130
129 CheckUnauthenticatedState(browser()->GetSelectedTabContents()); 131 CheckUnauthenticatedState(browser()->GetSelectedTabContents());
130 } 132 }
131 133
132 // Visits a page over http which includes broken https resources (status should 134 // Visits a page over http which includes broken https resources (status should
133 // be OK). 135 // be OK).
134 // TODO(jcampan): test that bad HTTPS content is blocked (otherwise we'll give 136 // TODO(jcampan): test that bad HTTPS content is blocked (otherwise we'll give
135 // the secure cookies away!). 137 // the secure cookies away!).
136 IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPWithBrokenHTTPSResource) { 138 IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPWithBrokenHTTPSResource) {
137 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 139 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
138 ASSERT_TRUE(http_server.get() != NULL); 140 ASSERT_TRUE(http_server.get() != NULL);
139 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 141 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
140 ASSERT_TRUE(bad_https_server.get() != NULL); 142 ASSERT_TRUE(bad_https_server.get() != NULL);
141 143
142 ui_test_utils::NavigateToURL(browser(), 144 ui_test_utils::NavigateToURL(browser(),
143 http_server->TestServerPage("files/ssl/page_with_unsafe_contents.html")); 145 http_server->TestServerPage("files/ssl/page_with_unsafe_contents.html"));
144 146
145 CheckUnauthenticatedState(browser()->GetSelectedTabContents()); 147 CheckUnauthenticatedState(browser()->GetSelectedTabContents());
146 } 148 }
147 149
148 // Visits a page over OK https: 150 // Visits a page over OK https:
149 IN_PROC_BROWSER_TEST_F(SSLUITest, TestOKHTTPS) { 151 IN_PROC_BROWSER_TEST_F(SSLUITest, TestOKHTTPS) {
150 scoped_refptr<HTTPSTestServer> https_server = GoodCertServer(); 152 scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
151 ASSERT_TRUE(https_server.get() != NULL); 153 ASSERT_TRUE(https_server.get() != NULL);
152 154
153 ui_test_utils::NavigateToURL(browser(), 155 ui_test_utils::NavigateToURL(browser(),
154 https_server->TestServerPage("files/ssl/google.html")); 156 https_server->TestServerPage("files/ssl/google.html"));
155 157
156 CheckAuthenticatedState(browser()->GetSelectedTabContents(), false); 158 CheckAuthenticatedState(browser()->GetSelectedTabContents(), false);
157 } 159 }
158 160
159 // Visits a page with https error and proceed: 161 // Visits a page with https error and proceed:
160 IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSExpiredCertAndProceed) { 162 IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSExpiredCertAndProceed) {
161 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 163 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
162 ASSERT_TRUE(bad_https_server.get() != NULL); 164 ASSERT_TRUE(bad_https_server.get() != NULL);
163 165
164 ui_test_utils::NavigateToURL(browser(), 166 ui_test_utils::NavigateToURL(browser(),
165 bad_https_server->TestServerPage("files/ssl/google.html")); 167 bad_https_server->TestServerPage("files/ssl/google.html"));
166 168
167 TabContents* tab = browser()->GetSelectedTabContents(); 169 TabContents* tab = browser()->GetSelectedTabContents();
168 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, 170 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
169 true); // Interstitial showing 171 true); // Interstitial showing
170 172
171 ProceedThroughInterstitial(tab); 173 ProceedThroughInterstitial(tab);
172 174
173 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, 175 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
174 false); // No interstitial showing 176 false); // No interstitial showing
175 } 177 }
176 178
177 // Visits a page with https error and don't proceed (and ensure we can still 179 // Visits a page with https error and don't proceed (and ensure we can still
178 // navigate at that point): 180 // navigate at that point):
179 #if defined(OS_WIN) 181 #if defined(OS_WIN)
180 // Disabled, flakily exceeds test timeout, http://crbug.com/43575. 182 // Disabled, flakily exceeds test timeout, http://crbug.com/43575.
181 #define MAYBE_TestHTTPSExpiredCertAndDontProceed \ 183 #define MAYBE_TestHTTPSExpiredCertAndDontProceed \
182 DISABLED_TestHTTPSExpiredCertAndDontProceed 184 DISABLED_TestHTTPSExpiredCertAndDontProceed
183 #else 185 #else
184 // Marked as flaky, see bug 40932. 186 // Marked as flaky, see bug 40932.
185 #define MAYBE_TestHTTPSExpiredCertAndDontProceed \ 187 #define MAYBE_TestHTTPSExpiredCertAndDontProceed \
186 FLAKY_TestHTTPSExpiredCertAndDontProceed 188 FLAKY_TestHTTPSExpiredCertAndDontProceed
187 #endif 189 #endif
188 IN_PROC_BROWSER_TEST_F(SSLUITest, MAYBE_TestHTTPSExpiredCertAndDontProceed) { 190 IN_PROC_BROWSER_TEST_F(SSLUITest, MAYBE_TestHTTPSExpiredCertAndDontProceed) {
189 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 191 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
190 ASSERT_TRUE(http_server.get() != NULL); 192 ASSERT_TRUE(http_server.get() != NULL);
191 scoped_refptr<HTTPSTestServer> good_https_server = GoodCertServer(); 193 scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
192 ASSERT_TRUE(good_https_server.get() != NULL); 194 ASSERT_TRUE(good_https_server.get() != NULL);
193 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 195 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
194 ASSERT_TRUE(bad_https_server.get() != NULL); 196 ASSERT_TRUE(bad_https_server.get() != NULL);
195 197
196 // First navigate to an OK page. 198 // First navigate to an OK page.
197 ui_test_utils::NavigateToURL(browser(), 199 ui_test_utils::NavigateToURL(browser(),
198 good_https_server->TestServerPage("files/ssl/google.html")); 200 good_https_server->TestServerPage("files/ssl/google.html"));
199 201
200 TabContents* tab = browser()->GetSelectedTabContents(); 202 TabContents* tab = browser()->GetSelectedTabContents();
201 NavigationEntry* entry = tab->controller().GetActiveEntry(); 203 NavigationEntry* entry = tab->controller().GetActiveEntry();
202 ASSERT_TRUE(entry); 204 ASSERT_TRUE(entry);
203 205
(...skipping 23 matching lines...) Expand all
227 CheckAuthenticatedState(tab, false); 229 CheckAuthenticatedState(tab, false);
228 230
229 // Try to navigate to a new page. (to make sure bug 5800 is fixed). 231 // Try to navigate to a new page. (to make sure bug 5800 is fixed).
230 ui_test_utils::NavigateToURL(browser(), 232 ui_test_utils::NavigateToURL(browser(),
231 http_server->TestServerPage("files/ssl/google.html")); 233 http_server->TestServerPage("files/ssl/google.html"));
232 CheckUnauthenticatedState(tab); 234 CheckUnauthenticatedState(tab);
233 } 235 }
234 236
235 // Visits a page with https error and then goes back using Browser::GoBack. 237 // Visits a page with https error and then goes back using Browser::GoBack.
236 IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSExpiredCertAndGoBackViaButton) { 238 IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSExpiredCertAndGoBackViaButton) {
237 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 239 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
238 ASSERT_TRUE(http_server.get() != NULL); 240 ASSERT_TRUE(http_server.get() != NULL);
239 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 241 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
240 ASSERT_TRUE(bad_https_server.get() != NULL); 242 ASSERT_TRUE(bad_https_server.get() != NULL);
241 243
242 // First navigate to an HTTP page. 244 // First navigate to an HTTP page.
243 ui_test_utils::NavigateToURL(browser(), 245 ui_test_utils::NavigateToURL(browser(),
244 http_server->TestServerPage("files/ssl/google.html")); 246 http_server->TestServerPage("files/ssl/google.html"));
245 TabContents* tab = browser()->GetSelectedTabContents(); 247 TabContents* tab = browser()->GetSelectedTabContents();
246 NavigationEntry* entry = tab->controller().GetActiveEntry(); 248 NavigationEntry* entry = tab->controller().GetActiveEntry();
247 ASSERT_TRUE(entry); 249 ASSERT_TRUE(entry);
248 250
249 // Now go to a bad HTTPS page that shows an interstitial. 251 // Now go to a bad HTTPS page that shows an interstitial.
250 ui_test_utils::NavigateToURL(browser(), 252 ui_test_utils::NavigateToURL(browser(),
251 bad_https_server->TestServerPage("files/ssl/google.html")); 253 bad_https_server->TestServerPage("files/ssl/google.html"));
252 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, 254 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
253 true); // Interstitial showing 255 true); // Interstitial showing
254 256
255 // Simulate user clicking on back button (crbug.com/39248). 257 // Simulate user clicking on back button (crbug.com/39248).
256 browser()->GoBack(CURRENT_TAB); 258 browser()->GoBack(CURRENT_TAB);
257 259
258 // We should be back at the original good page. 260 // We should be back at the original good page.
259 EXPECT_FALSE(browser()->GetSelectedTabContents()->interstitial_page()); 261 EXPECT_FALSE(browser()->GetSelectedTabContents()->interstitial_page());
260 CheckUnauthenticatedState(tab); 262 CheckUnauthenticatedState(tab);
261 } 263 }
262 264
263 // Visits a page with https error and then goes back using GoToOffset. 265 // Visits a page with https error and then goes back using GoToOffset.
264 // Marked as flaky, see bug 40932. 266 // Marked as flaky, see bug 40932.
265 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestHTTPSExpiredCertAndGoBackViaMenu) { 267 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestHTTPSExpiredCertAndGoBackViaMenu) {
266 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 268 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
267 ASSERT_TRUE(http_server.get() != NULL); 269 ASSERT_TRUE(http_server.get() != NULL);
268 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 270 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
269 ASSERT_TRUE(bad_https_server.get() != NULL); 271 ASSERT_TRUE(bad_https_server.get() != NULL);
270 272
271 // First navigate to an HTTP page. 273 // First navigate to an HTTP page.
272 ui_test_utils::NavigateToURL(browser(), 274 ui_test_utils::NavigateToURL(browser(),
273 http_server->TestServerPage("files/ssl/google.html")); 275 http_server->TestServerPage("files/ssl/google.html"));
274 TabContents* tab = browser()->GetSelectedTabContents(); 276 TabContents* tab = browser()->GetSelectedTabContents();
275 NavigationEntry* entry = tab->controller().GetActiveEntry(); 277 NavigationEntry* entry = tab->controller().GetActiveEntry();
276 ASSERT_TRUE(entry); 278 ASSERT_TRUE(entry);
277 279
278 // Now go to a bad HTTPS page that shows an interstitial. 280 // Now go to a bad HTTPS page that shows an interstitial.
279 ui_test_utils::NavigateToURL(browser(), 281 ui_test_utils::NavigateToURL(browser(),
280 bad_https_server->TestServerPage("files/ssl/google.html")); 282 bad_https_server->TestServerPage("files/ssl/google.html"));
281 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, 283 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
282 true); // Interstitial showing 284 true); // Interstitial showing
283 285
284 // Simulate user clicking and holding on back button (crbug.com/37215). 286 // Simulate user clicking and holding on back button (crbug.com/37215).
285 tab->controller().GoToOffset(-1); 287 tab->controller().GoToOffset(-1);
286 288
287 // We should be back at the original good page. 289 // We should be back at the original good page.
288 EXPECT_FALSE(browser()->GetSelectedTabContents()->interstitial_page()); 290 EXPECT_FALSE(browser()->GetSelectedTabContents()->interstitial_page());
289 CheckUnauthenticatedState(tab); 291 CheckUnauthenticatedState(tab);
290 } 292 }
291 293
292 // Visits a page with https error and then goes forward using GoToOffset. 294 // Visits a page with https error and then goes forward using GoToOffset.
293 // Marked as flaky, see bug 40932. 295 // Marked as flaky, see bug 40932.
294 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestHTTPSExpiredCertAndGoForward) { 296 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestHTTPSExpiredCertAndGoForward) {
295 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 297 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
296 ASSERT_TRUE(http_server.get() != NULL); 298 ASSERT_TRUE(http_server.get() != NULL);
297 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 299 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
298 ASSERT_TRUE(bad_https_server.get() != NULL); 300 ASSERT_TRUE(bad_https_server.get() != NULL);
299 301
300 // First navigate to two HTTP pages. 302 // First navigate to two HTTP pages.
301 ui_test_utils::NavigateToURL(browser(), 303 ui_test_utils::NavigateToURL(browser(),
302 http_server->TestServerPage("files/ssl/google.html")); 304 http_server->TestServerPage("files/ssl/google.html"));
303 TabContents* tab = browser()->GetSelectedTabContents(); 305 TabContents* tab = browser()->GetSelectedTabContents();
304 NavigationEntry* entry1 = tab->controller().GetActiveEntry(); 306 NavigationEntry* entry1 = tab->controller().GetActiveEntry();
305 ASSERT_TRUE(entry1); 307 ASSERT_TRUE(entry1);
306 ui_test_utils::NavigateToURL(browser(), 308 ui_test_utils::NavigateToURL(browser(),
307 http_server->TestServerPage("files/ssl/blank_page.html")); 309 http_server->TestServerPage("files/ssl/blank_page.html"));
(...skipping 23 matching lines...) Expand all
331 EXPECT_FALSE(tab->controller().CanGoForward()); 333 EXPECT_FALSE(tab->controller().CanGoForward());
332 NavigationEntry* entry4 = tab->controller().GetActiveEntry(); 334 NavigationEntry* entry4 = tab->controller().GetActiveEntry();
333 EXPECT_TRUE(entry2 == entry4); 335 EXPECT_TRUE(entry2 == entry4);
334 } 336 }
335 337
336 // Open a page with a HTTPS error in a tab with no prior navigation (through a 338 // Open a page with a HTTPS error in a tab with no prior navigation (through a
337 // link with a blank target). This is to test that the lack of navigation entry 339 // link with a blank target). This is to test that the lack of navigation entry
338 // does not cause any problems (it was causing a crasher, see 340 // does not cause any problems (it was causing a crasher, see
339 // http://crbug.com/19941). 341 // http://crbug.com/19941).
340 IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSErrorWithNoNavEntry) { 342 IN_PROC_BROWSER_TEST_F(SSLUITest, TestHTTPSErrorWithNoNavEntry) {
341 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 343 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
342 ASSERT_TRUE(http_server.get() != NULL); 344 ASSERT_TRUE(http_server.get() != NULL);
343 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 345 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
344 ASSERT_TRUE(bad_https_server.get() != NULL); 346 ASSERT_TRUE(bad_https_server.get() != NULL);
345 347
346 // Load a page with a link that opens a new window (therefore with no history 348 // Load a page with a link that opens a new window (therefore with no history
347 // and no navigation entries). 349 // and no navigation entries).
348 ui_test_utils::NavigateToURL(browser(), 350 ui_test_utils::NavigateToURL(browser(),
349 http_server->TestServerPage("files/ssl/page_with_blank_target.html")); 351 http_server->TestServerPage("files/ssl/page_with_blank_target.html"));
350 352
351 bool success = false; 353 bool success = false;
352 354
353 ui_test_utils::WindowedNotificationObserver<NavigationController> 355 ui_test_utils::WindowedNotificationObserver<NavigationController>
(...skipping 21 matching lines...) Expand all
375 // We should have an interstitial page showing. 377 // We should have an interstitial page showing.
376 ASSERT_TRUE(browser()->GetSelectedTabContents()->interstitial_page()); 378 ASSERT_TRUE(browser()->GetSelectedTabContents()->interstitial_page());
377 } 379 }
378 380
379 // 381 //
380 // Insecure content 382 // Insecure content
381 // 383 //
382 384
383 // Visits a page that displays insecure content. 385 // Visits a page that displays insecure content.
384 IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysInsecureContent) { 386 IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysInsecureContent) {
385 scoped_refptr<HTTPSTestServer> https_server = GoodCertServer(); 387 scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
386 ASSERT_TRUE(https_server.get() != NULL); 388 ASSERT_TRUE(https_server.get() != NULL);
387 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 389 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
388 ASSERT_TRUE(http_server.get() != NULL); 390 ASSERT_TRUE(http_server.get() != NULL);
389 391
390 // Load a page that displays insecure content. 392 // Load a page that displays insecure content.
391 ui_test_utils::NavigateToURL(browser(), https_server->TestServerPage( 393 ui_test_utils::NavigateToURL(browser(), https_server->TestServerPage(
392 "files/ssl/page_displays_insecure_content.html")); 394 "files/ssl/page_displays_insecure_content.html"));
393 395
394 CheckAuthenticatedState(browser()->GetSelectedTabContents(), true); 396 CheckAuthenticatedState(browser()->GetSelectedTabContents(), true);
395 } 397 }
396 398
397 // Visits a page that runs insecure content and tries to suppress the insecure 399 // Visits a page that runs insecure content and tries to suppress the insecure
398 // content warnings by randomizing location.hash. 400 // content warnings by randomizing location.hash.
399 // Based on http://crbug.com/8706 401 // Based on http://crbug.com/8706
400 IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsInsecuredContentRandomizeHash) { 402 IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsInsecuredContentRandomizeHash) {
401 scoped_refptr<HTTPSTestServer> https_server = GoodCertServer(); 403 scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
402 ASSERT_TRUE(https_server.get() != NULL); 404 ASSERT_TRUE(https_server.get() != NULL);
403 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 405 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
404 ASSERT_TRUE(http_server.get() != NULL); 406 ASSERT_TRUE(http_server.get() != NULL);
405 407
406 ui_test_utils::NavigateToURL(browser(), https_server->TestServerPage( 408 ui_test_utils::NavigateToURL(browser(), https_server->TestServerPage(
407 "files/ssl/page_runs_insecure_content.html")); 409 "files/ssl/page_runs_insecure_content.html"));
408 410
409 CheckAuthenticationBrokenState(browser()->GetSelectedTabContents(), 0, true, 411 CheckAuthenticationBrokenState(browser()->GetSelectedTabContents(), 0, true,
410 false); 412 false);
411 } 413 }
412 414
413 // Visits a page with unsafe content and make sure that: 415 // Visits a page with unsafe content and make sure that:
414 // - frames content is replaced with warning 416 // - frames content is replaced with warning
415 // - images and scripts are filtered out entirely 417 // - images and scripts are filtered out entirely
416 // Marked as flaky, see bug 40932. 418 // Marked as flaky, see bug 40932.
417 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestUnsafeContents) { 419 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestUnsafeContents) {
418 scoped_refptr<HTTPSTestServer> good_https_server = GoodCertServer(); 420 scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
419 ASSERT_TRUE(good_https_server.get() != NULL); 421 ASSERT_TRUE(good_https_server.get() != NULL);
420 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 422 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
421 ASSERT_TRUE(bad_https_server.get() != NULL); 423 ASSERT_TRUE(bad_https_server.get() != NULL);
422 424
423 ui_test_utils::NavigateToURL(browser(), good_https_server->TestServerPage( 425 ui_test_utils::NavigateToURL(browser(), good_https_server->TestServerPage(
424 "files/ssl/page_with_unsafe_contents.html")); 426 "files/ssl/page_with_unsafe_contents.html"));
425 427
426 TabContents* tab = browser()->GetSelectedTabContents(); 428 TabContents* tab = browser()->GetSelectedTabContents();
427 // When the bad content is filtered, the state is expected to be 429 // When the bad content is filtered, the state is expected to be
428 // authenticated. 430 // authenticated.
429 CheckAuthenticatedState(tab, false); 431 CheckAuthenticatedState(tab, false);
430 432
(...skipping 16 matching lines...) Expand all
447 bool js_result = false; 449 bool js_result = false;
448 EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( 450 EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
449 tab->render_view_host(), std::wstring(), 451 tab->render_view_host(), std::wstring(),
450 L"window.domAutomationController.send(IsFooSet());", &js_result)); 452 L"window.domAutomationController.send(IsFooSet());", &js_result));
451 EXPECT_FALSE(js_result); 453 EXPECT_FALSE(js_result);
452 } 454 }
453 455
454 // Visits a page with insecure content loaded by JS (after the initial page 456 // Visits a page with insecure content loaded by JS (after the initial page
455 // load). 457 // load).
456 IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysInsecureContentLoadedFromJS) { 458 IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysInsecureContentLoadedFromJS) {
457 scoped_refptr<HTTPSTestServer> https_server = GoodCertServer(); 459 scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
458 ASSERT_TRUE(https_server.get() != NULL); 460 ASSERT_TRUE(https_server.get() != NULL);
459 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 461 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
460 ASSERT_TRUE(http_server.get() != NULL); 462 ASSERT_TRUE(http_server.get() != NULL);
461 463
462 ui_test_utils::NavigateToURL(browser(), https_server->TestServerPage( 464 ui_test_utils::NavigateToURL(browser(), https_server->TestServerPage(
463 "files/ssl/page_with_dynamic_insecure_content.html")); 465 "files/ssl/page_with_dynamic_insecure_content.html"));
464 466
465 TabContents* tab = browser()->GetSelectedTabContents(); 467 TabContents* tab = browser()->GetSelectedTabContents();
466 CheckAuthenticatedState(tab, false); 468 CheckAuthenticatedState(tab, false);
467 469
468 // Load the insecure image. 470 // Load the insecure image.
469 bool js_result = false; 471 bool js_result = false;
470 EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( 472 EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
471 tab->render_view_host(), std::wstring(), L"loadBadImage();", &js_result)); 473 tab->render_view_host(), std::wstring(), L"loadBadImage();", &js_result));
472 EXPECT_TRUE(js_result); 474 EXPECT_TRUE(js_result);
473 475
474 // We should now have insecure content. 476 // We should now have insecure content.
475 CheckAuthenticatedState(tab, true); 477 CheckAuthenticatedState(tab, true);
476 } 478 }
477 479
478 // Visits two pages from the same origin: one that displays insecure content and 480 // Visits two pages from the same origin: one that displays insecure content and
479 // one that doesn't. The test checks that we do not propagate the insecure 481 // one that doesn't. The test checks that we do not propagate the insecure
480 // content state from one to the other. 482 // content state from one to the other.
481 IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysInsecureContentTwoTabs) { 483 IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysInsecureContentTwoTabs) {
482 scoped_refptr<HTTPSTestServer> https_server = GoodCertServer(); 484 scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
483 ASSERT_TRUE(https_server.get() != NULL); 485 ASSERT_TRUE(https_server.get() != NULL);
484 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 486 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
485 ASSERT_TRUE(http_server.get() != NULL); 487 ASSERT_TRUE(http_server.get() != NULL);
486 488
487 ui_test_utils::NavigateToURL(browser(), 489 ui_test_utils::NavigateToURL(browser(),
488 https_server->TestServerPage("files/ssl/blank_page.html")); 490 https_server->TestServerPage("files/ssl/blank_page.html"));
489 491
490 TabContents* tab1 = browser()->GetSelectedTabContents(); 492 TabContents* tab1 = browser()->GetSelectedTabContents();
491 493
492 // This tab should be fine. 494 // This tab should be fine.
493 CheckAuthenticatedState(tab1, false); 495 CheckAuthenticatedState(tab1, false);
494 496
495 // Create a new tab. 497 // Create a new tab.
496 GURL url = https_server->TestServerPage( 498 GURL url = https_server->TestServerPage(
497 "files/ssl/page_displays_insecure_content.html"); 499 "files/ssl/page_displays_insecure_content.html");
498 TabContents* tab2 = browser()->AddTabWithURL(url, GURL(), 500 TabContents* tab2 = browser()->AddTabWithURL(url, GURL(),
499 PageTransition::TYPED, 0, TabStripModel::ADD_SELECTED, 501 PageTransition::TYPED, 0, TabStripModel::ADD_SELECTED,
500 tab1->GetSiteInstance(), std::string()); 502 tab1->GetSiteInstance(), std::string());
501 ui_test_utils::WaitForNavigation(&(tab2->controller())); 503 ui_test_utils::WaitForNavigation(&(tab2->controller()));
502 504
503 // The new tab has insecure content. 505 // The new tab has insecure content.
504 CheckAuthenticatedState(tab2, true); 506 CheckAuthenticatedState(tab2, true);
505 507
506 // The original tab should not be contaminated. 508 // The original tab should not be contaminated.
507 CheckAuthenticatedState(tab1, false); 509 CheckAuthenticatedState(tab1, false);
508 } 510 }
509 511
510 // Visits two pages from the same origin: one that runs insecure content and one 512 // Visits two pages from the same origin: one that runs insecure content and one
511 // that doesn't. The test checks that we propagate the insecure content state 513 // that doesn't. The test checks that we propagate the insecure content state
512 // from one to the other. 514 // from one to the other.
513 IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsInsecureContentTwoTabs) { 515 IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsInsecureContentTwoTabs) {
514 scoped_refptr<HTTPSTestServer> https_server = GoodCertServer(); 516 scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
515 ASSERT_TRUE(https_server.get() != NULL); 517 ASSERT_TRUE(https_server.get() != NULL);
516 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 518 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
517 ASSERT_TRUE(http_server.get() != NULL); 519 ASSERT_TRUE(http_server.get() != NULL);
518 520
519 ui_test_utils::NavigateToURL(browser(), 521 ui_test_utils::NavigateToURL(browser(),
520 https_server->TestServerPage("files/ssl/blank_page.html")); 522 https_server->TestServerPage("files/ssl/blank_page.html"));
521 523
522 TabContents* tab1 = browser()->GetSelectedTabContents(); 524 TabContents* tab1 = browser()->GetSelectedTabContents();
523 525
524 // This tab should be fine. 526 // This tab should be fine.
525 CheckAuthenticatedState(tab1, false); 527 CheckAuthenticatedState(tab1, false);
526 528
(...skipping 10 matching lines...) Expand all
537 539
538 // Which means the origin for the first tab has also been contaminated with 540 // Which means the origin for the first tab has also been contaminated with
539 // insecure content. 541 // insecure content.
540 CheckAuthenticationBrokenState(tab1, 0, true, false); 542 CheckAuthenticationBrokenState(tab1, 0, true, false);
541 } 543 }
542 544
543 // Visits a page with an image over http. Visits another page over https 545 // Visits a page with an image over http. Visits another page over https
544 // referencing that same image over http (hoping it is coming from the webcore 546 // referencing that same image over http (hoping it is coming from the webcore
545 // memory cache). 547 // memory cache).
546 IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysCachedInsecureContent) { 548 IN_PROC_BROWSER_TEST_F(SSLUITest, TestDisplaysCachedInsecureContent) {
547 scoped_refptr<HTTPSTestServer> https_server = GoodCertServer(); 549 scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
548 ASSERT_TRUE(https_server.get() != NULL); 550 ASSERT_TRUE(https_server.get() != NULL);
549 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 551 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
550 ASSERT_TRUE(http_server.get() != NULL); 552 ASSERT_TRUE(http_server.get() != NULL);
551 553
552 ui_test_utils::NavigateToURL(browser(), http_server->TestServerPage( 554 ui_test_utils::NavigateToURL(browser(), http_server->TestServerPage(
553 "files/ssl/page_displays_insecure_content.html")); 555 "files/ssl/page_displays_insecure_content.html"));
554 TabContents* tab = browser()->GetSelectedTabContents(); 556 TabContents* tab = browser()->GetSelectedTabContents();
555 CheckUnauthenticatedState(tab); 557 CheckUnauthenticatedState(tab);
556 558
557 // Load again but over SSL. It should be marked as displaying insecure 559 // Load again but over SSL. It should be marked as displaying insecure
558 // content (even though the image comes from the WebCore memory cache). 560 // content (even though the image comes from the WebCore memory cache).
559 ui_test_utils::NavigateToURL(browser(), https_server->TestServerPage( 561 ui_test_utils::NavigateToURL(browser(), https_server->TestServerPage(
560 "files/ssl/page_displays_insecure_content.html")); 562 "files/ssl/page_displays_insecure_content.html"));
561 CheckAuthenticatedState(tab, true); 563 CheckAuthenticatedState(tab, true);
562 } 564 }
563 565
564 // Visits a page with script over http. Visits another page over https 566 // Visits a page with script over http. Visits another page over https
565 // referencing that same script over http (hoping it is coming from the webcore 567 // referencing that same script over http (hoping it is coming from the webcore
566 // memory cache). 568 // memory cache).
567 IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsCachedInsecureContent) { 569 IN_PROC_BROWSER_TEST_F(SSLUITest, TestRunsCachedInsecureContent) {
568 scoped_refptr<HTTPSTestServer> https_server = GoodCertServer(); 570 scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
569 ASSERT_TRUE(https_server.get() != NULL); 571 ASSERT_TRUE(https_server.get() != NULL);
570 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 572 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
571 ASSERT_TRUE(http_server.get() != NULL); 573 ASSERT_TRUE(http_server.get() != NULL);
572 574
573 ui_test_utils::NavigateToURL(browser(), 575 ui_test_utils::NavigateToURL(browser(),
574 http_server->TestServerPage("files/ssl/page_runs_insecure_content.html")); 576 http_server->TestServerPage("files/ssl/page_runs_insecure_content.html"));
575 TabContents* tab = browser()->GetSelectedTabContents(); 577 TabContents* tab = browser()->GetSelectedTabContents();
576 CheckUnauthenticatedState(tab); 578 CheckUnauthenticatedState(tab);
577 579
578 // Load again but over SSL. It should be marked as displaying insecure 580 // Load again but over SSL. It should be marked as displaying insecure
579 // content (even though the image comes from the WebCore memory cache). 581 // content (even though the image comes from the WebCore memory cache).
580 ui_test_utils::NavigateToURL(browser(), https_server->TestServerPage( 582 ui_test_utils::NavigateToURL(browser(), https_server->TestServerPage(
581 "files/ssl/page_runs_insecure_content.html")); 583 "files/ssl/page_runs_insecure_content.html"));
582 CheckAuthenticationBrokenState(tab, 0, true, false); 584 CheckAuthenticationBrokenState(tab, 0, true, false);
583 } 585 }
584 586
585 #if defined(OS_WIN) 587 #if defined(OS_WIN)
586 // See http://crbug.com/47170 588 // See http://crbug.com/47170
587 #define MAYBE_TestCNInvalidStickiness FLAKY_TestCNInvalidStickiness 589 #define MAYBE_TestCNInvalidStickiness FLAKY_TestCNInvalidStickiness
588 #else 590 #else
589 #define MAYBE_TestCNInvalidStickiness TestCNInvalidStickiness 591 #define MAYBE_TestCNInvalidStickiness TestCNInvalidStickiness
590 #endif 592 #endif
591 593
592 // This test ensures the CN invalid status does not 'stick' to a certificate 594 // This test ensures the CN invalid status does not 'stick' to a certificate
593 // (see bug #1044942) and that it depends on the host-name. 595 // (see bug #1044942) and that it depends on the host-name.
594 IN_PROC_BROWSER_TEST_F(SSLUITest, MAYBE_TestCNInvalidStickiness) { 596 IN_PROC_BROWSER_TEST_F(SSLUITest, MAYBE_TestCNInvalidStickiness) {
595 const std::string kLocalHost = "localhost"; 597 const std::string kLocalHost = "localhost";
596 scoped_refptr<HTTPSTestServer> https_server = 598 scoped_refptr<net::HTTPSTestServer> https_server =
597 HTTPSTestServer::CreateMismatchedServer(kDocRoot); 599 net::HTTPSTestServer::CreateMismatchedServer(kDocRoot);
598 ASSERT_TRUE(https_server.get() != NULL); 600 ASSERT_TRUE(https_server.get() != NULL);
599 601
600 // First we hit the server with hostname, this generates an invalid policy 602 // First we hit the server with hostname, this generates an invalid policy
601 // error. 603 // error.
602 ui_test_utils::NavigateToURL(browser(), 604 ui_test_utils::NavigateToURL(browser(),
603 https_server->TestServerPage("files/ssl/google.html")); 605 https_server->TestServerPage("files/ssl/google.html"));
604 606
605 // We get an interstitial page as a result. 607 // We get an interstitial page as a result.
606 TabContents* tab = browser()->GetSelectedTabContents(); 608 TabContents* tab = browser()->GetSelectedTabContents();
607 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_COMMON_NAME_INVALID, 609 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_COMMON_NAME_INVALID,
(...skipping 24 matching lines...) Expand all
632 ui_test_utils::NavigateToURL(browser(), 634 ui_test_utils::NavigateToURL(browser(),
633 https_server->TestServerPage("files/ssl/google.html")); 635 https_server->TestServerPage("files/ssl/google.html"));
634 636
635 // Since we OKed the interstitial last time, we get right to the page. 637 // Since we OKed the interstitial last time, we get right to the page.
636 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_COMMON_NAME_INVALID, 638 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_COMMON_NAME_INVALID,
637 false, false); // No interstitial showing. 639 false, false); // No interstitial showing.
638 } 640 }
639 641
640 // Test that navigating to a #ref does not change a bad security state. 642 // Test that navigating to a #ref does not change a bad security state.
641 IN_PROC_BROWSER_TEST_F(SSLUITest, TestRefNavigation) { 643 IN_PROC_BROWSER_TEST_F(SSLUITest, TestRefNavigation) {
642 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 644 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
643 ASSERT_TRUE(bad_https_server.get() != NULL); 645 ASSERT_TRUE(bad_https_server.get() != NULL);
644 646
645 ui_test_utils::NavigateToURL(browser(), 647 ui_test_utils::NavigateToURL(browser(),
646 bad_https_server->TestServerPage("files/ssl/page_with_refs.html")); 648 bad_https_server->TestServerPage("files/ssl/page_with_refs.html"));
647 649
648 TabContents* tab = browser()->GetSelectedTabContents(); 650 TabContents* tab = browser()->GetSelectedTabContents();
649 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, 651 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
650 true); // Interstitial showing. 652 true); // Interstitial showing.
651 653
652 ProceedThroughInterstitial(tab); 654 ProceedThroughInterstitial(tab);
653 655
654 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, 656 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
655 false); // No interstitial showing. 657 false); // No interstitial showing.
656 658
657 // Now navigate to a ref in the page, the security state should not have 659 // Now navigate to a ref in the page, the security state should not have
658 // changed. 660 // changed.
659 ui_test_utils::NavigateToURL(browser(), 661 ui_test_utils::NavigateToURL(browser(),
660 bad_https_server->TestServerPage("files/ssl/page_with_refs.html#jp")); 662 bad_https_server->TestServerPage("files/ssl/page_with_refs.html#jp"));
661 663
662 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, 664 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
663 false); // No interstitial showing. 665 false); // No interstitial showing.
664 } 666 }
665 667
666 // Tests that closing a page that has a unsafe pop-up does not crash the 668 // Tests that closing a page that has a unsafe pop-up does not crash the
667 // browser (bug #1966). 669 // browser (bug #1966).
668 // TODO(jcampan): http://crbug.com/2136 disabled because the popup is not 670 // TODO(jcampan): http://crbug.com/2136 disabled because the popup is not
669 // opened as it is not initiated by a user gesture. 671 // opened as it is not initiated by a user gesture.
670 IN_PROC_BROWSER_TEST_F(SSLUITest, DISABLED_TestCloseTabWithUnsafePopup) { 672 IN_PROC_BROWSER_TEST_F(SSLUITest, DISABLED_TestCloseTabWithUnsafePopup) {
671 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 673 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
672 ASSERT_TRUE(http_server.get() != NULL); 674 ASSERT_TRUE(http_server.get() != NULL);
673 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 675 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
674 ASSERT_TRUE(bad_https_server.get() != NULL); 676 ASSERT_TRUE(bad_https_server.get() != NULL);
675 677
676 ui_test_utils::NavigateToURL(browser(), 678 ui_test_utils::NavigateToURL(browser(),
677 http_server->TestServerPage("files/ssl/page_with_unsafe_popup.html")); 679 http_server->TestServerPage("files/ssl/page_with_unsafe_popup.html"));
678 680
679 TabContents* tab1 = browser()->GetSelectedTabContents(); 681 TabContents* tab1 = browser()->GetSelectedTabContents();
680 // It is probably overkill to add a notification for a popup-opening, let's 682 // It is probably overkill to add a notification for a popup-opening, let's
681 // just poll. 683 // just poll.
682 for (int i = 0; i < 10; i++) { 684 for (int i = 0; i < 10; i++) {
683 if (static_cast<int>(tab1->constrained_window_count()) > 0) 685 if (static_cast<int>(tab1->constrained_window_count()) > 0)
(...skipping 12 matching lines...) Expand all
696 std::string()); 698 std::string());
697 ui_test_utils::WaitForNavigation(&(tab2->controller())); 699 ui_test_utils::WaitForNavigation(&(tab2->controller()));
698 700
699 // Close the first tab. 701 // Close the first tab.
700 browser()->CloseTabContents(tab1); 702 browser()->CloseTabContents(tab1);
701 } 703 }
702 704
703 // Visit a page over bad https that is a redirect to a page with good https. 705 // Visit a page over bad https that is a redirect to a page with good https.
704 // Marked as flaky, see bug 40932. 706 // Marked as flaky, see bug 40932.
705 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectBadToGoodHTTPS) { 707 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectBadToGoodHTTPS) {
706 scoped_refptr<HTTPSTestServer> good_https_server = GoodCertServer(); 708 scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
707 ASSERT_TRUE(good_https_server.get() != NULL); 709 ASSERT_TRUE(good_https_server.get() != NULL);
708 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 710 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
709 ASSERT_TRUE(bad_https_server.get() != NULL); 711 ASSERT_TRUE(bad_https_server.get() != NULL);
710 712
711 GURL url1 = bad_https_server->TestServerPage("server-redirect?"); 713 GURL url1 = bad_https_server->TestServerPage("server-redirect?");
712 GURL url2 = good_https_server->TestServerPage("files/ssl/google.html"); 714 GURL url2 = good_https_server->TestServerPage("files/ssl/google.html");
713 715
714 ui_test_utils::NavigateToURL(browser(), GURL(url1.spec() + url2.spec())); 716 ui_test_utils::NavigateToURL(browser(), GURL(url1.spec() + url2.spec()));
715 717
716 TabContents* tab = browser()->GetSelectedTabContents(); 718 TabContents* tab = browser()->GetSelectedTabContents();
717 719
718 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, 720 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
719 true); // Interstitial showing. 721 true); // Interstitial showing.
720 722
721 ProceedThroughInterstitial(tab); 723 ProceedThroughInterstitial(tab);
722 724
723 // We have been redirected to the good page. 725 // We have been redirected to the good page.
724 CheckAuthenticatedState(tab, false); 726 CheckAuthenticatedState(tab, false);
725 } 727 }
726 728
727 // Visit a page over good https that is a redirect to a page with bad https. 729 // Visit a page over good https that is a redirect to a page with bad https.
728 // Marked as flaky, see bug 40932. 730 // Marked as flaky, see bug 40932.
729 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectGoodToBadHTTPS) { 731 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectGoodToBadHTTPS) {
730 scoped_refptr<HTTPSTestServer> good_https_server = GoodCertServer(); 732 scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
731 ASSERT_TRUE(good_https_server.get() != NULL); 733 ASSERT_TRUE(good_https_server.get() != NULL);
732 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 734 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
733 ASSERT_TRUE(bad_https_server.get() != NULL); 735 ASSERT_TRUE(bad_https_server.get() != NULL);
734 736
735 GURL url1 = good_https_server->TestServerPage("server-redirect?"); 737 GURL url1 = good_https_server->TestServerPage("server-redirect?");
736 GURL url2 = bad_https_server->TestServerPage("files/ssl/google.html"); 738 GURL url2 = bad_https_server->TestServerPage("files/ssl/google.html");
737 ui_test_utils::NavigateToURL(browser(), GURL(url1.spec() + url2.spec())); 739 ui_test_utils::NavigateToURL(browser(), GURL(url1.spec() + url2.spec()));
738 740
739 TabContents* tab = browser()->GetSelectedTabContents(); 741 TabContents* tab = browser()->GetSelectedTabContents();
740 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, 742 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
741 true); // Interstitial showing. 743 true); // Interstitial showing.
742 744
743 ProceedThroughInterstitial(tab); 745 ProceedThroughInterstitial(tab);
744 746
745 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, 747 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
746 false); // No interstitial showing. 748 false); // No interstitial showing.
747 } 749 }
748 750
749 // Visit a page over http that is a redirect to a page with good HTTPS. 751 // Visit a page over http that is a redirect to a page with good HTTPS.
750 IN_PROC_BROWSER_TEST_F(SSLUITest, TestRedirectHTTPToGoodHTTPS) { 752 IN_PROC_BROWSER_TEST_F(SSLUITest, TestRedirectHTTPToGoodHTTPS) {
751 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 753 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
752 ASSERT_TRUE(http_server.get() != NULL); 754 ASSERT_TRUE(http_server.get() != NULL);
753 scoped_refptr<HTTPSTestServer> good_https_server = GoodCertServer(); 755 scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
754 ASSERT_TRUE(good_https_server.get() != NULL); 756 ASSERT_TRUE(good_https_server.get() != NULL);
755 757
756 TabContents* tab = browser()->GetSelectedTabContents(); 758 TabContents* tab = browser()->GetSelectedTabContents();
757 759
758 // HTTP redirects to good HTTPS. 760 // HTTP redirects to good HTTPS.
759 GURL http_url = http_server->TestServerPage("server-redirect?"); 761 GURL http_url = http_server->TestServerPage("server-redirect?");
760 GURL good_https_url = 762 GURL good_https_url =
761 good_https_server->TestServerPage("files/ssl/google.html"); 763 good_https_server->TestServerPage("files/ssl/google.html");
762 764
763 ui_test_utils::NavigateToURL(browser(), 765 ui_test_utils::NavigateToURL(browser(),
764 GURL(http_url.spec() + good_https_url.spec())); 766 GURL(http_url.spec() + good_https_url.spec()));
765 CheckAuthenticatedState(tab, false); 767 CheckAuthenticatedState(tab, false);
766 } 768 }
767 769
768 // Visit a page over http that is a redirect to a page with bad HTTPS. 770 // Visit a page over http that is a redirect to a page with bad HTTPS.
769 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectHTTPToBadHTTPS) { 771 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectHTTPToBadHTTPS) {
770 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 772 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
771 ASSERT_TRUE(http_server.get() != NULL); 773 ASSERT_TRUE(http_server.get() != NULL);
772 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 774 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
773 ASSERT_TRUE(bad_https_server.get() != NULL); 775 ASSERT_TRUE(bad_https_server.get() != NULL);
774 776
775 TabContents* tab = browser()->GetSelectedTabContents(); 777 TabContents* tab = browser()->GetSelectedTabContents();
776 778
777 GURL http_url = http_server->TestServerPage("server-redirect?"); 779 GURL http_url = http_server->TestServerPage("server-redirect?");
778 GURL bad_https_url = 780 GURL bad_https_url =
779 bad_https_server->TestServerPage("files/ssl/google.html"); 781 bad_https_server->TestServerPage("files/ssl/google.html");
780 ui_test_utils::NavigateToURL(browser(), 782 ui_test_utils::NavigateToURL(browser(),
781 GURL(http_url.spec() + bad_https_url.spec())); 783 GURL(http_url.spec() + bad_https_url.spec()));
782 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, 784 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
783 true); // Interstitial showing. 785 true); // Interstitial showing.
784 786
785 ProceedThroughInterstitial(tab); 787 ProceedThroughInterstitial(tab);
786 788
787 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, 789 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
788 false); // No interstitial showing. 790 false); // No interstitial showing.
789 } 791 }
790 792
791 // Visit a page over https that is a redirect to a page with http (to make sure 793 // Visit a page over https that is a redirect to a page with http (to make sure
792 // we don't keep the secure state). 794 // we don't keep the secure state).
793 // Marked as flaky, see bug 40932. 795 // Marked as flaky, see bug 40932.
794 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectHTTPSToHTTP) { 796 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestRedirectHTTPSToHTTP) {
795 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 797 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
796 ASSERT_TRUE(http_server.get() != NULL); 798 ASSERT_TRUE(http_server.get() != NULL);
797 scoped_refptr<HTTPSTestServer> https_server = GoodCertServer(); 799 scoped_refptr<net::HTTPSTestServer> https_server = GoodCertServer();
798 ASSERT_TRUE(https_server.get() != NULL); 800 ASSERT_TRUE(https_server.get() != NULL);
799 801
800 GURL https_url = https_server->TestServerPage("server-redirect?"); 802 GURL https_url = https_server->TestServerPage("server-redirect?");
801 GURL http_url = http_server->TestServerPage("files/ssl/google.html"); 803 GURL http_url = http_server->TestServerPage("files/ssl/google.html");
802 804
803 ui_test_utils::NavigateToURL(browser(), 805 ui_test_utils::NavigateToURL(browser(),
804 GURL(https_url.spec() + http_url.spec())); 806 GURL(https_url.spec() + http_url.spec()));
805 CheckUnauthenticatedState(browser()->GetSelectedTabContents()); 807 CheckUnauthenticatedState(browser()->GetSelectedTabContents());
806 } 808 }
807 809
(...skipping 12 matching lines...) Expand all
820 // Frame navigation 822 // Frame navigation
821 // 823 //
822 824
823 // From a good HTTPS top frame: 825 // From a good HTTPS top frame:
824 // - navigate to an OK HTTPS frame 826 // - navigate to an OK HTTPS frame
825 // - navigate to a bad HTTPS (expect unsafe content and filtered frame), then 827 // - navigate to a bad HTTPS (expect unsafe content and filtered frame), then
826 // back 828 // back
827 // - navigate to HTTP (expect insecure content), then back 829 // - navigate to HTTP (expect insecure content), then back
828 // Disabled, http://crbug.com/18626. 830 // Disabled, http://crbug.com/18626.
829 IN_PROC_BROWSER_TEST_F(SSLUITest, DISABLED_TestGoodFrameNavigation) { 831 IN_PROC_BROWSER_TEST_F(SSLUITest, DISABLED_TestGoodFrameNavigation) {
830 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 832 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
831 ASSERT_TRUE(http_server.get() != NULL); 833 ASSERT_TRUE(http_server.get() != NULL);
832 scoped_refptr<HTTPSTestServer> good_https_server = GoodCertServer(); 834 scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
833 ASSERT_TRUE(good_https_server.get() != NULL); 835 ASSERT_TRUE(good_https_server.get() != NULL);
834 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 836 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
835 ASSERT_TRUE(bad_https_server.get() != NULL); 837 ASSERT_TRUE(bad_https_server.get() != NULL);
836 838
837 TabContents* tab = browser()->GetSelectedTabContents(); 839 TabContents* tab = browser()->GetSelectedTabContents();
838 ui_test_utils::NavigateToURL(browser(), 840 ui_test_utils::NavigateToURL(browser(),
839 good_https_server->TestServerPage("files/ssl/top_frame.html")); 841 good_https_server->TestServerPage("files/ssl/top_frame.html"));
840 842
841 CheckAuthenticatedState(tab, false); 843 CheckAuthenticatedState(tab, false);
842 844
843 bool success = false; 845 bool success = false;
844 // Now navigate inside the frame. 846 // Now navigate inside the frame.
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
892 // Go back, our state should be unchanged. 894 // Go back, our state should be unchanged.
893 tab->controller().GoBack(); 895 tab->controller().GoBack();
894 ui_test_utils::WaitForNavigation(&tab->controller()); 896 ui_test_utils::WaitForNavigation(&tab->controller());
895 CheckAuthenticatedState(tab, true); 897 CheckAuthenticatedState(tab, true);
896 } 898 }
897 899
898 // From a bad HTTPS top frame: 900 // From a bad HTTPS top frame:
899 // - navigate to an OK HTTPS frame (expected to be still authentication broken). 901 // - navigate to an OK HTTPS frame (expected to be still authentication broken).
900 // Marked as flaky, see bug 40932. 902 // Marked as flaky, see bug 40932.
901 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestBadFrameNavigation) { 903 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestBadFrameNavigation) {
902 scoped_refptr<HTTPSTestServer> good_https_server = GoodCertServer(); 904 scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
903 ASSERT_TRUE(good_https_server.get() != NULL); 905 ASSERT_TRUE(good_https_server.get() != NULL);
904 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 906 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
905 ASSERT_TRUE(bad_https_server.get() != NULL); 907 ASSERT_TRUE(bad_https_server.get() != NULL);
906 908
907 TabContents* tab = browser()->GetSelectedTabContents(); 909 TabContents* tab = browser()->GetSelectedTabContents();
908 ui_test_utils::NavigateToURL(browser(), 910 ui_test_utils::NavigateToURL(browser(),
909 bad_https_server->TestServerPage("files/ssl/top_frame.html")); 911 bad_https_server->TestServerPage("files/ssl/top_frame.html"));
910 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, 912 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
911 true); // Interstitial showing 913 true); // Interstitial showing
912 914
913 ProceedThroughInterstitial(tab); 915 ProceedThroughInterstitial(tab);
914 916
(...skipping 16 matching lines...) Expand all
931 #if defined(OS_WIN) 933 #if defined(OS_WIN)
932 // Disabled, flakily exceeds test timeout, http://crbug.com/43437. 934 // Disabled, flakily exceeds test timeout, http://crbug.com/43437.
933 #define MAYBE_TestUnauthenticatedFrameNavigation \ 935 #define MAYBE_TestUnauthenticatedFrameNavigation \
934 DISABLED_TestUnauthenticatedFrameNavigation 936 DISABLED_TestUnauthenticatedFrameNavigation
935 #else 937 #else
936 // Marked as flaky, see bug 40932. 938 // Marked as flaky, see bug 40932.
937 #define MAYBE_TestUnauthenticatedFrameNavigation \ 939 #define MAYBE_TestUnauthenticatedFrameNavigation \
938 FLAKY_TestUnauthenticatedFrameNavigation 940 FLAKY_TestUnauthenticatedFrameNavigation
939 #endif 941 #endif
940 IN_PROC_BROWSER_TEST_F(SSLUITest, MAYBE_TestUnauthenticatedFrameNavigation) { 942 IN_PROC_BROWSER_TEST_F(SSLUITest, MAYBE_TestUnauthenticatedFrameNavigation) {
941 scoped_refptr<HTTPTestServer> http_server = PlainServer(); 943 scoped_refptr<net::HTTPTestServer> http_server = PlainServer();
942 ASSERT_TRUE(http_server.get() != NULL); 944 ASSERT_TRUE(http_server.get() != NULL);
943 scoped_refptr<HTTPSTestServer> good_https_server = GoodCertServer(); 945 scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
944 ASSERT_TRUE(good_https_server.get() != NULL); 946 ASSERT_TRUE(good_https_server.get() != NULL);
945 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 947 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
946 ASSERT_TRUE(bad_https_server.get() != NULL); 948 ASSERT_TRUE(bad_https_server.get() != NULL);
947 949
948 TabContents* tab = browser()->GetSelectedTabContents(); 950 TabContents* tab = browser()->GetSelectedTabContents();
949 ui_test_utils::NavigateToURL(browser(), 951 ui_test_utils::NavigateToURL(browser(),
950 http_server->TestServerPage("files/ssl/top_frame.html")); 952 http_server->TestServerPage("files/ssl/top_frame.html"));
951 CheckUnauthenticatedState(tab); 953 CheckUnauthenticatedState(tab);
952 954
953 // Now navigate inside the frame to a secure HTTPS frame. 955 // Now navigate inside the frame to a secure HTTPS frame.
954 bool success = false; 956 bool success = false;
955 EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( 957 EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
(...skipping 23 matching lines...) Expand all
979 std::wstring is_evil_js(L"window.domAutomationController.send(" 981 std::wstring is_evil_js(L"window.domAutomationController.send("
980 L"document.getElementById('evilDiv') != null);"); 982 L"document.getElementById('evilDiv') != null);");
981 EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( 983 EXPECT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
982 tab->render_view_host(), content_frame_xpath, is_evil_js, 984 tab->render_view_host(), content_frame_xpath, is_evil_js,
983 &is_content_evil)); 985 &is_content_evil));
984 EXPECT_FALSE(is_content_evil); 986 EXPECT_FALSE(is_content_evil);
985 } 987 }
986 988
987 // Marked as flaky, see bug 40932. 989 // Marked as flaky, see bug 40932.
988 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestUnsafeContentsInWorkerFiltered) { 990 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestUnsafeContentsInWorkerFiltered) {
989 scoped_refptr<HTTPSTestServer> good_https_server = GoodCertServer(); 991 scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
990 ASSERT_TRUE(good_https_server.get() != NULL); 992 ASSERT_TRUE(good_https_server.get() != NULL);
991 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 993 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
992 ASSERT_TRUE(bad_https_server.get() != NULL); 994 ASSERT_TRUE(bad_https_server.get() != NULL);
993 995
994 // This page will spawn a Worker which will try to load content from 996 // This page will spawn a Worker which will try to load content from
995 // BadCertServer. 997 // BadCertServer.
996 ui_test_utils::NavigateToURL(browser(), good_https_server->TestServerPage( 998 ui_test_utils::NavigateToURL(browser(), good_https_server->TestServerPage(
997 "files/ssl/page_with_unsafe_worker.html")); 999 "files/ssl/page_with_unsafe_worker.html"));
998 TabContents* tab = browser()->GetSelectedTabContents(); 1000 TabContents* tab = browser()->GetSelectedTabContents();
999 // Expect Worker not to load insecure content. 1001 // Expect Worker not to load insecure content.
1000 CheckWorkerLoadResult(tab, false); 1002 CheckWorkerLoadResult(tab, false);
1001 // The bad content is filtered, expect the state to be authenticated. 1003 // The bad content is filtered, expect the state to be authenticated.
1002 CheckAuthenticatedState(tab, false); 1004 CheckAuthenticatedState(tab, false);
1003 } 1005 }
1004 1006
1005 // Marked as flaky, see bug 40932. 1007 // Marked as flaky, see bug 40932.
1006 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestUnsafeContentsInWorker) { 1008 IN_PROC_BROWSER_TEST_F(SSLUITest, FLAKY_TestUnsafeContentsInWorker) {
1007 scoped_refptr<HTTPSTestServer> good_https_server = GoodCertServer(); 1009 scoped_refptr<net::HTTPSTestServer> good_https_server = GoodCertServer();
1008 ASSERT_TRUE(good_https_server.get() != NULL); 1010 ASSERT_TRUE(good_https_server.get() != NULL);
1009 scoped_refptr<HTTPSTestServer> bad_https_server = BadCertServer(); 1011 scoped_refptr<net::HTTPSTestServer> bad_https_server = BadCertServer();
1010 ASSERT_TRUE(bad_https_server.get() != NULL); 1012 ASSERT_TRUE(bad_https_server.get() != NULL);
1011 1013
1012 // Navigate to an unsafe site. Proceed with interstitial page to indicate 1014 // Navigate to an unsafe site. Proceed with interstitial page to indicate
1013 // the user approves the bad certificate. 1015 // the user approves the bad certificate.
1014 ui_test_utils::NavigateToURL(browser(), 1016 ui_test_utils::NavigateToURL(browser(),
1015 bad_https_server->TestServerPage("files/ssl/blank_page.html")); 1017 bad_https_server->TestServerPage("files/ssl/blank_page.html"));
1016 TabContents* tab = browser()->GetSelectedTabContents(); 1018 TabContents* tab = browser()->GetSelectedTabContents();
1017 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false, 1019 CheckAuthenticationBrokenState(tab, net::CERT_STATUS_DATE_INVALID, false,
1018 true); // Interstitial showing 1020 true); // Interstitial showing
1019 ProceedThroughInterstitial(tab); 1021 ProceedThroughInterstitial(tab);
(...skipping 13 matching lines...) Expand all
1033 1035
1034 // Visit a page over https that contains a frame with a redirect. 1036 // Visit a page over https that contains a frame with a redirect.
1035 1037
1036 // XMLHttpRequest insecure content in synchronous mode. 1038 // XMLHttpRequest insecure content in synchronous mode.
1037 1039
1038 // XMLHttpRequest insecure content in asynchronous mode. 1040 // XMLHttpRequest insecure content in asynchronous mode.
1039 1041
1040 // XMLHttpRequest over bad ssl in synchronous mode. 1042 // XMLHttpRequest over bad ssl in synchronous mode.
1041 1043
1042 // XMLHttpRequest over OK ssl in synchronous mode. 1044 // XMLHttpRequest over OK ssl in synchronous mode.
OLDNEW
« no previous file with comments | « chrome/browser/sessions/session_restore_uitest.cc ('k') | chrome/browser/sync/glue/http_bridge_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698