Commit 45d3c7fe authored by Gyuyoung Kim's avatar Gyuyoung Kim Committed by Commit Bot

Migrate NetworkContext::CreateNetLogExporter to the new Mojo types

This CL applies pending_receiver to CreateNetLogExporter in
NetworkContext interface. StrongBindingSet is converted to
UniqueReceiverSet in this CL.

Bug: 955171
Change-Id: I72331247e92e6499b531a95c7f3dbd22ac97cc07
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1817998
Commit-Queue: Gyuyoung Kim <gyuyoung@igalia.com>
Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
Reviewed-by: default avatarMatt Menke <mmenke@chromium.org>
Reviewed-by: default avatarClark DuVall <cduvall@chromium.org>
Reviewed-by: default avatarKen Rockot <rockot@google.com>
Cr-Commit-Position: refs/heads/master@{#699596}
parent 6123403c
...@@ -147,11 +147,12 @@ void NetExportFileWriter::StartNetLog( ...@@ -147,11 +147,12 @@ void NetExportFileWriter::StartNetLog(
NotifyStateObserversAsync(); NotifyStateObserversAsync();
network_context->CreateNetLogExporter(mojo::MakeRequest(&net_log_exporter_)); network_context->CreateNetLogExporter(
net_log_exporter_.BindNewPipeAndPassReceiver());
base::Value custom_constants = base::Value::FromUniquePtrValue( base::Value custom_constants = base::Value::FromUniquePtrValue(
GetPlatformConstantsForNetLog(command_line_string, channel_string)); GetPlatformConstantsForNetLog(command_line_string, channel_string));
net_log_exporter_.set_connection_error_handler(base::BindOnce( net_log_exporter_.set_disconnect_handler(base::BindOnce(
&NetExportFileWriter::OnConnectionError, base::Unretained(this))); &NetExportFileWriter::OnConnectionError, base::Unretained(this)));
base::PostTaskAndReplyWithResult( base::PostTaskAndReplyWithResult(
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#include "base/observer_list.h" #include "base/observer_list.h"
#include "base/threading/thread_checker.h" #include "base/threading/thread_checker.h"
#include "base/values.h" #include "base/values.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "net/log/net_log_capture_mode.h" #include "net/log/net_log_capture_mode.h"
#include "services/network/public/mojom/net_log.mojom.h" #include "services/network/public/mojom/net_log.mojom.h"
#include "services/network/public/mojom/network_service.mojom.h" #include "services/network/public/mojom/network_service.mojom.h"
...@@ -214,7 +215,7 @@ class NetExportFileWriter { ...@@ -214,7 +215,7 @@ class NetExportFileWriter {
base::FilePath log_path_; // base::FilePath to the NetLog file. base::FilePath log_path_; // base::FilePath to the NetLog file.
// Used to ask the network service to do the actual exporting. // Used to ask the network service to do the actual exporting.
network::mojom::NetLogExporterPtr net_log_exporter_; mojo::Remote<network::mojom::NetLogExporter> net_log_exporter_;
// List of StateObservers to notify on state changes. // List of StateObservers to notify on state changes.
base::ObserverList<StateObserver, true>::Unchecked state_observer_list_; base::ObserverList<StateObserver, true>::Unchecked state_observer_list_;
......
...@@ -83,9 +83,9 @@ class FakeNetLogExporter : public network::mojom::NetLogExporter { ...@@ -83,9 +83,9 @@ class FakeNetLogExporter : public network::mojom::NetLogExporter {
class FakeNetworkContext : public network::TestNetworkContext { class FakeNetworkContext : public network::TestNetworkContext {
public: public:
void CreateNetLogExporter( void CreateNetLogExporter(
network::mojom::NetLogExporterRequest request) override { mojo::PendingReceiver<network::mojom::NetLogExporter> receiver) override {
binding_ = mojo::StrongBinding<network::mojom::NetLogExporter>::Create( binding_ = mojo::StrongBinding<network::mojom::NetLogExporter>::Create(
std::make_unique<FakeNetLogExporter>(), std::move(request)); std::make_unique<FakeNetLogExporter>(), std::move(receiver));
} }
void Disconnect() { binding_->Close(); } void Disconnect() { binding_->Close(); }
......
...@@ -1088,9 +1088,9 @@ void NetworkContext::CreateWebSocket( ...@@ -1088,9 +1088,9 @@ void NetworkContext::CreateWebSocket(
} }
void NetworkContext::CreateNetLogExporter( void NetworkContext::CreateNetLogExporter(
mojom::NetLogExporterRequest request) { mojo::PendingReceiver<mojom::NetLogExporter> receiver) {
net_log_exporter_bindings_.AddBinding(std::make_unique<NetLogExporter>(this), net_log_exporter_receivers_.Add(std::make_unique<NetLogExporter>(this),
std::move(request)); std::move(receiver));
} }
void NetworkContext::ResolveHost( void NetworkContext::ResolveHost(
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include "mojo/public/cpp/bindings/receiver.h" #include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/bindings/remote.h" #include "mojo/public/cpp/bindings/remote.h"
#include "mojo/public/cpp/bindings/strong_binding_set.h" #include "mojo/public/cpp/bindings/strong_binding_set.h"
#include "mojo/public/cpp/bindings/unique_receiver_set.h"
#include "net/cert/cert_verifier.h" #include "net/cert/cert_verifier.h"
#include "net/cert/cert_verify_result.h" #include "net/cert/cert_verify_result.h"
#include "net/dns/dns_config_overrides.h" #include "net/dns/dns_config_overrides.h"
...@@ -278,7 +279,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext ...@@ -278,7 +279,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client, mojo::PendingRemote<mojom::WebSocketHandshakeClient> handshake_client,
mojo::PendingRemote<mojom::AuthenticationHandler> auth_handler, mojo::PendingRemote<mojom::AuthenticationHandler> auth_handler,
mojo::PendingRemote<mojom::TrustedHeaderClient> header_client) override; mojo::PendingRemote<mojom::TrustedHeaderClient> header_client) override;
void CreateNetLogExporter(mojom::NetLogExporterRequest request) override; void CreateNetLogExporter(
mojo::PendingReceiver<mojom::NetLogExporter> receiver) override;
void ResolveHost(const net::HostPortPair& host, void ResolveHost(const net::HostPortPair& host,
mojom::ResolveHostParametersPtr optional_parameters, mojom::ResolveHostParametersPtr optional_parameters,
mojom::ResolveHostClientPtr response_client) override; mojom::ResolveHostClientPtr response_client) override;
...@@ -527,7 +529,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext ...@@ -527,7 +529,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
std::unique_ptr<MdnsResponderManager> mdns_responder_manager_; std::unique_ptr<MdnsResponderManager> mdns_responder_manager_;
#endif // BUILDFLAG(ENABLE_MDNS) #endif // BUILDFLAG(ENABLE_MDNS)
mojo::StrongBindingSet<mojom::NetLogExporter> net_log_exporter_bindings_; mojo::UniqueReceiverSet<mojom::NetLogExporter> net_log_exporter_receivers_;
// Ordering: this must be after |cookie_manager_| since it points to its // Ordering: this must be after |cookie_manager_| since it points to its
// CookieSettings object. // CookieSettings object.
......
...@@ -2523,8 +2523,9 @@ TEST_F(NetworkContextTest, CreateNetLogExporter) { ...@@ -2523,8 +2523,9 @@ TEST_F(NetworkContextTest, CreateNetLogExporter) {
std::unique_ptr<NetworkContext> network_context = std::unique_ptr<NetworkContext> network_context =
CreateContextWithParams(CreateContextParams()); CreateContextWithParams(CreateContextParams());
mojom::NetLogExporterPtr net_log_exporter; mojo::Remote<mojom::NetLogExporter> net_log_exporter;
network_context->CreateNetLogExporter(mojo::MakeRequest(&net_log_exporter)); network_context->CreateNetLogExporter(
net_log_exporter.BindNewPipeAndPassReceiver());
base::ScopedTempDir temp_dir; base::ScopedTempDir temp_dir;
ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
...@@ -2573,8 +2574,9 @@ TEST_F(NetworkContextTest, CreateNetLogExporterUnbounded) { ...@@ -2573,8 +2574,9 @@ TEST_F(NetworkContextTest, CreateNetLogExporterUnbounded) {
std::unique_ptr<NetworkContext> network_context = std::unique_ptr<NetworkContext> network_context =
CreateContextWithParams(CreateContextParams()); CreateContextWithParams(CreateContextParams());
mojom::NetLogExporterPtr net_log_exporter; mojo::Remote<mojom::NetLogExporter> net_log_exporter;
network_context->CreateNetLogExporter(mojo::MakeRequest(&net_log_exporter)); network_context->CreateNetLogExporter(
net_log_exporter.BindNewPipeAndPassReceiver());
base::FilePath temp_path; base::FilePath temp_path;
ASSERT_TRUE(base::CreateTemporaryFile(&temp_path)); ASSERT_TRUE(base::CreateTemporaryFile(&temp_path));
...@@ -2610,8 +2612,9 @@ TEST_F(NetworkContextTest, CreateNetLogExporterErrors) { ...@@ -2610,8 +2612,9 @@ TEST_F(NetworkContextTest, CreateNetLogExporterErrors) {
std::unique_ptr<NetworkContext> network_context = std::unique_ptr<NetworkContext> network_context =
CreateContextWithParams(CreateContextParams()); CreateContextWithParams(CreateContextParams());
mojom::NetLogExporterPtr net_log_exporter; mojo::Remote<mojom::NetLogExporter> net_log_exporter;
network_context->CreateNetLogExporter(mojo::MakeRequest(&net_log_exporter)); network_context->CreateNetLogExporter(
net_log_exporter.BindNewPipeAndPassReceiver());
net::TestCompletionCallback stop_callback; net::TestCompletionCallback stop_callback;
net_log_exporter->Stop(base::Value(base::Value::Type::DICTIONARY), net_log_exporter->Stop(base::Value(base::Value::Type::DICTIONARY),
......
...@@ -1049,7 +1049,7 @@ interface NetworkContext { ...@@ -1049,7 +1049,7 @@ interface NetworkContext {
// managed by the same NetworkService. The particular NetworkContext this is // managed by the same NetworkService. The particular NetworkContext this is
// called on will determine which NetworkContext gets its information and // called on will determine which NetworkContext gets its information and
// configuration summary written out at the end of the log. // configuration summary written out at the end of the log.
CreateNetLogExporter(NetLogExporter& exporter); CreateNetLogExporter(pending_receiver<NetLogExporter> receiver);
// Tries to preconnect to |url|. |num_streams| may be used to request more // Tries to preconnect to |url|. |num_streams| may be used to request more
// than one connection be established in parallel. // than one connection be established in parallel.
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "base/component_export.h" #include "base/component_export.h"
#include "base/optional.h" #include "base/optional.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "net/base/address_list.h" #include "net/base/address_list.h"
#include "net/base/ip_endpoint.h" #include "net/base/ip_endpoint.h"
#include "net/traffic_annotation/network_traffic_annotation.h" #include "net/traffic_annotation/network_traffic_annotation.h"
...@@ -155,7 +156,8 @@ class TestNetworkContext : public mojom::NetworkContext { ...@@ -155,7 +156,8 @@ class TestNetworkContext : public mojom::NetworkContext {
void LookUpProxyForURL( void LookUpProxyForURL(
const GURL& url, const GURL& url,
::network::mojom::ProxyLookupClientPtr proxy_lookup_client) override {} ::network::mojom::ProxyLookupClientPtr proxy_lookup_client) override {}
void CreateNetLogExporter(mojom::NetLogExporterRequest exporter) override {} void CreateNetLogExporter(
mojo::PendingReceiver<mojom::NetLogExporter> receiver) override {}
void ResolveHost(const net::HostPortPair& host, void ResolveHost(const net::HostPortPair& host,
mojom::ResolveHostParametersPtr optional_parameters, mojom::ResolveHostParametersPtr optional_parameters,
mojom::ResolveHostClientPtr response_client) override {} mojom::ResolveHostClientPtr response_client) override {}
......
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