summaryrefslogtreecommitdiff
path: root/chromium/google_apis/gcm
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/google_apis/gcm')
-rw-r--r--chromium/google_apis/gcm/base/socket_stream_unittest.cc8
-rw-r--r--chromium/google_apis/gcm/engine/connection_factory_impl.cc10
-rw-r--r--chromium/google_apis/gcm/engine/connection_factory_impl_unittest.cc4
-rw-r--r--chromium/google_apis/gcm/engine/connection_handler_impl_unittest.cc8
-rw-r--r--chromium/google_apis/gcm/engine/gservices_settings.cc1
-rw-r--r--chromium/google_apis/gcm/engine/heartbeat_manager.h1
6 files changed, 27 insertions, 5 deletions
diff --git a/chromium/google_apis/gcm/base/socket_stream_unittest.cc b/chromium/google_apis/gcm/base/socket_stream_unittest.cc
index d8ea8fbfb57..079d1189886 100644
--- a/chromium/google_apis/gcm/base/socket_stream_unittest.cc
+++ b/chromium/google_apis/gcm/base/socket_stream_unittest.cc
@@ -20,6 +20,7 @@
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "net/base/ip_address.h"
+#include "net/base/network_isolation_key.h"
#include "net/log/net_log_source.h"
#include "net/socket/socket_test_util.h"
#include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
@@ -28,6 +29,7 @@
#include "services/network/network_service.h"
#include "services/network/public/mojom/proxy_resolving_socket.mojom.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "url/origin.h"
namespace gcm {
namespace {
@@ -231,8 +233,12 @@ void GCMSocketStreamTest::OpenConnection() {
network::mojom::ProxyResolvingSocketOptionsPtr options =
network::mojom::ProxyResolvingSocketOptions::New();
options->use_tls = true;
+ const url::Origin kOrigin = url::Origin::Create(kDestination);
mojo_socket_factory_remote_->CreateProxyResolvingSocket(
- kDestination, std::move(options),
+ kDestination,
+ net::NetworkIsolationKey(kOrigin /* top_frame_origin */,
+ kOrigin /* frame_origin */),
+ std::move(options),
net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
mojo_socket_remote_.BindNewPipeAndPassReceiver(),
mojo::NullRemote() /* observer */,
diff --git a/chromium/google_apis/gcm/engine/connection_factory_impl.cc b/chromium/google_apis/gcm/engine/connection_factory_impl.cc
index 0e20ff33255..e4d2cf86fe1 100644
--- a/chromium/google_apis/gcm/engine/connection_factory_impl.cc
+++ b/chromium/google_apis/gcm/engine/connection_factory_impl.cc
@@ -17,6 +17,7 @@
#include "google_apis/gcm/protocol/mcs.pb.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "net/base/net_errors.h"
+#include "net/base/network_isolation_key.h"
#include "net/http/http_request_headers.h"
#include "net/http/proxy_fallback.h"
#include "net/log/net_log_source_type.h"
@@ -26,6 +27,8 @@
#include "net/ssl/ssl_config_service.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
#include "services/network/public/mojom/tcp_socket.mojom.h"
+#include "url/gurl.h"
+#include "url/origin.h"
namespace gcm {
@@ -359,8 +362,13 @@ void ConnectionFactoryImpl::StartConnection() {
network::mojom::ProxyResolvingSocketOptionsPtr options =
network::mojom::ProxyResolvingSocketOptions::New();
options->use_tls = true;
+ // |current_endpoint| is always a Google URL, so this NetworkIsolationKey will
+ // be the same for all callers, and will allow pooling all connections to GCM
+ // in one socket connection, if an H2 or QUIC proxy is in use.
+ auto origin = url::Origin::Create(current_endpoint);
+ net::NetworkIsolationKey network_isolation_key(origin, origin);
socket_factory_->CreateProxyResolvingSocket(
- current_endpoint, std::move(options),
+ current_endpoint, std::move(network_isolation_key), std::move(options),
net::MutableNetworkTrafficAnnotationTag(traffic_annotation),
socket_.BindNewPipeAndPassReceiver(), mojo::NullRemote() /* observer */,
base::BindOnce(&ConnectionFactoryImpl::OnConnectDone,
diff --git a/chromium/google_apis/gcm/engine/connection_factory_impl_unittest.cc b/chromium/google_apis/gcm/engine/connection_factory_impl_unittest.cc
index 0c83bb2f850..3e26f257086 100644
--- a/chromium/google_apis/gcm/engine/connection_factory_impl_unittest.cc
+++ b/chromium/google_apis/gcm/engine/connection_factory_impl_unittest.cc
@@ -292,6 +292,8 @@ class ConnectionFactoryImplTest
return login_request.client_event();
}
+ base::RunLoop* GetRunLoop() { return run_loop_.get(); }
+
private:
void GetProxyResolvingSocketFactory(
mojo::PendingReceiver<network::mojom::ProxyResolvingSocketFactory>
@@ -509,7 +511,7 @@ TEST_F(ConnectionFactoryImplTest, CanarySucceedsRetryDuringLogin) {
// Pump the loop, to ensure the pending backoff retry has no effect.
base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
- FROM_HERE, base::RunLoop::QuitCurrentWhenIdleClosureDeprecated(),
+ FROM_HERE, GetRunLoop()->QuitWhenIdleClosure(),
base::TimeDelta::FromMilliseconds(1));
WaitForConnections();
}
diff --git a/chromium/google_apis/gcm/engine/connection_handler_impl_unittest.cc b/chromium/google_apis/gcm/engine/connection_handler_impl_unittest.cc
index 2b7e485f579..27003b49f51 100644
--- a/chromium/google_apis/gcm/engine/connection_handler_impl_unittest.cc
+++ b/chromium/google_apis/gcm/engine/connection_handler_impl_unittest.cc
@@ -27,6 +27,7 @@
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "net/base/ip_address.h"
+#include "net/base/network_isolation_key.h"
#include "net/base/test_completion_callback.h"
#include "net/log/net_log_source.h"
#include "net/socket/socket_test_util.h"
@@ -38,6 +39,7 @@
#include "services/network/network_service.h"
#include "services/network/public/mojom/proxy_resolving_socket.mojom.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "url/origin.h"
namespace gcm {
namespace {
@@ -249,8 +251,12 @@ void GCMConnectionHandlerImplTest::BuildSocket(const ReadList& read_list,
network::mojom::ProxyResolvingSocketOptions::New();
options->use_tls = true;
mojo_socket_remote_.reset();
+ const url::Origin kOrigin = url::Origin::Create(kDestination);
mojo_socket_factory_remote_->CreateProxyResolvingSocket(
- kDestination, std::move(options),
+ kDestination,
+ net::NetworkIsolationKey(kOrigin /* top_frame_origin */,
+ kOrigin /* frame_origin */),
+ std::move(options),
net::MutableNetworkTrafficAnnotationTag(TRAFFIC_ANNOTATION_FOR_TESTS),
mojo_socket_remote_.BindNewPipeAndPassReceiver(),
mojo::NullRemote() /* observer */,
diff --git a/chromium/google_apis/gcm/engine/gservices_settings.cc b/chromium/google_apis/gcm/engine/gservices_settings.cc
index 1d53f9f2308..c869c5bbf62 100644
--- a/chromium/google_apis/gcm/engine/gservices_settings.cc
+++ b/chromium/google_apis/gcm/engine/gservices_settings.cc
@@ -9,6 +9,7 @@
#include "base/bind.h"
#include "base/command_line.h"
#include "base/hash/sha1.h"
+#include "base/logging.h"
#include "base/stl_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
diff --git a/chromium/google_apis/gcm/engine/heartbeat_manager.h b/chromium/google_apis/gcm/engine/heartbeat_manager.h
index acd9a62ee5d..34b849dd979 100644
--- a/chromium/google_apis/gcm/engine/heartbeat_manager.h
+++ b/chromium/google_apis/gcm/engine/heartbeat_manager.h
@@ -8,7 +8,6 @@
#include <memory>
#include "base/callback.h"
-#include "base/logging.h"
#include "base/macros.h"
#include "base/memory/weak_ptr.h"
#include "base/power_monitor/power_observer.h"