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/common/net/url_fetcher_impl.h" | 5 #include "content/common/net/url_fetcher_impl.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/message_loop_proxy.h" | 8 #include "base/message_loop_proxy.h" |
9 #include "base/synchronization/waitable_event.h" | 9 #include "base/synchronization/waitable_event.h" |
10 #include "base/threading/thread.h" | 10 #include "base/threading/thread.h" |
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 std::string data; | 374 std::string data; |
375 EXPECT_TRUE(source->GetResponseAsString(&data)); | 375 EXPECT_TRUE(source->GetResponseAsString(&data)); |
376 EXPECT_FALSE(data.empty()); | 376 EXPECT_FALSE(data.empty()); |
377 delete fetcher_; | 377 delete fetcher_; |
378 io_message_loop_proxy()->PostTask(FROM_HERE, MessageLoop::QuitClosure()); | 378 io_message_loop_proxy()->PostTask(FROM_HERE, MessageLoop::QuitClosure()); |
379 } else { | 379 } else { |
380 // Now running Overload test. | 380 // Now running Overload test. |
381 static int count = 0; | 381 static int count = 0; |
382 count++; | 382 count++; |
383 if (count < 20) { | 383 if (count < 20) { |
384 fetcher_->StartWithRequestContextGetter(new TestURLRequestContextGetter( | 384 fetcher_->SetRequestContext( |
385 io_message_loop_proxy())); | 385 new TestURLRequestContextGetter(io_message_loop_proxy())); |
| 386 fetcher_->Start(); |
386 } else { | 387 } else { |
387 // We have already sent 20 requests continuously. And we expect that | 388 // We have already sent 20 requests continuously. And we expect that |
388 // it takes more than 1 second due to the overload protection settings. | 389 // it takes more than 1 second due to the overload protection settings. |
389 EXPECT_TRUE(Time::Now() - start_time_ >= one_second); | 390 EXPECT_TRUE(Time::Now() - start_time_ >= one_second); |
390 URLFetcherTest::OnURLFetchComplete(source); | 391 URLFetcherTest::OnURLFetchComplete(source); |
391 } | 392 } |
392 } | 393 } |
393 } | 394 } |
394 | 395 |
395 void URLFetcherProtectTestPassedThrough::CreateFetcher(const GURL& url) { | 396 void URLFetcherProtectTestPassedThrough::CreateFetcher(const GURL& url) { |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
485 | 486 |
486 void URLFetcherMultipleAttemptTest::OnURLFetchComplete( | 487 void URLFetcherMultipleAttemptTest::OnURLFetchComplete( |
487 const content::URLFetcher* source) { | 488 const content::URLFetcher* source) { |
488 EXPECT_TRUE(source->GetStatus().is_success()); | 489 EXPECT_TRUE(source->GetStatus().is_success()); |
489 EXPECT_EQ(200, source->GetResponseCode()); // HTTP OK | 490 EXPECT_EQ(200, source->GetResponseCode()); // HTTP OK |
490 std::string data; | 491 std::string data; |
491 EXPECT_TRUE(source->GetResponseAsString(&data)); | 492 EXPECT_TRUE(source->GetResponseAsString(&data)); |
492 EXPECT_FALSE(data.empty()); | 493 EXPECT_FALSE(data.empty()); |
493 if (!data.empty() && data_.empty()) { | 494 if (!data.empty() && data_.empty()) { |
494 data_ = data; | 495 data_ = data; |
495 fetcher_->StartWithRequestContextGetter( | 496 fetcher_->SetRequestContext( |
496 new TestURLRequestContextGetter(io_message_loop_proxy())); | 497 new TestURLRequestContextGetter(io_message_loop_proxy())); |
| 498 fetcher_->Start(); |
497 } else { | 499 } else { |
498 EXPECT_EQ(data, data_); | 500 EXPECT_EQ(data, data_); |
499 delete fetcher_; // Have to delete this here and not in the destructor, | 501 delete fetcher_; // Have to delete this here and not in the destructor, |
500 // because the destructor won't necessarily run on the | 502 // because the destructor won't necessarily run on the |
501 // same thread that CreateFetcher() did. | 503 // same thread that CreateFetcher() did. |
502 | 504 |
503 io_message_loop_proxy()->PostTask(FROM_HERE, MessageLoop::QuitClosure()); | 505 io_message_loop_proxy()->PostTask(FROM_HERE, MessageLoop::QuitClosure()); |
504 // If the current message loop is not the IO loop, it will be shut down when | 506 // If the current message loop is not the IO loop, it will be shut down when |
505 // the main loop returns and this thread subsequently goes out of scope. | 507 // the main loop returns and this thread subsequently goes out of scope. |
506 } | 508 } |
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
896 std::string(kTestServerFilePrefix) + kFileToFetch)); | 898 std::string(kTestServerFilePrefix) + kFileToFetch)); |
897 | 899 |
898 MessageLoop::current()->Run(); // OnURLFetchComplete() will Quit(). | 900 MessageLoop::current()->Run(); // OnURLFetchComplete() will Quit(). |
899 | 901 |
900 MessageLoop::current()->RunAllPending(); | 902 MessageLoop::current()->RunAllPending(); |
901 ASSERT_FALSE(file_util::PathExists(temp_file_)) | 903 ASSERT_FALSE(file_util::PathExists(temp_file_)) |
902 << temp_file_.value() << " not removed."; | 904 << temp_file_.value() << " not removed."; |
903 } | 905 } |
904 | 906 |
905 } // namespace. | 907 } // namespace. |
OLD | NEW |