diff options
Diffstat (limited to 'chromium/chrome/browser/printing/pdf_to_emf_converter.cc')
-rw-r--r-- | chromium/chrome/browser/printing/pdf_to_emf_converter.cc | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/chromium/chrome/browser/printing/pdf_to_emf_converter.cc b/chromium/chrome/browser/printing/pdf_to_emf_converter.cc index 962a023b0da..3a9141aaebe 100644 --- a/chromium/chrome/browser/printing/pdf_to_emf_converter.cc +++ b/chromium/chrome/browser/printing/pdf_to_emf_converter.cc @@ -28,7 +28,10 @@ #include "chrome/services/printing/public/mojom/pdf_to_emf_converter.mojom.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/child_process_data.h" -#include "mojo/public/cpp/bindings/binding.h" +#include "mojo/public/cpp/bindings/pending_receiver.h" +#include "mojo/public/cpp/bindings/pending_remote.h" +#include "mojo/public/cpp/bindings/receiver.h" +#include "mojo/public/cpp/bindings/remote.h" #include "printing/emf_win.h" #include "printing/pdf_render_settings.h" @@ -41,8 +44,8 @@ namespace { class PdfToEmfConverterClientImpl : public mojom::PdfToEmfConverterClient { public: explicit PdfToEmfConverterClientImpl( - mojom::PdfToEmfConverterClientRequest request) - : binding_(this, std::move(request)) {} + mojo::PendingReceiver<mojom::PdfToEmfConverterClient> receiver) + : receiver_(this, std::move(receiver)) {} private: // mojom::PdfToEmfConverterClient implementation. @@ -84,7 +87,7 @@ class PdfToEmfConverterClientImpl : public mojom::PdfToEmfConverterClient { std::move(callback).Run(); } - mojo::Binding<mojom::PdfToEmfConverterClient> binding_; + mojo::Receiver<mojom::PdfToEmfConverterClient> receiver_; }; // Emf subclass that knows how to play back PostScript data embedded as EMF @@ -164,7 +167,8 @@ class PdfConverterImpl : public PdfConverter { std::unique_ptr<MetafilePlayer> GetMetaFileFromMapping( base::ReadOnlySharedMemoryMapping mapping); - void OnPageCount(mojom::PdfToEmfConverterPtr converter, uint32_t page_count); + void OnPageCount(mojo::PendingRemote<mojom::PdfToEmfConverter> converter, + uint32_t page_count); void OnPageDone(base::ReadOnlySharedMemoryRegion emf_region, float scale_factor); @@ -191,9 +195,9 @@ class PdfConverterImpl : public PdfConverter { std::unique_ptr<PdfToEmfConverterClientImpl> pdf_to_emf_converter_client_impl_; - mojom::PdfToEmfConverterPtr pdf_to_emf_converter_; + mojo::Remote<mojom::PdfToEmfConverter> pdf_to_emf_converter_; - mojom::PdfToEmfConverterFactoryPtr pdf_to_emf_converter_factory_; + mojo::Remote<mojom::PdfToEmfConverterFactory> pdf_to_emf_converter_factory_; base::WeakPtrFactory<PdfConverterImpl> weak_ptr_factory_{this}; @@ -269,29 +273,31 @@ void PdfConverterImpl::Initialize(scoped_refptr<base::RefCountedMemory> data) { memcpy(memory.mapping.memory(), data->front(), data->size()); GetPrintingService()->BindPdfToEmfConverterFactory( - mojo::MakeRequest(&pdf_to_emf_converter_factory_)); - pdf_to_emf_converter_factory_.set_connection_error_handler(base::BindOnce( + pdf_to_emf_converter_factory_.BindNewPipeAndPassReceiver()); + pdf_to_emf_converter_factory_.set_disconnect_handler(base::BindOnce( &PdfConverterImpl::OnFailed, weak_ptr_factory_.GetWeakPtr(), std::string("Connection to PdfToEmfConverterFactory error."))); - mojom::PdfToEmfConverterClientPtr pdf_to_emf_converter_client_ptr; + mojo::PendingRemote<mojom::PdfToEmfConverterClient> + pdf_to_emf_converter_client_remote; pdf_to_emf_converter_client_impl_ = std::make_unique<PdfToEmfConverterClientImpl>( - mojo::MakeRequest(&pdf_to_emf_converter_client_ptr)); + pdf_to_emf_converter_client_remote.InitWithNewPipeAndPassReceiver()); pdf_to_emf_converter_factory_->CreateConverter( std::move(memory.region), settings_, - std::move(pdf_to_emf_converter_client_ptr), + std::move(pdf_to_emf_converter_client_remote), base::BindOnce(&PdfConverterImpl::OnPageCount, weak_ptr_factory_.GetWeakPtr())); } -void PdfConverterImpl::OnPageCount(mojom::PdfToEmfConverterPtr converter, - uint32_t page_count) { +void PdfConverterImpl::OnPageCount( + mojo::PendingRemote<mojom::PdfToEmfConverter> converter, + uint32_t page_count) { DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK(!pdf_to_emf_converter_.is_bound()); - pdf_to_emf_converter_ = std::move(converter); - pdf_to_emf_converter_.set_connection_error_handler(base::BindOnce( + pdf_to_emf_converter_.Bind(std::move(converter)); + pdf_to_emf_converter_.set_disconnect_handler(base::BindOnce( &PdfConverterImpl::OnFailed, weak_ptr_factory_.GetWeakPtr(), std::string("Connection to PdfToEmfConverter error."))); std::move(start_callback_).Run(page_count); |