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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "chrome/browser/io_thread.h" | 6 #include "chrome/browser/io_thread.h" |
7 #include "net/http/http_network_session.h" | 7 #include "net/http/http_network_session.h" |
8 #include "net/http/http_server_properties_impl.h" | 8 #include "net/http/http_server_properties_impl.h" |
9 #include "net/quic/quic_protocol.h" | 9 #include "net/quic/quic_protocol.h" |
10 #include "testing/gmock/include/gmock/gmock.h" | 10 #include "testing/gmock/include/gmock/gmock.h" |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 InitializeNetworkSessionParams(¶ms); | 126 InitializeNetworkSessionParams(¶ms); |
127 EXPECT_TRUE(params.enable_quic); | 127 EXPECT_TRUE(params.enable_quic); |
128 EXPECT_EQ(1350u, params.quic_max_packet_length); | 128 EXPECT_EQ(1350u, params.quic_max_packet_length); |
129 EXPECT_EQ(1.0, params.alternate_protocol_probability_threshold); | 129 EXPECT_EQ(1.0, params.alternate_protocol_probability_threshold); |
130 EXPECT_EQ(default_params.quic_supported_versions, | 130 EXPECT_EQ(default_params.quic_supported_versions, |
131 params.quic_supported_versions); | 131 params.quic_supported_versions); |
132 EXPECT_EQ(net::QuicTagVector(), params.quic_connection_options); | 132 EXPECT_EQ(net::QuicTagVector(), params.quic_connection_options); |
133 EXPECT_FALSE(params.quic_always_require_handshake_confirmation); | 133 EXPECT_FALSE(params.quic_always_require_handshake_confirmation); |
134 EXPECT_FALSE(params.quic_disable_connection_pooling); | 134 EXPECT_FALSE(params.quic_disable_connection_pooling); |
135 EXPECT_EQ(0, params.quic_load_server_info_timeout_ms); | 135 EXPECT_EQ(0, params.quic_load_server_info_timeout_ms); |
| 136 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); |
136 } | 137 } |
137 | 138 |
138 TEST_F(IOThreadTest, EnableQuicFromCommandLine) { | 139 TEST_F(IOThreadTest, EnableQuicFromCommandLine) { |
139 command_line_.AppendSwitch("enable-quic"); | 140 command_line_.AppendSwitch("enable-quic"); |
140 | 141 |
141 ConfigureQuicGlobals(); | 142 ConfigureQuicGlobals(); |
142 net::HttpNetworkSession::Params params; | 143 net::HttpNetworkSession::Params params; |
143 InitializeNetworkSessionParams(¶ms); | 144 InitializeNetworkSessionParams(¶ms); |
144 EXPECT_TRUE(params.enable_quic); | 145 EXPECT_TRUE(params.enable_quic); |
| 146 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); |
145 } | 147 } |
146 | 148 |
147 TEST_F(IOThreadTest, EnablePacingFromCommandLine) { | 149 TEST_F(IOThreadTest, EnablePacingFromCommandLine) { |
148 command_line_.AppendSwitch("enable-quic"); | 150 command_line_.AppendSwitch("enable-quic"); |
149 command_line_.AppendSwitch("enable-quic-pacing"); | 151 command_line_.AppendSwitch("enable-quic-pacing"); |
150 | 152 |
151 ConfigureQuicGlobals(); | 153 ConfigureQuicGlobals(); |
152 net::HttpNetworkSession::Params params; | 154 net::HttpNetworkSession::Params params; |
153 InitializeNetworkSessionParams(¶ms); | 155 InitializeNetworkSessionParams(¶ms); |
154 net::QuicTagVector options; | 156 net::QuicTagVector options; |
155 options.push_back(net::kPACE); | 157 options.push_back(net::kPACE); |
156 EXPECT_EQ(options, params.quic_connection_options); | 158 EXPECT_EQ(options, params.quic_connection_options); |
| 159 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); |
157 } | 160 } |
158 | 161 |
159 TEST_F(IOThreadTest, EnablePacingFromFieldTrialParams) { | 162 TEST_F(IOThreadTest, EnablePacingFromFieldTrialParams) { |
160 field_trial_group_ = "Enabled"; | 163 field_trial_group_ = "Enabled"; |
161 field_trial_params_["enable_pacing"] = "true"; | 164 field_trial_params_["enable_pacing"] = "true"; |
162 | 165 |
163 ConfigureQuicGlobals(); | 166 ConfigureQuicGlobals(); |
164 net::HttpNetworkSession::Params params; | 167 net::HttpNetworkSession::Params params; |
165 InitializeNetworkSessionParams(¶ms); | 168 InitializeNetworkSessionParams(¶ms); |
166 net::QuicTagVector options; | 169 net::QuicTagVector options; |
167 options.push_back(net::kPACE); | 170 options.push_back(net::kPACE); |
168 EXPECT_EQ(options, params.quic_connection_options); | 171 EXPECT_EQ(options, params.quic_connection_options); |
| 172 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); |
169 } | 173 } |
170 | 174 |
171 TEST_F(IOThreadTest, PacketLengthFromCommandLine) { | 175 TEST_F(IOThreadTest, PacketLengthFromCommandLine) { |
172 command_line_.AppendSwitch("enable-quic"); | 176 command_line_.AppendSwitch("enable-quic"); |
173 command_line_.AppendSwitchASCII("quic-max-packet-length", "1450"); | 177 command_line_.AppendSwitchASCII("quic-max-packet-length", "1450"); |
174 | 178 |
175 ConfigureQuicGlobals(); | 179 ConfigureQuicGlobals(); |
176 net::HttpNetworkSession::Params params; | 180 net::HttpNetworkSession::Params params; |
177 InitializeNetworkSessionParams(¶ms); | 181 InitializeNetworkSessionParams(¶ms); |
178 EXPECT_EQ(1450u, params.quic_max_packet_length); | 182 EXPECT_EQ(1450u, params.quic_max_packet_length); |
| 183 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); |
179 } | 184 } |
180 | 185 |
181 TEST_F(IOThreadTest, PacketLengthFromFieldTrialParams) { | 186 TEST_F(IOThreadTest, PacketLengthFromFieldTrialParams) { |
182 field_trial_group_ = "Enabled"; | 187 field_trial_group_ = "Enabled"; |
183 field_trial_params_["max_packet_length"] = "1450"; | 188 field_trial_params_["max_packet_length"] = "1450"; |
184 | 189 |
185 ConfigureQuicGlobals(); | 190 ConfigureQuicGlobals(); |
186 net::HttpNetworkSession::Params params; | 191 net::HttpNetworkSession::Params params; |
187 InitializeNetworkSessionParams(¶ms); | 192 InitializeNetworkSessionParams(¶ms); |
188 EXPECT_EQ(1450u, params.quic_max_packet_length); | 193 EXPECT_EQ(1450u, params.quic_max_packet_length); |
| 194 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); |
189 } | 195 } |
190 | 196 |
191 TEST_F(IOThreadTest, QuicVersionFromCommandLine) { | 197 TEST_F(IOThreadTest, QuicVersionFromCommandLine) { |
192 command_line_.AppendSwitch("enable-quic"); | 198 command_line_.AppendSwitch("enable-quic"); |
193 std::string version = | 199 std::string version = |
194 net::QuicVersionToString(net::QuicSupportedVersions().back()); | 200 net::QuicVersionToString(net::QuicSupportedVersions().back()); |
195 command_line_.AppendSwitchASCII("quic-version", version); | 201 command_line_.AppendSwitchASCII("quic-version", version); |
196 | 202 |
197 ConfigureQuicGlobals(); | 203 ConfigureQuicGlobals(); |
198 net::HttpNetworkSession::Params params; | 204 net::HttpNetworkSession::Params params; |
199 InitializeNetworkSessionParams(¶ms); | 205 InitializeNetworkSessionParams(¶ms); |
200 net::QuicVersionVector supported_versions; | 206 net::QuicVersionVector supported_versions; |
201 supported_versions.push_back(net::QuicSupportedVersions().back()); | 207 supported_versions.push_back(net::QuicSupportedVersions().back()); |
202 EXPECT_EQ(supported_versions, | 208 EXPECT_EQ(supported_versions, params.quic_supported_versions); |
203 params.quic_supported_versions); | 209 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); |
204 } | 210 } |
205 | 211 |
206 TEST_F(IOThreadTest, QuicVersionFromFieldTrialParams) { | 212 TEST_F(IOThreadTest, QuicVersionFromFieldTrialParams) { |
207 field_trial_group_ = "Enabled"; | 213 field_trial_group_ = "Enabled"; |
208 field_trial_params_["quic_version"] = | 214 field_trial_params_["quic_version"] = |
209 net::QuicVersionToString(net::QuicSupportedVersions().back()); | 215 net::QuicVersionToString(net::QuicSupportedVersions().back()); |
210 | 216 |
211 ConfigureQuicGlobals(); | 217 ConfigureQuicGlobals(); |
212 net::HttpNetworkSession::Params params; | 218 net::HttpNetworkSession::Params params; |
213 InitializeNetworkSessionParams(¶ms); | 219 InitializeNetworkSessionParams(¶ms); |
214 net::QuicVersionVector supported_versions; | 220 net::QuicVersionVector supported_versions; |
215 supported_versions.push_back(net::QuicSupportedVersions().back()); | 221 supported_versions.push_back(net::QuicSupportedVersions().back()); |
216 EXPECT_EQ(supported_versions, | 222 EXPECT_EQ(supported_versions, params.quic_supported_versions); |
217 params.quic_supported_versions); | 223 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); |
218 } | 224 } |
219 | 225 |
220 TEST_F(IOThreadTest, QuicConnectionOptionsFromCommandLine) { | 226 TEST_F(IOThreadTest, QuicConnectionOptionsFromCommandLine) { |
221 command_line_.AppendSwitch("enable-quic"); | 227 command_line_.AppendSwitch("enable-quic"); |
222 command_line_.AppendSwitchASCII("quic-connection-options", | 228 command_line_.AppendSwitchASCII("quic-connection-options", |
223 "PACE,TIME,TBBR,REJ"); | 229 "PACE,TIME,TBBR,REJ"); |
224 | 230 |
225 ConfigureQuicGlobals(); | 231 ConfigureQuicGlobals(); |
226 net::HttpNetworkSession::Params params; | 232 net::HttpNetworkSession::Params params; |
227 InitializeNetworkSessionParams(¶ms); | 233 InitializeNetworkSessionParams(¶ms); |
228 | 234 |
229 net::QuicTagVector options; | 235 net::QuicTagVector options; |
230 options.push_back(net::kPACE); | 236 options.push_back(net::kPACE); |
231 options.push_back(net::kTIME); | 237 options.push_back(net::kTIME); |
232 options.push_back(net::kTBBR); | 238 options.push_back(net::kTBBR); |
233 options.push_back(net::kREJ); | 239 options.push_back(net::kREJ); |
234 EXPECT_EQ(options, params.quic_connection_options); | 240 EXPECT_EQ(options, params.quic_connection_options); |
| 241 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); |
235 } | 242 } |
236 | 243 |
237 TEST_F(IOThreadTest, QuicConnectionOptionsFromFieldTrialParams) { | 244 TEST_F(IOThreadTest, QuicConnectionOptionsFromFieldTrialParams) { |
238 field_trial_group_ = "Enabled"; | 245 field_trial_group_ = "Enabled"; |
239 field_trial_params_["connection_options"] = "PACE,TIME,TBBR,REJ"; | 246 field_trial_params_["connection_options"] = "PACE,TIME,TBBR,REJ"; |
240 | 247 |
241 ConfigureQuicGlobals(); | 248 ConfigureQuicGlobals(); |
242 net::HttpNetworkSession::Params params; | 249 net::HttpNetworkSession::Params params; |
243 InitializeNetworkSessionParams(¶ms); | 250 InitializeNetworkSessionParams(¶ms); |
244 | 251 |
245 net::QuicTagVector options; | 252 net::QuicTagVector options; |
246 options.push_back(net::kPACE); | 253 options.push_back(net::kPACE); |
247 options.push_back(net::kTIME); | 254 options.push_back(net::kTIME); |
248 options.push_back(net::kTBBR); | 255 options.push_back(net::kTBBR); |
249 options.push_back(net::kREJ); | 256 options.push_back(net::kREJ); |
250 EXPECT_EQ(options, params.quic_connection_options); | 257 EXPECT_EQ(options, params.quic_connection_options); |
| 258 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); |
251 } | 259 } |
252 | 260 |
253 TEST_F(IOThreadTest, QuicConnectionOptionsFromDeprecatedFieldTrialParams) { | 261 TEST_F(IOThreadTest, QuicConnectionOptionsFromDeprecatedFieldTrialParams) { |
254 field_trial_group_ = "Enabled"; | 262 field_trial_group_ = "Enabled"; |
255 field_trial_params_["congestion_options"] = "PACE,TIME,TBBR,REJ"; | 263 field_trial_params_["congestion_options"] = "PACE,TIME,TBBR,REJ"; |
256 | 264 |
257 ConfigureQuicGlobals(); | 265 ConfigureQuicGlobals(); |
258 net::HttpNetworkSession::Params params; | 266 net::HttpNetworkSession::Params params; |
259 InitializeNetworkSessionParams(¶ms); | 267 InitializeNetworkSessionParams(¶ms); |
260 | 268 |
261 net::QuicTagVector options; | 269 net::QuicTagVector options; |
262 options.push_back(net::kPACE); | 270 options.push_back(net::kPACE); |
263 options.push_back(net::kTIME); | 271 options.push_back(net::kTIME); |
264 options.push_back(net::kTBBR); | 272 options.push_back(net::kTBBR); |
265 options.push_back(net::kREJ); | 273 options.push_back(net::kREJ); |
266 EXPECT_EQ(options, params.quic_connection_options); | 274 EXPECT_EQ(options, params.quic_connection_options); |
| 275 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); |
267 } | 276 } |
268 | 277 |
269 TEST_F(IOThreadTest, | 278 TEST_F(IOThreadTest, |
270 QuicAlwaysRequireHandshakeConfirmationFromFieldTrialParams) { | 279 QuicAlwaysRequireHandshakeConfirmationFromFieldTrialParams) { |
271 field_trial_group_ = "Enabled"; | 280 field_trial_group_ = "Enabled"; |
272 field_trial_params_["always_require_handshake_confirmation"] = "true"; | 281 field_trial_params_["always_require_handshake_confirmation"] = "true"; |
273 ConfigureQuicGlobals(); | 282 ConfigureQuicGlobals(); |
274 net::HttpNetworkSession::Params params; | 283 net::HttpNetworkSession::Params params; |
275 InitializeNetworkSessionParams(¶ms); | 284 InitializeNetworkSessionParams(¶ms); |
276 EXPECT_TRUE(params.quic_always_require_handshake_confirmation); | 285 EXPECT_TRUE(params.quic_always_require_handshake_confirmation); |
| 286 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); |
277 } | 287 } |
278 | 288 |
279 TEST_F(IOThreadTest, | 289 TEST_F(IOThreadTest, |
280 QuicDisableConnectionPoolingFromFieldTrialParams) { | 290 QuicDisableConnectionPoolingFromFieldTrialParams) { |
281 field_trial_group_ = "Enabled"; | 291 field_trial_group_ = "Enabled"; |
282 field_trial_params_["disable_connection_pooling"] = "true"; | 292 field_trial_params_["disable_connection_pooling"] = "true"; |
283 ConfigureQuicGlobals(); | 293 ConfigureQuicGlobals(); |
284 net::HttpNetworkSession::Params params; | 294 net::HttpNetworkSession::Params params; |
285 InitializeNetworkSessionParams(¶ms); | 295 InitializeNetworkSessionParams(¶ms); |
286 EXPECT_TRUE(params.quic_disable_connection_pooling); | 296 EXPECT_TRUE(params.quic_disable_connection_pooling); |
| 297 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); |
287 } | 298 } |
288 | 299 |
289 TEST_F(IOThreadTest, QuicLoadServerInfoTimeoutFromFieldTrialParams) { | 300 TEST_F(IOThreadTest, QuicLoadServerInfoTimeoutFromFieldTrialParams) { |
290 field_trial_group_ = "Enabled"; | 301 field_trial_group_ = "Enabled"; |
291 field_trial_params_["load_server_info_timeout"] = "50"; | 302 field_trial_params_["load_server_info_timeout"] = "50"; |
292 ConfigureQuicGlobals(); | 303 ConfigureQuicGlobals(); |
293 net::HttpNetworkSession::Params params; | 304 net::HttpNetworkSession::Params params; |
294 InitializeNetworkSessionParams(¶ms); | 305 InitializeNetworkSessionParams(¶ms); |
295 EXPECT_EQ(50, params.quic_load_server_info_timeout_ms); | 306 EXPECT_EQ(50, params.quic_load_server_info_timeout_ms); |
| 307 EXPECT_FALSE(params.quic_disable_loading_server_info_for_new_servers); |
| 308 } |
| 309 |
| 310 TEST_F(IOThreadTest, QuicDisableLoadingServerInfoForNewServers) { |
| 311 field_trial_group_ = "Enabled"; |
| 312 field_trial_params_["disable_loading_server_info_for_new_servers"] = "true"; |
| 313 ConfigureQuicGlobals(); |
| 314 net::HttpNetworkSession::Params params; |
| 315 InitializeNetworkSessionParams(¶ms); |
| 316 EXPECT_TRUE(params.quic_disable_loading_server_info_for_new_servers); |
296 } | 317 } |
297 | 318 |
298 TEST_F(IOThreadTest, | 319 TEST_F(IOThreadTest, |
299 AlternateProtocolProbabilityThresholdFromFlag) { | 320 AlternateProtocolProbabilityThresholdFromFlag) { |
300 command_line_.AppendSwitchASCII("alternate-protocol-probability-threshold", | 321 command_line_.AppendSwitchASCII("alternate-protocol-probability-threshold", |
301 ".5"); | 322 ".5"); |
302 | 323 |
303 ConfigureQuicGlobals(); | 324 ConfigureQuicGlobals(); |
304 net::HttpNetworkSession::Params params; | 325 net::HttpNetworkSession::Params params; |
305 InitializeNetworkSessionParams(¶ms); | 326 InitializeNetworkSessionParams(¶ms); |
(...skipping 15 matching lines...) Expand all Loading... |
321 field_trial_group_ = "Enabled"; | 342 field_trial_group_ = "Enabled"; |
322 field_trial_params_["alternate_protocol_probability_threshold"] = ".5"; | 343 field_trial_params_["alternate_protocol_probability_threshold"] = ".5"; |
323 | 344 |
324 ConfigureQuicGlobals(); | 345 ConfigureQuicGlobals(); |
325 net::HttpNetworkSession::Params params; | 346 net::HttpNetworkSession::Params params; |
326 InitializeNetworkSessionParams(¶ms); | 347 InitializeNetworkSessionParams(¶ms); |
327 EXPECT_EQ(.5, params.alternate_protocol_probability_threshold); | 348 EXPECT_EQ(.5, params.alternate_protocol_probability_threshold); |
328 } | 349 } |
329 | 350 |
330 } // namespace test | 351 } // namespace test |
OLD | NEW |