| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/cronet/android/cronet_url_request_context_adapter.h" | 5 #include "components/cronet/android/cronet_url_request_context_adapter.h" |
| 6 | 6 |
| 7 #include <limits.h> | 7 #include <limits.h> |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 477 if (config->enable_sdch) { | 477 if (config->enable_sdch) { |
| 478 DCHECK(context_->sdch_manager()); | 478 DCHECK(context_->sdch_manager()); |
| 479 sdch_owner_.reset( | 479 sdch_owner_.reset( |
| 480 new net::SdchOwner(context_->sdch_manager(), context_.get())); | 480 new net::SdchOwner(context_->sdch_manager(), context_.get())); |
| 481 if (json_pref_store_) { | 481 if (json_pref_store_) { |
| 482 sdch_owner_->EnablePersistentStorage( | 482 sdch_owner_->EnablePersistentStorage( |
| 483 make_scoped_ptr(new SdchOwnerPrefStorage(json_pref_store_.get()))); | 483 make_scoped_ptr(new SdchOwnerPrefStorage(json_pref_store_.get()))); |
| 484 } | 484 } |
| 485 } | 485 } |
| 486 | 486 |
| 487 // Currently (circa M39) enabling QUIC requires setting probability threshold. |
| 487 if (config->enable_quic) { | 488 if (config->enable_quic) { |
| 489 context_->http_server_properties() |
| 490 ->SetAlternativeServiceProbabilityThreshold(0.0f); |
| 488 for (auto hint = config->quic_hints.begin(); | 491 for (auto hint = config->quic_hints.begin(); |
| 489 hint != config->quic_hints.end(); ++hint) { | 492 hint != config->quic_hints.end(); ++hint) { |
| 490 const URLRequestContextConfig::QuicHint& quic_hint = **hint; | 493 const URLRequestContextConfig::QuicHint& quic_hint = **hint; |
| 491 if (quic_hint.host.empty()) { | 494 if (quic_hint.host.empty()) { |
| 492 LOG(ERROR) << "Empty QUIC hint host: " << quic_hint.host; | 495 LOG(ERROR) << "Empty QUIC hint host: " << quic_hint.host; |
| 493 continue; | 496 continue; |
| 494 } | 497 } |
| 495 | 498 |
| 496 url::CanonHostInfo host_info; | 499 url::CanonHostInfo host_info; |
| 497 std::string canon_host(net::CanonicalizeHost(quic_hint.host, &host_info)); | 500 std::string canon_host(net::CanonicalizeHost(quic_hint.host, &host_info)); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 514 << quic_hint.alternate_port; | 517 << quic_hint.alternate_port; |
| 515 continue; | 518 continue; |
| 516 } | 519 } |
| 517 | 520 |
| 518 net::HostPortPair quic_hint_host_port_pair(canon_host, | 521 net::HostPortPair quic_hint_host_port_pair(canon_host, |
| 519 quic_hint.port); | 522 quic_hint.port); |
| 520 net::AlternativeService alternative_service( | 523 net::AlternativeService alternative_service( |
| 521 net::AlternateProtocol::QUIC, "", | 524 net::AlternateProtocol::QUIC, "", |
| 522 static_cast<uint16_t>(quic_hint.alternate_port)); | 525 static_cast<uint16_t>(quic_hint.alternate_port)); |
| 523 context_->http_server_properties()->SetAlternativeService( | 526 context_->http_server_properties()->SetAlternativeService( |
| 524 quic_hint_host_port_pair, alternative_service, base::Time::Max()); | 527 quic_hint_host_port_pair, alternative_service, 1.0f, |
| 528 base::Time::Max()); |
| 525 } | 529 } |
| 526 } | 530 } |
| 527 | 531 |
| 528 // Iterate through PKP configuration for every host. | 532 // Iterate through PKP configuration for every host. |
| 529 for (const auto& pkp : config->pkp_list) { | 533 for (const auto& pkp : config->pkp_list) { |
| 530 // Add the host pinning. | 534 // Add the host pinning. |
| 531 context_->transport_security_state()->AddHPKP( | 535 context_->transport_security_state()->AddHPKP( |
| 532 pkp->host, pkp->expiration_date, pkp->include_subdomains, | 536 pkp->host, pkp->expiration_date, pkp->include_subdomains, |
| 533 pkp->pin_hashes, GURL::EmptyGURL()); | 537 pkp->pin_hashes, GURL::EmptyGURL()); |
| 534 } | 538 } |
| (...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 799 JNIEnv* env, | 803 JNIEnv* env, |
| 800 const JavaParamRef<jclass>& jcaller) { | 804 const JavaParamRef<jclass>& jcaller) { |
| 801 base::StatisticsRecorder::Initialize(); | 805 base::StatisticsRecorder::Initialize(); |
| 802 std::vector<uint8_t> data; | 806 std::vector<uint8_t> data; |
| 803 if (!HistogramManager::GetInstance()->GetDeltas(&data)) | 807 if (!HistogramManager::GetInstance()->GetDeltas(&data)) |
| 804 return ScopedJavaLocalRef<jbyteArray>(); | 808 return ScopedJavaLocalRef<jbyteArray>(); |
| 805 return base::android::ToJavaByteArray(env, &data[0], data.size()); | 809 return base::android::ToJavaByteArray(env, &data[0], data.size()); |
| 806 } | 810 } |
| 807 | 811 |
| 808 } // namespace cronet | 812 } // namespace cronet |
| OLD | NEW |