| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/test/test_download_request_handler.h" | 5 #include "content/public/test/test_download_request_handler.h" |
| 6 | 6 |
| 7 #include <inttypes.h> | 7 #include <inttypes.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 405 NotifyHeadersCompleteAndPrepareToRead(); | 405 NotifyHeadersCompleteAndPrepareToRead(); |
| 406 return; | 406 return; |
| 407 } | 407 } |
| 408 | 408 |
| 409 requested_range_begin_ = 0; | 409 requested_range_begin_ = 0; |
| 410 requested_range_end_ = parameters_->size - 1; | 410 requested_range_end_ = parameters_->size - 1; |
| 411 response_info_.headers = | 411 response_info_.headers = |
| 412 HeadersFromString(base::StringPrintf("HTTP/1.1 200 Success\r\n" | 412 HeadersFromString(base::StringPrintf("HTTP/1.1 200 Success\r\n" |
| 413 "Content-Length: %" PRId64 "\r\n", | 413 "Content-Length: %" PRId64 "\r\n", |
| 414 parameters_->size)); | 414 parameters_->size)); |
| 415 response_info_.connection_info = parameters_->connection_type; |
| 415 AddCommonEntityHeaders(); | 416 AddCommonEntityHeaders(); |
| 416 NotifyHeadersCompleteAndPrepareToRead(); | 417 NotifyHeadersCompleteAndPrepareToRead(); |
| 417 return; | 418 return; |
| 418 } | 419 } |
| 419 | 420 |
| 420 bool TestDownloadRequestHandler::PartialResponseJob:: | 421 bool TestDownloadRequestHandler::PartialResponseJob:: |
| 421 HandleRangeAssumingValidatorMatch() { | 422 HandleRangeAssumingValidatorMatch() { |
| 422 const net::HttpRequestHeaders& extra_headers = | 423 const net::HttpRequestHeaders& extra_headers = |
| 423 request()->extra_request_headers(); | 424 request()->extra_request_headers(); |
| 424 | 425 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 447 | 448 |
| 448 requested_range_begin_ = byte_ranges[0].first_byte_position(); | 449 requested_range_begin_ = byte_ranges[0].first_byte_position(); |
| 449 requested_range_end_ = byte_ranges[0].last_byte_position(); | 450 requested_range_end_ = byte_ranges[0].last_byte_position(); |
| 450 response_info_.headers = | 451 response_info_.headers = |
| 451 HeadersFromString(base::StringPrintf( | 452 HeadersFromString(base::StringPrintf( |
| 452 "HTTP/1.1 206 Partial content\r\n" | 453 "HTTP/1.1 206 Partial content\r\n" |
| 453 "Content-Range: bytes %" PRId64 "-%" PRId64 "/%" PRId64 "\r\n" | 454 "Content-Range: bytes %" PRId64 "-%" PRId64 "/%" PRId64 "\r\n" |
| 454 "Content-Length: %" PRId64 "\r\n", | 455 "Content-Length: %" PRId64 "\r\n", |
| 455 requested_range_begin_, requested_range_end_, parameters_->size, | 456 requested_range_begin_, requested_range_end_, parameters_->size, |
| 456 (requested_range_end_ - requested_range_begin_) + 1)); | 457 (requested_range_end_ - requested_range_begin_) + 1)); |
| 458 response_info_.connection_info = parameters_->connection_type; |
| 457 AddCommonEntityHeaders(); | 459 AddCommonEntityHeaders(); |
| 458 NotifyHeadersCompleteAndPrepareToRead(); | 460 NotifyHeadersCompleteAndPrepareToRead(); |
| 459 return true; | 461 return true; |
| 460 } | 462 } |
| 461 | 463 |
| 462 void TestDownloadRequestHandler::PartialResponseJob::AddCommonEntityHeaders() { | 464 void TestDownloadRequestHandler::PartialResponseJob::AddCommonEntityHeaders() { |
| 463 if (parameters_->support_byte_ranges) | 465 if (parameters_->support_byte_ranges) |
| 464 response_info_.headers->AddHeader("Accept-Ranges: bytes"); | 466 response_info_.headers->AddHeader("Accept-Ranges: bytes"); |
| 465 | 467 |
| 466 if (!parameters_->content_type.empty()) | 468 if (!parameters_->content_type.empty()) |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 578 InjectedError(parameters.size / 2, net::ERR_CONNECTION_RESET)); | 580 InjectedError(parameters.size / 2, net::ERR_CONNECTION_RESET)); |
| 579 return parameters; | 581 return parameters; |
| 580 } | 582 } |
| 581 | 583 |
| 582 TestDownloadRequestHandler::Parameters::Parameters() | 584 TestDownloadRequestHandler::Parameters::Parameters() |
| 583 : etag("abcd"), | 585 : etag("abcd"), |
| 584 last_modified("Tue, 15 Nov 1994 12:45:26 GMT"), | 586 last_modified("Tue, 15 Nov 1994 12:45:26 GMT"), |
| 585 content_type("application/octet-stream"), | 587 content_type("application/octet-stream"), |
| 586 size(102400), | 588 size(102400), |
| 587 pattern_generator_seed(1), | 589 pattern_generator_seed(1), |
| 588 support_byte_ranges(true) {} | 590 support_byte_ranges(true), |
| 591 connection_type( |
| 592 net::HttpResponseInfo::ConnectionInfo::CONNECTION_INFO_UNKNOWN) {} |
| 589 | 593 |
| 590 // Copy and move constructors / assignment operators are all defaults. | 594 // Copy and move constructors / assignment operators are all defaults. |
| 591 TestDownloadRequestHandler::Parameters::Parameters(const Parameters&) = default; | 595 TestDownloadRequestHandler::Parameters::Parameters(const Parameters&) = default; |
| 592 TestDownloadRequestHandler::Parameters& TestDownloadRequestHandler::Parameters:: | 596 TestDownloadRequestHandler::Parameters& TestDownloadRequestHandler::Parameters:: |
| 593 operator=(const Parameters&) = default; | 597 operator=(const Parameters&) = default; |
| 594 | 598 |
| 595 TestDownloadRequestHandler::Parameters::Parameters(Parameters&& that) | 599 TestDownloadRequestHandler::Parameters::Parameters(Parameters&& that) |
| 596 : etag(std::move(that.etag)), | 600 : etag(std::move(that.etag)), |
| 597 last_modified(std::move(that.last_modified)), | 601 last_modified(std::move(that.last_modified)), |
| 598 content_type(std::move(that.content_type)), | 602 content_type(std::move(that.content_type)), |
| 599 size(that.size), | 603 size(that.size), |
| 600 pattern_generator_seed(that.pattern_generator_seed), | 604 pattern_generator_seed(that.pattern_generator_seed), |
| 601 support_byte_ranges(that.support_byte_ranges), | 605 support_byte_ranges(that.support_byte_ranges), |
| 606 connection_type(that.connection_type), |
| 602 on_start_handler(that.on_start_handler), | 607 on_start_handler(that.on_start_handler), |
| 603 injected_errors(std::move(that.injected_errors)) {} | 608 injected_errors(std::move(that.injected_errors)) {} |
| 604 | 609 |
| 605 TestDownloadRequestHandler::Parameters& TestDownloadRequestHandler::Parameters:: | 610 TestDownloadRequestHandler::Parameters& TestDownloadRequestHandler::Parameters:: |
| 606 operator=(Parameters&& that) { | 611 operator=(Parameters&& that) { |
| 607 etag = std::move(that.etag); | 612 etag = std::move(that.etag); |
| 608 last_modified = std::move(that.etag); | 613 last_modified = std::move(that.etag); |
| 609 content_type = std::move(that.content_type); | 614 content_type = std::move(that.content_type); |
| 610 size = that.size; | 615 size = that.size; |
| 611 pattern_generator_seed = that.pattern_generator_seed; | 616 pattern_generator_seed = that.pattern_generator_seed; |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 691 base::RunLoop run_loop; | 696 base::RunLoop run_loop; |
| 692 BrowserThread::PostTaskAndReply( | 697 BrowserThread::PostTaskAndReply( |
| 693 BrowserThread::IO, FROM_HERE, | 698 BrowserThread::IO, FROM_HERE, |
| 694 base::Bind(&Interceptor::GetAndResetCompletedRequests, interceptor_, | 699 base::Bind(&Interceptor::GetAndResetCompletedRequests, interceptor_, |
| 695 requests), | 700 requests), |
| 696 run_loop.QuitClosure()); | 701 run_loop.QuitClosure()); |
| 697 run_loop.Run(); | 702 run_loop.Run(); |
| 698 } | 703 } |
| 699 | 704 |
| 700 } // namespace content | 705 } // namespace content |
| OLD | NEW |