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 "net/url_request/url_fetcher_core.h" | 5 #include "net/url_request/url_fetcher_core.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 #include "net/url_request/url_fetcher_delegate.h" | 27 #include "net/url_request/url_fetcher_delegate.h" |
28 #include "net/url_request/url_fetcher_response_writer.h" | 28 #include "net/url_request/url_fetcher_response_writer.h" |
29 #include "net/url_request/url_request_context.h" | 29 #include "net/url_request/url_request_context.h" |
30 #include "net/url_request/url_request_context_getter.h" | 30 #include "net/url_request/url_request_context_getter.h" |
31 #include "net/url_request/url_request_throttler_manager.h" | 31 #include "net/url_request/url_request_throttler_manager.h" |
32 | 32 |
33 namespace { | 33 namespace { |
34 | 34 |
35 const int kBufferSize = 4096; | 35 const int kBufferSize = 4096; |
36 const int kUploadProgressTimerInterval = 100; | 36 const int kUploadProgressTimerInterval = 100; |
37 bool g_interception_enabled = false; | |
38 bool g_ignore_certificate_requests = false; | 37 bool g_ignore_certificate_requests = false; |
39 | 38 |
40 void EmptyCompletionCallback(int result) {} | 39 void EmptyCompletionCallback(int result) {} |
41 | 40 |
42 } // namespace | 41 } // namespace |
43 | 42 |
44 namespace net { | 43 namespace net { |
45 | 44 |
46 // URLFetcherCore::Registry --------------------------------------------------- | 45 // URLFetcherCore::Registry --------------------------------------------------- |
47 | 46 |
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 } | 462 } |
464 | 463 |
465 void URLFetcherCore::CancelAll() { | 464 void URLFetcherCore::CancelAll() { |
466 g_registry.Get().CancelAll(); | 465 g_registry.Get().CancelAll(); |
467 } | 466 } |
468 | 467 |
469 int URLFetcherCore::GetNumFetcherCores() { | 468 int URLFetcherCore::GetNumFetcherCores() { |
470 return g_registry.Get().size(); | 469 return g_registry.Get().size(); |
471 } | 470 } |
472 | 471 |
473 void URLFetcherCore::SetEnableInterceptionForTests(bool enabled) { | |
474 g_interception_enabled = enabled; | |
475 } | |
476 | |
477 void URLFetcherCore::SetIgnoreCertificateRequests(bool ignored) { | 472 void URLFetcherCore::SetIgnoreCertificateRequests(bool ignored) { |
478 g_ignore_certificate_requests = ignored; | 473 g_ignore_certificate_requests = ignored; |
479 } | 474 } |
480 | 475 |
481 URLFetcherCore::~URLFetcherCore() { | 476 URLFetcherCore::~URLFetcherCore() { |
482 // |request_| should be NULL. If not, it's unsafe to delete it here since we | 477 // |request_| should be NULL. If not, it's unsafe to delete it here since we |
483 // may not be on the IO thread. | 478 // may not be on the IO thread. |
484 DCHECK(!request_.get()); | 479 DCHECK(!request_.get()); |
485 } | 480 } |
486 | 481 |
(...skipping 20 matching lines...) Expand all Loading... |
507 | 502 |
508 DCHECK(request_context_getter_.get()); | 503 DCHECK(request_context_getter_.get()); |
509 DCHECK(!request_.get()); | 504 DCHECK(!request_.get()); |
510 | 505 |
511 g_registry.Get().AddURLFetcherCore(this); | 506 g_registry.Get().AddURLFetcherCore(this); |
512 current_response_bytes_ = 0; | 507 current_response_bytes_ = 0; |
513 request_ = request_context_getter_->GetURLRequestContext()->CreateRequest( | 508 request_ = request_context_getter_->GetURLRequestContext()->CreateRequest( |
514 original_url_, DEFAULT_PRIORITY, this, NULL); | 509 original_url_, DEFAULT_PRIORITY, this, NULL); |
515 request_->set_stack_trace(stack_trace_); | 510 request_->set_stack_trace(stack_trace_); |
516 int flags = request_->load_flags() | load_flags_; | 511 int flags = request_->load_flags() | load_flags_; |
517 if (!g_interception_enabled) | |
518 flags = flags | LOAD_DISABLE_INTERCEPT; | |
519 | 512 |
520 if (is_chunked_upload_) | 513 if (is_chunked_upload_) |
521 request_->EnableChunkedUpload(); | 514 request_->EnableChunkedUpload(); |
522 request_->SetLoadFlags(flags); | 515 request_->SetLoadFlags(flags); |
523 request_->SetReferrer(referrer_); | 516 request_->SetReferrer(referrer_); |
524 request_->set_referrer_policy(referrer_policy_); | 517 request_->set_referrer_policy(referrer_policy_); |
525 request_->set_first_party_for_cookies(first_party_for_cookies_.is_empty() ? | 518 request_->set_first_party_for_cookies(first_party_for_cookies_.is_empty() ? |
526 original_url_ : first_party_for_cookies_); | 519 original_url_ : first_party_for_cookies_); |
527 if (url_request_data_key_ && !url_request_create_data_callback_.is_null()) { | 520 if (url_request_data_key_ && !url_request_create_data_callback_.is_null()) { |
528 request_->SetUserData(url_request_data_key_, | 521 request_->SetUserData(url_request_data_key_, |
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
895 } | 888 } |
896 | 889 |
897 void URLFetcherCore::InformDelegateDownloadProgressInDelegateThread( | 890 void URLFetcherCore::InformDelegateDownloadProgressInDelegateThread( |
898 int64 current, int64 total) { | 891 int64 current, int64 total) { |
899 DCHECK(delegate_task_runner_->BelongsToCurrentThread()); | 892 DCHECK(delegate_task_runner_->BelongsToCurrentThread()); |
900 if (delegate_) | 893 if (delegate_) |
901 delegate_->OnURLFetchDownloadProgress(fetcher_, current, total); | 894 delegate_->OnURLFetchDownloadProgress(fetcher_, current, total); |
902 } | 895 } |
903 | 896 |
904 } // namespace net | 897 } // namespace net |
OLD | NEW |