Convert ClientSocketPool(Manager) to use SchemeHostPort

Remove ClientSocketPoolManager::SocketGroupType and
ClientSocketPool::SocketType. They were redundant with the destination
scheme.

Bug: 1206799
Change-Id: Ie6082686fae00917a93f6379384beb491e4b48df
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2957189
Commit-Queue: Eric Orth <[email protected]>
Commit-Queue: Matt Menke <[email protected]>
Auto-Submit: Eric Orth <[email protected]>
Reviewed-by: Matt Menke <[email protected]>
Cr-Commit-Position: refs/heads/master@{#894875}
diff --git a/net/socket/client_socket_pool_base_unittest.cc b/net/socket/client_socket_pool_base_unittest.cc
index 929de6a..ce34f2f4 100644
--- a/net/socket/client_socket_pool_base_unittest.cc
+++ b/net/socket/client_socket_pool_base_unittest.cc
@@ -26,6 +26,7 @@
 #include "base/threading/thread_task_runner_handle.h"
 #include "base/values.h"
 #include "net/base/features.h"
+#include "net/base/host_port_pair.h"
 #include "net/base/load_timing_info.h"
 #include "net/base/load_timing_info_test_util.h"
 #include "net/base/net_errors.h"
@@ -62,6 +63,8 @@
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
+#include "url/scheme_host_port.h"
+#include "url/url_constants.h"
 
 using net::test::IsError;
 using net::test::IsOk;
@@ -79,13 +82,12 @@
     base::TimeDelta::FromSeconds(10);
 
 ClientSocketPool::GroupId TestGroupId(
-    const std::string& host,
+    base::StringPiece host,
     int port = 80,
-    ClientSocketPool::SocketType socket_type =
-        ClientSocketPool::SocketType::kHttp,
+    base::StringPiece scheme = url::kHttpScheme,
     PrivacyMode privacy_mode = PrivacyMode::PRIVACY_MODE_DISABLED,
     NetworkIsolationKey network_isolation_key = NetworkIsolationKey()) {
-  return ClientSocketPool::GroupId(HostPortPair(host, port), socket_type,
+  return ClientSocketPool::GroupId(url::SchemeHostPort(scheme, host, port),
                                    privacy_mode, network_isolation_key,
                                    SecureDnsPolicy::kAllow);
 }
@@ -856,9 +858,9 @@
       {"b", 80},
   };
 
-  const ClientSocketPool::SocketType kSocketTypes[] = {
-      ClientSocketPool::SocketType::kHttp,
-      ClientSocketPool::SocketType::kSsl,
+  const char* const kSchemes[] = {
+      url::kHttpScheme,
+      url::kHttpsScheme,
   };
 
   const PrivacyMode kPrivacyModes[] = {PrivacyMode::PRIVACY_MODE_DISABLED,
@@ -880,8 +882,8 @@
   // group does not return a previously connected socket for another group.
   for (const auto& host_port_pair : kHostPortPairs) {
     SCOPED_TRACE(host_port_pair.ToString());
-    for (const auto& socket_type : kSocketTypes) {
-      SCOPED_TRACE(static_cast<int>(socket_type));
+    for (const char* scheme : kSchemes) {
+      SCOPED_TRACE(scheme);
       for (const auto& privacy_mode : kPrivacyModes) {
         SCOPED_TRACE(privacy_mode);
         for (const auto& network_isolation_key : kNetworkIsolationKeys) {
@@ -892,8 +894,9 @@
             connect_job_factory_->set_job_type(TestConnectJob::kMockPendingJob);
 
             ClientSocketPool::GroupId group_id(
-                host_port_pair, socket_type, privacy_mode,
-                network_isolation_key, secure_dns_policy);
+                url::SchemeHostPort(scheme, host_port_pair.host(),
+                                    host_port_pair.port()),
+                privacy_mode, network_isolation_key, secure_dns_policy);
 
             EXPECT_FALSE(pool_->HasGroupForTesting(group_id));
 
@@ -1301,13 +1304,13 @@
     ClientSocketHandle handles[kDefaultMaxSockets];
     TestCompletionCallback callbacks[kDefaultMaxSockets];
     for (int i = 0; i < kDefaultMaxSockets; ++i) {
-      EXPECT_EQ(OK,
-                handles[i].Init(TestGroupId(base::NumberToString(i)), params_,
-                                absl::nullopt, DEFAULT_PRIORITY, SocketTag(),
-                                ClientSocketPool::RespectLimits::ENABLED,
-                                callbacks[i].callback(),
-                                ClientSocketPool::ProxyAuthCallback(),
-                                pool_.get(), NetLogWithSource()));
+      EXPECT_EQ(OK, handles[i].Init(TestGroupId("a" + base::NumberToString(i)),
+                                    params_, absl::nullopt, DEFAULT_PRIORITY,
+                                    SocketTag(),
+                                    ClientSocketPool::RespectLimits::ENABLED,
+                                    callbacks[i].callback(),
+                                    ClientSocketPool::ProxyAuthCallback(),
+                                    pool_.get(), NetLogWithSource()));
     }
 
     // Force a stalled group.
@@ -1342,12 +1345,12 @@
     for (int i = 0; i < kDefaultMaxSockets; ++i) {
       TestCompletionCallback callback;
       EXPECT_EQ(ERR_IO_PENDING,
-                handles[i].Init(TestGroupId(base::NumberToString(i)), params_,
-                                absl::nullopt, DEFAULT_PRIORITY, SocketTag(),
-                                ClientSocketPool::RespectLimits::ENABLED,
-                                callback.callback(),
-                                ClientSocketPool::ProxyAuthCallback(),
-                                pool_.get(), NetLogWithSource()));
+                handles[i].Init(
+                    TestGroupId("a" + base::NumberToString(i)), params_,
+                    absl::nullopt, DEFAULT_PRIORITY, SocketTag(),
+                    ClientSocketPool::RespectLimits::ENABLED,
+                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                    pool_.get(), NetLogWithSource()));
     }
 
     // Force a stalled group.
@@ -1409,7 +1412,7 @@
       TestCompletionCallback callback;
       EXPECT_EQ(
           OK, handles[i].Init(
-                  TestGroupId(base::StringPrintf("Take 2: %d", i)), params_,
+                  TestGroupId(base::StringPrintf("take-2-%d", i)), params_,
                   absl::nullopt, DEFAULT_PRIORITY, SocketTag(),
                   ClientSocketPool::RespectLimits::ENABLED, callback.callback(),
                   ClientSocketPool::ProxyAuthCallback(), pool_.get(),
@@ -1449,12 +1452,13 @@
   for (int i = 0; i < kDefaultMaxSockets; ++i) {
     ClientSocketHandle handle;
     TestCompletionCallback callback;
-    EXPECT_EQ(OK, handle.Init(TestGroupId(base::NumberToString(i)), params_,
-                              absl::nullopt, DEFAULT_PRIORITY, SocketTag(),
-                              ClientSocketPool::RespectLimits::ENABLED,
-                              callback.callback(),
-                              ClientSocketPool::ProxyAuthCallback(),
-                              pool_.get(), NetLogWithSource()));
+    EXPECT_EQ(
+        OK,
+        handle.Init(TestGroupId("a" + base::NumberToString(i)), params_,
+                    absl::nullopt, DEFAULT_PRIORITY, SocketTag(),
+                    ClientSocketPool::RespectLimits::ENABLED,
+                    callback.callback(), ClientSocketPool::ProxyAuthCallback(),
+                    pool_.get(), NetLogWithSource()));
   }
 
   // Flush all the DoReleaseSocket tasks.
@@ -1466,11 +1470,11 @@
   ClientSocketHandle handle;
   TestCompletionCallback callback;
 
-  // "0" is special here, since it should be the first entry in the sorted map,
+  // "a0" is special here, since it should be the first entry in the sorted map,
   // which is the one which we would close an idle socket for.  We shouldn't
   // close an idle socket though, since we should reuse the idle socket.
   EXPECT_EQ(OK, handle.Init(
-                    TestGroupId("0"), params_, absl::nullopt, DEFAULT_PRIORITY,
+                    TestGroupId("a0"), params_, absl::nullopt, DEFAULT_PRIORITY,
                     SocketTag(), ClientSocketPool::RespectLimits::ENABLED,
                     callback.callback(), ClientSocketPool::ProxyAuthCallback(),
                     pool_.get(), NetLogWithSource()));
@@ -5651,7 +5655,7 @@
   }
 
   static ClientSocketPool::GroupId GetGroupId() {
-    return TestGroupId("a", 443, ClientSocketPool::SocketType::kSsl);
+    return TestGroupId("a", 443, url::kHttpsScheme);
   }
 
   static ClientSocketPool::GroupId GetGroupIdInPartition() {
@@ -5659,7 +5663,7 @@
     // kPartitionConnectionsByNetworkIsolationKey is enabled.
     const SchemefulSite kSite(GURL("https://b/"));
     const NetworkIsolationKey kNetworkIsolationKey(kSite, kSite);
-    return TestGroupId("a", 443, ClientSocketPool::SocketType::kSsl,
+    return TestGroupId("a", 443, url::kHttpsScheme,
                        PrivacyMode::PRIVACY_MODE_DISABLED,
                        kNetworkIsolationKey);
   }
@@ -5740,9 +5744,9 @@
        RefreshGroupDoesNotCloseIdleConnectJobsInOtherGroup) {
   CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup);
   const ClientSocketPool::GroupId kGroupId =
-      TestGroupId("a", 443, ClientSocketPool::SocketType::kSsl);
+      TestGroupId("a", 443, url::kHttpsScheme);
   const ClientSocketPool::GroupId kOtherGroupId =
-      TestGroupId("b", 443, ClientSocketPool::SocketType::kSsl);
+      TestGroupId("b", 443, url::kHttpsScheme);
 
   pool_->RequestSockets(kOtherGroupId, params_, absl::nullopt, 2,
                         NetLogWithSource());
@@ -5782,9 +5786,9 @@
        RefreshGroupDoesNotPreventSocketReuseInOtherGroup) {
   CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup);
   const ClientSocketPool::GroupId kGroupId =
-      TestGroupId("a", 443, ClientSocketPool::SocketType::kSsl);
+      TestGroupId("a", 443, url::kHttpsScheme);
   const ClientSocketPool::GroupId kOtherGroupId =
-      TestGroupId("b", 443, ClientSocketPool::SocketType::kSsl);
+      TestGroupId("b", 443, url::kHttpsScheme);
 
   ClientSocketHandle handle;
   TestCompletionCallback callback;
@@ -5852,11 +5856,11 @@
                              ProxyServer::FromPacString("HTTPS myproxy:70"));
 
   const ClientSocketPool::GroupId kGroupId1 =
-      TestGroupId("a", 443, ClientSocketPool::SocketType::kSsl);
+      TestGroupId("a", 443, url::kHttpsScheme);
   const ClientSocketPool::GroupId kGroupId2 =
-      TestGroupId("b", 443, ClientSocketPool::SocketType::kSsl);
+      TestGroupId("b", 443, url::kHttpsScheme);
   const ClientSocketPool::GroupId kGroupId3 =
-      TestGroupId("c", 443, ClientSocketPool::SocketType::kSsl);
+      TestGroupId("c", 443, url::kHttpsScheme);
 
   // Make three sockets in three different groups. The third socket is released
   // to the pool as idle.
@@ -5924,14 +5928,12 @@
 TEST_F(ClientSocketPoolBaseTest, RefreshBothPrivacyAndNormalSockets) {
   CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup);
 
-  const ClientSocketPool::GroupId kGroupId =
-      TestGroupId("a", 443, ClientSocketPool::SocketType::kSsl,
-                  PrivacyMode::PRIVACY_MODE_DISABLED);
-  const ClientSocketPool::GroupId kGroupIdPrivacy =
-      TestGroupId("a", 443, ClientSocketPool::SocketType::kSsl,
-                  PrivacyMode::PRIVACY_MODE_ENABLED);
+  const ClientSocketPool::GroupId kGroupId = TestGroupId(
+      "a", 443, url::kHttpsScheme, PrivacyMode::PRIVACY_MODE_DISABLED);
+  const ClientSocketPool::GroupId kGroupIdPrivacy = TestGroupId(
+      "a", 443, url::kHttpsScheme, PrivacyMode::PRIVACY_MODE_ENABLED);
   const ClientSocketPool::GroupId kOtherGroupId =
-      TestGroupId("b", 443, ClientSocketPool::SocketType::kSsl);
+      TestGroupId("b", 443, url::kHttpsScheme);
 
   // Make a socket in each groups.
   ClientSocketHandle handle1, handle2, handle3;