Commit 27a19b82 authored by Bence Béky's avatar Bence Béky Committed by Commit Bot

Use base::Optional for next_protos_expected_in_ssl_config.

This will allow next_protos_expected_in_ssl_config to test for
ssl_config.alpn_protos being empty.

Bug: 801564
Change-Id: I05ee7803b7ffb5add8ef0a16f0a00c7572967041
Reviewed-on: https://chromium-review.googlesource.com/891445
Commit-Queue: Bence Béky <bnc@chromium.org>
Reviewed-by: default avatarAdam Rice <ricea@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532869}
parent 1f0d3b2b
......@@ -760,13 +760,13 @@ std::unique_ptr<SSLClientSocket> MockClientSocketFactory::CreateSSLClientSocket(
const SSLConfig& ssl_config,
const SSLClientSocketContext& context) {
SSLSocketDataProvider* next_ssl_data = mock_ssl_data_.GetNext();
if (!next_ssl_data->next_protos_expected_in_ssl_config.empty()) {
EXPECT_EQ(next_ssl_data->next_protos_expected_in_ssl_config.size(),
if (next_ssl_data->next_protos_expected_in_ssl_config.has_value()) {
EXPECT_EQ(next_ssl_data->next_protos_expected_in_ssl_config.value().size(),
ssl_config.alpn_protos.size());
EXPECT_TRUE(
std::equal(next_ssl_data->next_protos_expected_in_ssl_config.begin(),
next_ssl_data->next_protos_expected_in_ssl_config.end(),
ssl_config.alpn_protos.begin()));
EXPECT_TRUE(std::equal(
next_ssl_data->next_protos_expected_in_ssl_config.value().begin(),
next_ssl_data->next_protos_expected_in_ssl_config.value().end(),
ssl_config.alpn_protos.begin()));
}
return std::unique_ptr<SSLClientSocket>(new MockSSLClientSocket(
std::move(transport_socket), host_and_port, ssl_config, next_ssl_data));
......
......@@ -19,6 +19,7 @@
#include "base/memory/ptr_util.h"
#include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h"
#include "base/optional.h"
#include "base/strings/string16.h"
#include "base/time/time.h"
#include "build/build_config.h"
......@@ -374,7 +375,7 @@ struct SSLSocketDataProvider {
SSLCertRequestInfo* cert_request_info;
ChannelIDService* channel_id_service;
NextProtoVector next_protos_expected_in_ssl_config;
base::Optional<NextProtoVector> next_protos_expected_in_ssl_config;
};
// Uses the sequence_number field in the mock reads and writes to
......
......@@ -4468,8 +4468,8 @@ TEST_F(SpdyNetworkTransactionTest, HTTP11RequiredRetry) {
auto ssl_provider0 = std::make_unique<SSLSocketDataProvider>(ASYNC, OK);
// Expect HTTP/2 protocols too in SSLConfig.
ssl_provider0->next_protos_expected_in_ssl_config.push_back(kProtoHTTP2);
ssl_provider0->next_protos_expected_in_ssl_config.push_back(kProtoHTTP11);
ssl_provider0->next_protos_expected_in_ssl_config =
NextProtoVector{kProtoHTTP2, kProtoHTTP11};
// Force SPDY.
ssl_provider0->next_proto = kProtoHTTP2;
helper.AddDataWithSSLSocketDataProvider(&data0, std::move(ssl_provider0));
......@@ -4488,7 +4488,8 @@ TEST_F(SpdyNetworkTransactionTest, HTTP11RequiredRetry) {
auto ssl_provider1 = std::make_unique<SSLSocketDataProvider>(ASYNC, OK);
// Expect only HTTP/1.1 protocol in SSLConfig.
ssl_provider1->next_protos_expected_in_ssl_config.push_back(kProtoHTTP11);
ssl_provider1->next_protos_expected_in_ssl_config =
NextProtoVector{kProtoHTTP11};
// Force HTTP/1.1.
ssl_provider1->next_proto = kProtoHTTP11;
helper.AddDataWithSSLSocketDataProvider(&data1, std::move(ssl_provider1));
......@@ -4542,8 +4543,8 @@ TEST_F(SpdyNetworkTransactionTest, HTTP11RequiredProxyRetry) {
auto ssl_provider0 = std::make_unique<SSLSocketDataProvider>(ASYNC, OK);
// Expect HTTP/2 protocols too in SSLConfig.
ssl_provider0->next_protos_expected_in_ssl_config.push_back(kProtoHTTP2);
ssl_provider0->next_protos_expected_in_ssl_config.push_back(kProtoHTTP11);
ssl_provider0->next_protos_expected_in_ssl_config =
NextProtoVector{kProtoHTTP2, kProtoHTTP11};
// Force SPDY.
ssl_provider0->next_proto = kProtoHTTP2;
helper.AddDataWithSSLSocketDataProvider(&data0, std::move(ssl_provider0));
......@@ -4572,7 +4573,8 @@ TEST_F(SpdyNetworkTransactionTest, HTTP11RequiredProxyRetry) {
auto ssl_provider1 = std::make_unique<SSLSocketDataProvider>(ASYNC, OK);
// Expect only HTTP/1.1 protocol in SSLConfig.
ssl_provider1->next_protos_expected_in_ssl_config.push_back(kProtoHTTP11);
ssl_provider1->next_protos_expected_in_ssl_config =
NextProtoVector{kProtoHTTP11};
// Force HTTP/1.1.
ssl_provider1->next_proto = kProtoHTTP11;
helper.AddDataWithSSLSocketDataProvider(&data1, std::move(ssl_provider1));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment