summaryrefslogtreecommitdiff
path: root/chromium/components/network_session_configurator
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-01-31 16:33:43 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-02-06 16:33:22 +0000
commitda51f56cc21233c2d30f0fe0d171727c3102b2e0 (patch)
tree4e579ab70ce4b19bee7984237f3ce05a96d59d83 /chromium/components/network_session_configurator
parentc8c2d1901aec01e934adf561a9fdf0cc776cdef8 (diff)
downloadqtwebengine-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')
-rw-r--r--chromium/components/network_session_configurator/browser/network_session_configurator.cc49
-rw-r--r--chromium/components/network_session_configurator/browser/network_session_configurator_unittest.cc38
-rw-r--r--chromium/components/network_session_configurator/common/BUILD.gn6
-rw-r--r--chromium/components/network_session_configurator/common/network_features.h3
-rw-r--r--chromium/components/network_session_configurator/common/network_session_configurator_export.h35
-rw-r--r--chromium/components/network_session_configurator/common/network_switches.h10
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