diff options
Diffstat (limited to 'chromium/chrome/browser/printing/cloud_print')
10 files changed, 42 insertions, 34 deletions
diff --git a/chromium/chrome/browser/printing/cloud_print/cloud_print_proxy_service.cc b/chromium/chrome/browser/printing/cloud_print/cloud_print_proxy_service.cc index 36a6b566782..f182c0a50a2 100644 --- a/chromium/chrome/browser/printing/cloud_print/cloud_print_proxy_service.cc +++ b/chromium/chrome/browser/printing/cloud_print/cloud_print_proxy_service.cc @@ -231,9 +231,10 @@ ServiceProcessControl* CloudPrintProxyService::GetServiceProcessControl() { } cloud_print::mojom::CloudPrint& CloudPrintProxyService::GetCloudPrintProxy() { - if (!cloud_print_proxy_ || cloud_print_proxy_.encountered_error()) { + if (!cloud_print_proxy_ || !cloud_print_proxy_.is_connected()) { + cloud_print_proxy_.reset(); GetServiceProcessControl()->remote_interfaces().GetInterface( - &cloud_print_proxy_); + cloud_print_proxy_.BindNewPipeAndPassReceiver()); } return *cloud_print_proxy_; } diff --git a/chromium/chrome/browser/printing/cloud_print/cloud_print_proxy_service.h b/chromium/chrome/browser/printing/cloud_print/cloud_print_proxy_service.h index 32cf5b39a99..bff6a94dd84 100644 --- a/chromium/chrome/browser/printing/cloud_print/cloud_print_proxy_service.h +++ b/chromium/chrome/browser/printing/cloud_print/cloud_print_proxy_service.h @@ -17,6 +17,7 @@ #include "chrome/common/cloud_print.mojom.h" #include "components/keyed_service/core/keyed_service.h" #include "components/prefs/pref_change_registrar.h" +#include "mojo/public/cpp/bindings/remote.h" #include "printing/buildflags/buildflags.h" #if !BUILDFLAG(ENABLE_PRINT_PREVIEW) || defined(OS_CHROMEOS) @@ -98,7 +99,7 @@ class CloudPrintProxyService : public KeyedService { // For watching for connector policy changes. PrefChangeRegistrar pref_change_registrar_; - cloud_print::mojom::CloudPrintPtr cloud_print_proxy_; + mojo::Remote<cloud_print::mojom::CloudPrint> cloud_print_proxy_; base::WeakPtrFactory<CloudPrintProxyService> weak_factory_{this}; diff --git a/chromium/chrome/browser/printing/cloud_print/cloud_print_proxy_service_unittest.cc b/chromium/chrome/browser/printing/cloud_print/cloud_print_proxy_service_unittest.cc index dd0565c9fcc..73636317041 100644 --- a/chromium/chrome/browser/printing/cloud_print/cloud_print_proxy_service_unittest.cc +++ b/chromium/chrome/browser/printing/cloud_print/cloud_print_proxy_service_unittest.cc @@ -8,6 +8,7 @@ #include <memory> #include <string> +#include <utility> #include "base/bind.h" #include "base/command_line.h" @@ -29,7 +30,8 @@ #include "components/sync_preferences/testing_pref_service_syncable.h" #include "content/public/browser/browser_thread.h" #include "content/public/test/browser_task_environment.h" -#include "mojo/public/cpp/bindings/binding_set.h" +#include "mojo/public/cpp/bindings/pending_receiver.h" +#include "mojo/public/cpp/bindings/receiver_set.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" @@ -92,8 +94,9 @@ void MockServiceProcessControl::SetConnectSuccessMockExpectations() { class MockCloudPrintProxy : public cloud_print::mojom::CloudPrint { public: - void AddBinding(cloud_print::mojom::CloudPrintRequest request) { - bindings_.AddBinding(this, std::move(request)); + void AddReceiver( + mojo::PendingReceiver<cloud_print::mojom::CloudPrint> receiver) { + receivers_.Add(this, std::move(receiver)); } void ReturnDisabledInfo() { @@ -109,11 +112,11 @@ class MockCloudPrintProxy : public cloud_print::mojom::CloudPrint { } bool has_been_enabled() { - bindings_.FlushForTesting(); + receivers_.FlushForTesting(); return enabled_; } bool has_been_disabled() { - bindings_.FlushForTesting(); + receivers_.FlushForTesting(); return disabled_; } @@ -134,7 +137,7 @@ class MockCloudPrintProxy : public cloud_print::mojom::CloudPrint { enabled_ = true; } - mojo::BindingSet<cloud_print::mojom::CloudPrint> bindings_; + mojo::ReceiverSet<cloud_print::mojom::CloudPrint> receivers_; bool cloud_proxy_info_expectation_set_ = false; cloud_print::CloudPrintProxyInfo cloud_proxy_info_; @@ -193,8 +196,9 @@ class TestCloudPrintProxyService : public CloudPrintProxyService { private: void HandleCloudPrintProxyRequest(mojo::ScopedMessagePipeHandle handle) { - mock_proxy_.AddBinding( - cloud_print::mojom::CloudPrintRequest(std::move(handle))); + mock_proxy_.AddReceiver( + mojo::PendingReceiver<cloud_print::mojom::CloudPrint>( + std::move(handle))); } MockServiceProcessControl process_control_; diff --git a/chromium/chrome/browser/printing/cloud_print/gcd_api_flow_impl.cc b/chromium/chrome/browser/printing/cloud_print/gcd_api_flow_impl.cc index a790a424c0f..55fc976539c 100644 --- a/chromium/chrome/browser/printing/cloud_print/gcd_api_flow_impl.cc +++ b/chromium/chrome/browser/printing/cloud_print/gcd_api_flow_impl.cc @@ -28,6 +28,7 @@ #include "services/network/public/cpp/resource_request.h" #include "services/network/public/cpp/shared_url_loader_factory.h" #include "services/network/public/cpp/simple_url_loader.h" +#include "services/network/public/mojom/url_response_head.mojom.h" using net::DefineNetworkTrafficAnnotation; @@ -146,7 +147,7 @@ void GCDApiFlowImpl::OnAccessTokenFetchComplete( void GCDApiFlowImpl::OnDownloadedToString( std::unique_ptr<std::string> response_body) { - const network::ResourceResponseHead* response_info = + const network::mojom::URLResponseHead* response_info = url_loader_->ResponseInfo(); if (url_loader_->NetError() != net::OK || !response_info) { diff --git a/chromium/chrome/browser/printing/cloud_print/privet_http_unittest.cc b/chromium/chrome/browser/printing/cloud_print/privet_http_unittest.cc index 84fb22c6872..b15d7c30566 100644 --- a/chromium/chrome/browser/printing/cloud_print/privet_http_unittest.cc +++ b/chromium/chrome/browser/printing/cloud_print/privet_http_unittest.cc @@ -323,7 +323,7 @@ class PrivetHTTPTest : public TestWithParam<const char*> { net::HttpStatusCode http_status = net::HTTP_OK) { return test_url_loader_factory_.SimulateResponseForPendingRequest( request_url, network::URLLoaderCompletionStatus(net::OK), - network::CreateResourceResponseHead(http_status), content); + network::CreateURLResponseHead(http_status), content); } std::string GetUploadDataAsNormalizedJSON(const GURL& url) { diff --git a/chromium/chrome/browser/printing/cloud_print/privet_notifications_unittest.cc b/chromium/chrome/browser/printing/cloud_print/privet_notifications_unittest.cc index 3293ddc528b..d73190d598a 100644 --- a/chromium/chrome/browser/printing/cloud_print/privet_notifications_unittest.cc +++ b/chromium/chrome/browser/printing/cloud_print/privet_notifications_unittest.cc @@ -104,7 +104,7 @@ class PrivetNotificationsListenerTest : public testing::Test { bool SuccessfulResponseToInfo(const std::string& response) { return test_url_loader_factory_.SimulateResponseForPendingRequest( GURL(kDeviceInfoURL), network::URLLoaderCompletionStatus(net::OK), - network::CreateResourceResponseHead(net::HTTP_OK), response); + network::CreateURLResponseHead(net::HTTP_OK), response); } protected: @@ -168,7 +168,7 @@ TEST_F(PrivetNotificationsListenerTest, HTTPErrorTest) { notification_listener_->DeviceChanged(kExampleDeviceName, description_); EXPECT_TRUE(test_url_loader_factory_.SimulateResponseForPendingRequest( GURL(kDeviceInfoURL), network::URLLoaderCompletionStatus(net::OK), - network::CreateResourceResponseHead(net::HTTP_NOT_FOUND), + network::CreateURLResponseHead(net::HTTP_NOT_FOUND), /*content=*/"")); } diff --git a/chromium/chrome/browser/printing/cloud_print/privet_traffic_detector.cc b/chromium/chrome/browser/printing/cloud_print/privet_traffic_detector.cc index f9070dffd50..79a7799b6c9 100644 --- a/chromium/chrome/browser/printing/cloud_print/privet_traffic_detector.cc +++ b/chromium/chrome/browser/printing/cloud_print/privet_traffic_detector.cc @@ -17,6 +17,8 @@ #include "content/public/browser/browser_thread.h" #include "content/public/browser/network_service_instance.h" #include "content/public/browser/storage_partition.h" +#include "mojo/public/cpp/bindings/pending_receiver.h" +#include "mojo/public/cpp/bindings/pending_remote.h" #include "net/base/address_family.h" #include "net/base/ip_address.h" #include "net/base/network_interfaces.h" @@ -63,13 +65,14 @@ void GetNetworkListOnUIThread( void CreateUDPSocketOnUIThread( content::BrowserContext* profile, - network::mojom::UDPSocketRequest request, - network::mojom::UDPSocketListenerPtr listener_ptr) { + mojo::PendingReceiver<network::mojom::UDPSocket> receiver, + mojo::PendingRemote<network::mojom::UDPSocketListener> listener_remote) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); network::mojom::NetworkContext* network_context = content::BrowserContext::GetDefaultStoragePartition(profile) ->GetNetworkContext(); - network_context->CreateUDPSocket(std::move(request), std::move(listener_ptr)); + network_context->CreateUDPSocket(std::move(receiver), + std::move(listener_remote)); } } // namespace @@ -108,8 +111,7 @@ PrivetTrafficDetector::Helper::Helper( base::RepeatingClosure on_traffic_detected) : profile_(profile), on_traffic_detected_(on_traffic_detected), - restart_attempts_(kMaxRestartAttempts), - listener_binding_(this) { + restart_attempts_(kMaxRestartAttempts) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); } @@ -148,14 +150,10 @@ void PrivetTrafficDetector::Helper::Restart( void PrivetTrafficDetector::Helper::Bind() { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); - network::mojom::UDPSocketListenerPtr listener_ptr; - network::mojom::UDPSocketListenerRequest listener_request = - mojo::MakeRequest(&listener_ptr); - listener_binding_.Bind(std::move(listener_request)); - base::PostTask( - FROM_HERE, {content::BrowserThread::UI}, - base::BindOnce(&CreateUDPSocketOnUIThread, profile_, - mojo::MakeRequest(&socket_), std::move(listener_ptr))); + base::PostTask(FROM_HERE, {content::BrowserThread::UI}, + base::BindOnce(&CreateUDPSocketOnUIThread, profile_, + socket_.BindNewPipeAndPassReceiver(), + listener_receiver_.BindNewPipeAndPassRemote())); network::mojom::UDPSocketOptionsPtr socket_options = network::mojom::UDPSocketOptions::New(); @@ -238,7 +236,7 @@ void PrivetTrafficDetector::Helper::OnJoinGroupComplete(int rv) { void PrivetTrafficDetector::Helper::ResetConnection() { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); socket_.reset(); - listener_binding_.Close(); + listener_receiver_.reset(); } void PrivetTrafficDetector::Helper::OnReceived( diff --git a/chromium/chrome/browser/printing/cloud_print/privet_traffic_detector.h b/chromium/chrome/browser/printing/cloud_print/privet_traffic_detector.h index 52df267f286..65c613fb7c4 100644 --- a/chromium/chrome/browser/printing/cloud_print/privet_traffic_detector.h +++ b/chromium/chrome/browser/printing/cloud_print/privet_traffic_detector.h @@ -9,7 +9,8 @@ #include "base/callback.h" #include "base/macros.h" -#include "mojo/public/cpp/bindings/binding.h" +#include "mojo/public/cpp/bindings/receiver.h" +#include "mojo/public/cpp/bindings/remote.h" #include "net/base/ip_endpoint.h" #include "net/base/network_interfaces.h" #include "services/network/public/cpp/network_connection_tracker.h" @@ -79,11 +80,11 @@ class PrivetTrafficDetector // Only accessed on the IO thread. net::NetworkInterfaceList networks_; net::IPEndPoint recv_addr_; - network::mojom::UDPSocketPtr socket_; + mojo::Remote<network::mojom::UDPSocket> socket_; // Implementation of socket listener callback. // Initialized on the UI thread, but only accessed on the IO thread. - mojo::Binding<network::mojom::UDPSocketListener> listener_binding_; + mojo::Receiver<network::mojom::UDPSocketListener> listener_receiver_{this}; base::WeakPtrFactory<Helper> weak_ptr_factory_{this}; diff --git a/chromium/chrome/browser/printing/cloud_print/privet_url_loader.cc b/chromium/chrome/browser/printing/cloud_print/privet_url_loader.cc index 7f82e017dfb..81207239a71 100644 --- a/chromium/chrome/browser/printing/cloud_print/privet_url_loader.cc +++ b/chromium/chrome/browser/printing/cloud_print/privet_url_loader.cc @@ -27,6 +27,7 @@ #include "net/base/load_flags.h" #include "net/http/http_status_code.h" #include "services/network/public/cpp/shared_url_loader_factory.h" +#include "services/network/public/mojom/url_response_head.mojom.h" namespace cloud_print { @@ -220,7 +221,7 @@ void PrivetURLLoader::SetUploadData(const std::string& upload_content_type, void PrivetURLLoader::OnResponseStarted( const GURL& final_url, - const network::ResourceResponseHead& response_head) { + const network::mojom::URLResponseHead& response_head) { if (!response_head.headers || response_head.headers->response_code() == net::HTTP_SERVICE_UNAVAILABLE) { url_loader_.reset(); diff --git a/chromium/chrome/browser/printing/cloud_print/privet_url_loader.h b/chromium/chrome/browser/printing/cloud_print/privet_url_loader.h index 537cd503da8..93fcb3a22e7 100644 --- a/chromium/chrome/browser/printing/cloud_print/privet_url_loader.h +++ b/chromium/chrome/browser/printing/cloud_print/privet_url_loader.h @@ -17,6 +17,7 @@ #include "base/values.h" #include "net/traffic_annotation/network_traffic_annotation.h" #include "services/network/public/cpp/simple_url_loader.h" +#include "services/network/public/mojom/url_response_head.mojom-forward.h" #include "url/gurl.h" namespace network { @@ -115,7 +116,7 @@ class PrivetURLLoader { void RequestTokenRefresh(); void RefreshToken(const std::string& token); void OnResponseStarted(const GURL& final_url, - const network::ResourceResponseHead& response_head); + const network::mojom::URLResponseHead& response_head); void OnDownloadedToString(std::unique_ptr<std::string> response_body); void OnDownloadedToFile(base::FilePath path); bool CheckURLLoaderForError(); |