diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-01-31 16:33:43 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-02-06 16:33:22 +0000 |
commit | da51f56cc21233c2d30f0fe0d171727c3102b2e0 (patch) | |
tree | 4e579ab70ce4b19bee7984237f3ce05a96d59d83 /chromium/components/network_session_configurator | |
parent | c8c2d1901aec01e934adf561a9fdf0cc776cdef8 (diff) | |
download | qtwebengine-chromium-da51f56cc21233c2d30f0fe0d171727c3102b2e0.tar.gz |
BASELINE: Update Chromium to 65.0.3525.40
Also imports missing submodules
Change-Id: I36901b7c6a325cda3d2c10cedb2186c25af3b79b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/components/network_session_configurator')
6 files changed, 136 insertions, 5 deletions
diff --git a/chromium/components/network_session_configurator/browser/network_session_configurator.cc b/chromium/components/network_session_configurator/browser/network_session_configurator.cc index 88f874f5872..4b43a46560b 100644 --- a/chromium/components/network_session_configurator/browser/network_session_configurator.cc +++ b/chromium/components/network_session_configurator/browser/network_session_configurator.cc @@ -239,6 +239,14 @@ bool ShouldQuicEstimateInitialRtt( GetVariationParam(quic_trial_params, "estimate_initial_rtt"), "true"); } +bool ShouldQuicHeadersIncludeH2StreamDependencies( + const VariationParameters& quic_trial_params) { + return base::LowerCaseEqualsASCII( + GetVariationParam(quic_trial_params, + "headers_include_h2_stream_dependency"), + "true"); +} + bool ShouldQuicConnectUsingDefaultNetwork( const VariationParameters& quic_trial_params) { return base::LowerCaseEqualsASCII( @@ -274,6 +282,32 @@ bool ShouldQuicMigrateSessionsEarlyV2( GetVariationParam(quic_trial_params, "migrate_sessions_early_v2"), "true"); } + +int GetQuicMaxTimeOnNonDefaultNetworkSeconds( + const VariationParameters& quic_trial_params) { + int value; + if (base::StringToInt( + GetVariationParam(quic_trial_params, + "max_time_on_non_default_network_seconds"), + &value)) { + return value; + } + return 0; +} + +int GetQuicMaxNumMigrationsToNonDefaultNetworkOnPathDegrading( + const VariationParameters& quic_trial_params) { + int value; + if (base::StringToInt( + GetVariationParam( + quic_trial_params, + "max_migrations_to_non_default_network_on_path_degrading"), + &value)) { + return value; + } + return 0; +} + bool ShouldQuicAllowServerMigration( const VariationParameters& quic_trial_params) { return base::LowerCaseEqualsASCII( @@ -367,6 +401,8 @@ void ConfigureQuicParams(base::StringPiece quic_trial_group, ShouldQuicRaceCertVerification(quic_trial_params); params->quic_estimate_initial_rtt = ShouldQuicEstimateInitialRtt(quic_trial_params); + params->quic_headers_include_h2_stream_dependency = + ShouldQuicHeadersIncludeH2StreamDependencies(quic_trial_params); params->quic_connect_using_default_network = ShouldQuicConnectUsingDefaultNetwork(quic_trial_params); params->quic_migrate_sessions_on_network_change = @@ -377,6 +413,19 @@ void ConfigureQuicParams(base::StringPiece quic_trial_group, ShouldQuicMigrateSessionsOnNetworkChangeV2(quic_trial_params); params->quic_migrate_sessions_early_v2 = ShouldQuicMigrateSessionsEarlyV2(quic_trial_params); + int max_time_on_non_default_network_seconds = + GetQuicMaxTimeOnNonDefaultNetworkSeconds(quic_trial_params); + if (max_time_on_non_default_network_seconds > 0) { + params->quic_max_time_on_non_default_network = + base::TimeDelta::FromSeconds(max_time_on_non_default_network_seconds); + } + int max_migrations_to_non_default_network_on_path_degrading = + GetQuicMaxNumMigrationsToNonDefaultNetworkOnPathDegrading( + quic_trial_params); + if (max_migrations_to_non_default_network_on_path_degrading > 0) { + params->quic_max_migrations_to_non_default_network_on_path_degrading = + max_migrations_to_non_default_network_on_path_degrading; + } params->quic_allow_server_migration = ShouldQuicAllowServerMigration(quic_trial_params); params->quic_host_whitelist = GetQuicHostWhitelist(quic_trial_params); diff --git a/chromium/components/network_session_configurator/browser/network_session_configurator_unittest.cc b/chromium/components/network_session_configurator/browser/network_session_configurator_unittest.cc index b507e6790e9..b8d7dc778f6 100644 --- a/chromium/components/network_session_configurator/browser/network_session_configurator_unittest.cc +++ b/chromium/components/network_session_configurator/browser/network_session_configurator_unittest.cc @@ -360,6 +360,33 @@ TEST_F(NetworkSessionConfiguratorTest, } TEST_F(NetworkSessionConfiguratorTest, + QuicMaxTimeOnNonDefaultNetworkFromFieldTrialParams) { + std::map<std::string, std::string> field_trial_params; + field_trial_params["max_time_on_non_default_network_seconds"] = "10"; + variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params); + base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled"); + + ParseFieldTrials(); + + EXPECT_EQ(base::TimeDelta::FromSeconds(10), + params_.quic_max_time_on_non_default_network); +} + +TEST_F(NetworkSessionConfiguratorTest, + QuicMaxNumMigrationsToNonDefaultNetworkFromFieldTrialParams) { + std::map<std::string, std::string> field_trial_params; + field_trial_params + ["max_migrations_to_non_default_network_on_path_degrading"] = "4"; + variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params); + base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled"); + + ParseFieldTrials(); + + EXPECT_EQ( + 4, params_.quic_max_migrations_to_non_default_network_on_path_degrading); +} + +TEST_F(NetworkSessionConfiguratorTest, QuicAllowServerMigrationFromFieldTrialParams) { std::map<std::string, std::string> field_trial_params; field_trial_params["allow_server_migration"] = "true"; @@ -736,4 +763,15 @@ TEST_F(NetworkSessionConfiguratorTest, SimpleCacheTrialDisable) { #endif } +TEST_F(NetworkSessionConfiguratorTest, QuicHeadersIncludeH2StreamDependency) { + std::map<std::string, std::string> field_trial_params; + field_trial_params["headers_include_h2_stream_dependency"] = "true"; + variations::AssociateVariationParams("QUIC", "Enabled", field_trial_params); + base::FieldTrialList::CreateFieldTrial("QUIC", "Enabled"); + + ParseFieldTrials(); + + EXPECT_TRUE(params_.quic_headers_include_h2_stream_dependency); +} + } // namespace network_session_configurator diff --git a/chromium/components/network_session_configurator/common/BUILD.gn b/chromium/components/network_session_configurator/common/BUILD.gn index ba484f01380..ca1a13251a8 100644 --- a/chromium/components/network_session_configurator/common/BUILD.gn +++ b/chromium/components/network_session_configurator/common/BUILD.gn @@ -2,10 +2,12 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -static_library("common") { +component("common") { + output_name = "network_session_configurator" sources = [ "network_features.cc", "network_features.h", + "network_session_configurator_export.h", "network_switch_list.h", "network_switches.cc", "network_switches.h", @@ -14,4 +16,6 @@ static_library("common") { public_deps = [ "//base", ] + + defines = [ "NETWORK_SESSION_CONFIGURATOR_IMPLEMENTATION" ] } diff --git a/chromium/components/network_session_configurator/common/network_features.h b/chromium/components/network_session_configurator/common/network_features.h index 1d6981d774f..dbcc98ce712 100644 --- a/chromium/components/network_session_configurator/common/network_features.h +++ b/chromium/components/network_session_configurator/common/network_features.h @@ -6,12 +6,13 @@ #define COMPONENTS_NETWORK_SESSION_CONFIGURATOR_COMMON_NETWORK_FEATURES_H_ #include "base/feature_list.h" +#include "network_session_configurator_export.h" namespace features { // Enables token binding // (https://www.ietf.org/id/draft-ietf-tokbind-protocol-04.txt). -extern const base::Feature kTokenBinding; +NETWORK_SESSION_CONFIGURATOR_EXPORT extern const base::Feature kTokenBinding; } // namespace features diff --git a/chromium/components/network_session_configurator/common/network_session_configurator_export.h b/chromium/components/network_session_configurator/common/network_session_configurator_export.h new file mode 100644 index 00000000000..d4a224d270f --- /dev/null +++ b/chromium/components/network_session_configurator/common/network_session_configurator_export.h @@ -0,0 +1,35 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_NETWORK_SESSION_CONFIGURATOR_NETWORK_SESSION_CONFIGURATOR_EXPORT_H_ +#define COMPONENTS_NETWORK_SESSION_CONFIGURATOR_NETWORK_SESSION_CONFIGURATOR_EXPORT_H_ + +#if defined(COMPONENT_BUILD) + +#if defined(WIN32) + +#if defined(NETWORK_SESSION_CONFIGURATOR_IMPLEMENTATION) +#define NETWORK_SESSION_CONFIGURATOR_EXPORT __declspec(dllexport) +#else +#define NETWORK_SESSION_CONFIGURATOR_EXPORT __declspec(dllimport) +#endif // defined(NETWORK_SESSION_CONFIGURATOR_IMPLEMENTATION) + +#else // defined(WIN32) + +#if defined(NETWORK_SESSION_CONFIGURATOR_IMPLEMENTATION) +#define NETWORK_SESSION_CONFIGURATOR_EXPORT \ + __attribute__((visibility("default"))) +#else +#define NETWORK_SESSION_CONFIGURATOR_EXPORT +#endif // defined(NETWORK_SESSION_CONFIGURATOR_IMPLEMENTATION) + +#endif // defined(WIN32) + +#else // defined(COMPONENT_BUILD) + +#define NETWORK_SESSION_CONFIGURATOR_EXPORT + +#endif // defined(COMPONENT_BUILD) + +#endif // COMPONENTS_NETWORK_SESSION_CONFIGURATOR_NETWORK_SESSION_CONFIGURATOR_EXPORT_H_ diff --git a/chromium/components/network_session_configurator/common/network_switches.h b/chromium/components/network_session_configurator/common/network_switches.h index 7a511f54aff..ee5ea753788 100644 --- a/chromium/components/network_session_configurator/common/network_switches.h +++ b/chromium/components/network_session_configurator/common/network_switches.h @@ -5,13 +5,16 @@ #ifndef COMPONENTS_NETWORK_SESSION_CONFIGURATOR_COMMON_NETWORK_SWITCHES_H_ #define COMPONENTS_NETWORK_SESSION_CONFIGURATOR_COMMON_NETWORK_SWITCHES_H_ +#include "network_session_configurator_export.h" + namespace base { class CommandLine; } namespace switches { -#define NETWORK_SWITCH(name, value) extern const char name[]; +#define NETWORK_SWITCH(name, value) \ + NETWORK_SESSION_CONFIGURATOR_EXPORT extern const char name[]; #include "components/network_session_configurator/common/network_switch_list.h" #undef NETWORK_SWITCH @@ -21,8 +24,9 @@ namespace network_session_configurator { // Copies all command line switches the configurator handles from the |src| // CommandLine to the |dest| one. -void CopyNetworkSwitches(const base::CommandLine& src_command_line, - base::CommandLine* dest_command_line); +NETWORK_SESSION_CONFIGURATOR_EXPORT void CopyNetworkSwitches( + const base::CommandLine& src_command_line, + base::CommandLine* dest_command_line); } // namespace network_session_configurator |