| 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 "content/public/renderer/resource_fetcher.h" | 5 #include "content/public/renderer/resource_fetcher.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 #define MAYBE_ResourceFetcherTimeout ResourceFetcherTimeout | 281 #define MAYBE_ResourceFetcherTimeout ResourceFetcherTimeout |
| 282 #define MAYBE_ResourceFetcherDownload ResourceFetcherDownload | 282 #define MAYBE_ResourceFetcherDownload ResourceFetcherDownload |
| 283 #define MAYBE_ResourceFetcherPost ResourceFetcherPost | 283 #define MAYBE_ResourceFetcherPost ResourceFetcherPost |
| 284 #define MAYBE_ResourceFetcherSetHeader ResourceFetcherSetHeader | 284 #define MAYBE_ResourceFetcherSetHeader ResourceFetcherSetHeader |
| 285 #endif | 285 #endif |
| 286 | 286 |
| 287 // Test a fetch from the test server. | 287 // Test a fetch from the test server. |
| 288 // If this flakes, use http://crbug.com/51622. | 288 // If this flakes, use http://crbug.com/51622. |
| 289 IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, MAYBE_ResourceFetcherDownload) { | 289 IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, MAYBE_ResourceFetcherDownload) { |
| 290 // Need to spin up the renderer. | 290 // Need to spin up the renderer. |
| 291 NavigateToURL(shell(), GURL(kAboutBlankURL)); | 291 NavigateToURL(shell(), GURL(url::kAboutBlankURL)); |
| 292 | 292 |
| 293 ASSERT_TRUE(test_server()->Start()); | 293 ASSERT_TRUE(test_server()->Start()); |
| 294 GURL url(test_server()->GetURL("files/simple_page.html")); | 294 GURL url(test_server()->GetURL("files/simple_page.html")); |
| 295 | 295 |
| 296 PostTaskToInProcessRendererAndWait( | 296 PostTaskToInProcessRendererAndWait( |
| 297 base::Bind(&ResourceFetcherTests::ResourceFetcherDownloadOnRenderer, | 297 base::Bind(&ResourceFetcherTests::ResourceFetcherDownloadOnRenderer, |
| 298 base::Unretained(this), url)); | 298 base::Unretained(this), url)); |
| 299 } | 299 } |
| 300 | 300 |
| 301 IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, MAYBE_ResourceFetcher404) { | 301 IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, MAYBE_ResourceFetcher404) { |
| 302 // Need to spin up the renderer. | 302 // Need to spin up the renderer. |
| 303 NavigateToURL(shell(), GURL(kAboutBlankURL)); | 303 NavigateToURL(shell(), GURL(url::kAboutBlankURL)); |
| 304 | 304 |
| 305 // Test 404 response. | 305 // Test 404 response. |
| 306 ASSERT_TRUE(test_server()->Start()); | 306 ASSERT_TRUE(test_server()->Start()); |
| 307 GURL url = test_server()->GetURL("files/thisfiledoesntexist.html"); | 307 GURL url = test_server()->GetURL("files/thisfiledoesntexist.html"); |
| 308 | 308 |
| 309 PostTaskToInProcessRendererAndWait( | 309 PostTaskToInProcessRendererAndWait( |
| 310 base::Bind(&ResourceFetcherTests::ResourceFetcher404OnRenderer, | 310 base::Bind(&ResourceFetcherTests::ResourceFetcher404OnRenderer, |
| 311 base::Unretained(this), url)); | 311 base::Unretained(this), url)); |
| 312 } | 312 } |
| 313 | 313 |
| 314 // If this flakes, use http://crbug.com/51622. | 314 // If this flakes, use http://crbug.com/51622. |
| 315 IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, ResourceFetcherDidFail) { | 315 IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, ResourceFetcherDidFail) { |
| 316 // Need to spin up the renderer. | 316 // Need to spin up the renderer. |
| 317 NavigateToURL(shell(), GURL(kAboutBlankURL)); | 317 NavigateToURL(shell(), GURL(url::kAboutBlankURL)); |
| 318 | 318 |
| 319 PostTaskToInProcessRendererAndWait( | 319 PostTaskToInProcessRendererAndWait( |
| 320 base::Bind(&ResourceFetcherTests::ResourceFetcherDidFailOnRenderer, | 320 base::Bind(&ResourceFetcherTests::ResourceFetcherDidFailOnRenderer, |
| 321 base::Unretained(this))); | 321 base::Unretained(this))); |
| 322 } | 322 } |
| 323 | 323 |
| 324 IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, MAYBE_ResourceFetcherTimeout) { | 324 IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, MAYBE_ResourceFetcherTimeout) { |
| 325 // Need to spin up the renderer. | 325 // Need to spin up the renderer. |
| 326 NavigateToURL(shell(), GURL(kAboutBlankURL)); | 326 NavigateToURL(shell(), GURL(url::kAboutBlankURL)); |
| 327 | 327 |
| 328 // Grab a page that takes at least 1 sec to respond, but set the fetcher to | 328 // Grab a page that takes at least 1 sec to respond, but set the fetcher to |
| 329 // timeout in 0 sec. | 329 // timeout in 0 sec. |
| 330 ASSERT_TRUE(test_server()->Start()); | 330 ASSERT_TRUE(test_server()->Start()); |
| 331 GURL url(test_server()->GetURL("slow?1")); | 331 GURL url(test_server()->GetURL("slow?1")); |
| 332 | 332 |
| 333 PostTaskToInProcessRendererAndWait( | 333 PostTaskToInProcessRendererAndWait( |
| 334 base::Bind(&ResourceFetcherTests::ResourceFetcherTimeoutOnRenderer, | 334 base::Bind(&ResourceFetcherTests::ResourceFetcherTimeoutOnRenderer, |
| 335 base::Unretained(this), url)); | 335 base::Unretained(this), url)); |
| 336 } | 336 } |
| 337 | 337 |
| 338 IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, | 338 IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, |
| 339 MAYBE_ResourceFetcherDeletedInCallback) { | 339 MAYBE_ResourceFetcherDeletedInCallback) { |
| 340 // Need to spin up the renderer. | 340 // Need to spin up the renderer. |
| 341 NavigateToURL(shell(), GURL(kAboutBlankURL)); | 341 NavigateToURL(shell(), GURL(url::kAboutBlankURL)); |
| 342 | 342 |
| 343 // Grab a page that takes at least 1 sec to respond, but set the fetcher to | 343 // Grab a page that takes at least 1 sec to respond, but set the fetcher to |
| 344 // timeout in 0 sec. | 344 // timeout in 0 sec. |
| 345 ASSERT_TRUE(test_server()->Start()); | 345 ASSERT_TRUE(test_server()->Start()); |
| 346 GURL url(test_server()->GetURL("slow?1")); | 346 GURL url(test_server()->GetURL("slow?1")); |
| 347 | 347 |
| 348 PostTaskToInProcessRendererAndWait( | 348 PostTaskToInProcessRendererAndWait( |
| 349 base::Bind( | 349 base::Bind( |
| 350 &ResourceFetcherTests::ResourceFetcherDeletedInCallbackOnRenderer, | 350 &ResourceFetcherTests::ResourceFetcherDeletedInCallbackOnRenderer, |
| 351 base::Unretained(this), url)); | 351 base::Unretained(this), url)); |
| 352 } | 352 } |
| 353 | 353 |
| 354 | 354 |
| 355 | 355 |
| 356 // Test that ResourceFetchers can handle POSTs. | 356 // Test that ResourceFetchers can handle POSTs. |
| 357 IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, MAYBE_ResourceFetcherPost) { | 357 IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, MAYBE_ResourceFetcherPost) { |
| 358 // Need to spin up the renderer. | 358 // Need to spin up the renderer. |
| 359 NavigateToURL(shell(), GURL(kAboutBlankURL)); | 359 NavigateToURL(shell(), GURL(url::kAboutBlankURL)); |
| 360 | 360 |
| 361 // Grab a page that echos the POST body. | 361 // Grab a page that echos the POST body. |
| 362 ASSERT_TRUE(test_server()->Start()); | 362 ASSERT_TRUE(test_server()->Start()); |
| 363 GURL url(test_server()->GetURL("echo")); | 363 GURL url(test_server()->GetURL("echo")); |
| 364 | 364 |
| 365 PostTaskToInProcessRendererAndWait( | 365 PostTaskToInProcessRendererAndWait( |
| 366 base::Bind( | 366 base::Bind( |
| 367 &ResourceFetcherTests::ResourceFetcherPost, | 367 &ResourceFetcherTests::ResourceFetcherPost, |
| 368 base::Unretained(this), url)); | 368 base::Unretained(this), url)); |
| 369 } | 369 } |
| 370 | 370 |
| 371 // Test that ResourceFetchers can set headers. | 371 // Test that ResourceFetchers can set headers. |
| 372 IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, MAYBE_ResourceFetcherSetHeader) { | 372 IN_PROC_BROWSER_TEST_F(ResourceFetcherTests, MAYBE_ResourceFetcherSetHeader) { |
| 373 // Need to spin up the renderer. | 373 // Need to spin up the renderer. |
| 374 NavigateToURL(shell(), GURL(kAboutBlankURL)); | 374 NavigateToURL(shell(), GURL(url::kAboutBlankURL)); |
| 375 | 375 |
| 376 // Grab a page that echos the POST body. | 376 // Grab a page that echos the POST body. |
| 377 ASSERT_TRUE(test_server()->Start()); | 377 ASSERT_TRUE(test_server()->Start()); |
| 378 GURL url(test_server()->GetURL("echoheader?header")); | 378 GURL url(test_server()->GetURL("echoheader?header")); |
| 379 | 379 |
| 380 PostTaskToInProcessRendererAndWait( | 380 PostTaskToInProcessRendererAndWait( |
| 381 base::Bind( | 381 base::Bind( |
| 382 &ResourceFetcherTests::ResourceFetcherSetHeader, | 382 &ResourceFetcherTests::ResourceFetcherSetHeader, |
| 383 base::Unretained(this), url)); | 383 base::Unretained(this), url)); |
| 384 } | 384 } |
| 385 | 385 |
| 386 } // namespace content | 386 } // namespace content |
| OLD | NEW |