diff options
Diffstat (limited to 'chromium/google_apis/gcm')
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" |