Commit f661d578 authored by Miyoung Shin's avatar Miyoung Shin Committed by Commit Bot

Convert PaymentManager to new Mojo types

This CL converts PaymentManager{Ptr, Request} in content and blink
to the new Mojo types.

Bug: 955171, 978694
Change-Id: I09c3019d634a764e1ed7d02cb45a23e550087a4e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1780100Reviewed-by: default avatarRouslan Solomakhin <rouslan@chromium.org>
Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Miyoung Shin <myid.shin@igalia.com>
Cr-Commit-Position: refs/heads/master@{#693124}
parent f96ba9e4
...@@ -220,11 +220,10 @@ PaymentManager* PaymentAppContentUnitTestBase::CreatePaymentManager( ...@@ -220,11 +220,10 @@ PaymentManager* PaymentAppContentUnitTestBase::CreatePaymentManager(
} }
// Create a new payment manager. // Create a new payment manager.
payments::mojom::PaymentManagerPtr manager; mojo::Remote<payments::mojom::PaymentManager> manager;
mojo::InterfaceRequest<payments::mojom::PaymentManager> request = payment_app_context()->CreatePaymentManager(
mojo::MakeRequest(&manager); manager.BindNewPipeAndPassReceiver());
payment_managers_.push_back(std::move(manager)); payment_managers_.push_back(std::move(manager));
payment_app_context()->CreatePaymentManager(std::move(request));
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
// Find a last registered payment manager. // Find a last registered payment manager.
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "base/macros.h" #include "base/macros.h"
#include "base/memory/ref_counted.h" #include "base/memory/ref_counted.h"
#include "content/browser/payments/payment_manager.h" #include "content/browser/payments/payment_manager.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/mojom/payments/payment_app.mojom.h" #include "third_party/blink/public/mojom/payments/payment_app.mojom.h"
#include "url/gurl.h" #include "url/gurl.h"
...@@ -48,7 +49,7 @@ class PaymentAppContentUnitTestBase : public testing::Test { ...@@ -48,7 +49,7 @@ class PaymentAppContentUnitTestBase : public testing::Test {
std::unique_ptr<BrowserTaskEnvironment> task_environment_; std::unique_ptr<BrowserTaskEnvironment> task_environment_;
std::unique_ptr<PaymentAppForWorkerTestHelper> worker_helper_; std::unique_ptr<PaymentAppForWorkerTestHelper> worker_helper_;
std::vector<payments::mojom::PaymentManagerPtr> payment_managers_; std::vector<mojo::Remote<payments::mojom::PaymentManager>> payment_managers_;
DISALLOW_COPY_AND_ASSIGN(PaymentAppContentUnitTestBase); DISALLOW_COPY_AND_ASSIGN(PaymentAppContentUnitTestBase);
}; };
......
...@@ -45,13 +45,13 @@ void PaymentAppContextImpl::Shutdown() { ...@@ -45,13 +45,13 @@ void PaymentAppContextImpl::Shutdown() {
} }
void PaymentAppContextImpl::CreatePaymentManager( void PaymentAppContextImpl::CreatePaymentManager(
payments::mojom::PaymentManagerRequest request) { mojo::PendingReceiver<payments::mojom::PaymentManager> receiver) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
RunOrPostTaskOnThread( RunOrPostTaskOnThread(
FROM_HERE, ServiceWorkerContext::GetCoreThreadId(), FROM_HERE, ServiceWorkerContext::GetCoreThreadId(),
base::BindOnce(&PaymentAppContextImpl::CreatePaymentManagerOnCoreThread, base::BindOnce(&PaymentAppContextImpl::CreatePaymentManagerOnCoreThread,
this, std::move(request))); this, std::move(receiver)));
} }
void PaymentAppContextImpl::PaymentManagerHadConnectionError( void PaymentAppContextImpl::PaymentManagerHadConnectionError(
...@@ -82,10 +82,10 @@ void PaymentAppContextImpl::CreatePaymentAppDatabaseOnCoreThread( ...@@ -82,10 +82,10 @@ void PaymentAppContextImpl::CreatePaymentAppDatabaseOnCoreThread(
} }
void PaymentAppContextImpl::CreatePaymentManagerOnCoreThread( void PaymentAppContextImpl::CreatePaymentManagerOnCoreThread(
mojo::InterfaceRequest<payments::mojom::PaymentManager> request) { mojo::PendingReceiver<payments::mojom::PaymentManager> receiver) {
DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId()); DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
auto payment_manager = auto payment_manager =
std::make_unique<PaymentManager>(this, std::move(request)); std::make_unique<PaymentManager>(this, std::move(receiver));
payment_managers_[payment_manager.get()] = std::move(payment_manager); payment_managers_[payment_manager.get()] = std::move(payment_manager);
} }
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include "content/browser/payments/payment_app_database.h" #include "content/browser/payments/payment_app_database.h"
#include "content/common/content_export.h" #include "content/common/content_export.h"
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "third_party/blink/public/mojom/payments/payment_app.mojom.h" #include "third_party/blink/public/mojom/payments/payment_app.mojom.h"
namespace content { namespace content {
...@@ -61,7 +62,8 @@ class CONTENT_EXPORT PaymentAppContextImpl ...@@ -61,7 +62,8 @@ class CONTENT_EXPORT PaymentAppContextImpl
// Create a PaymentManager that is owned by this. Call on the UI // Create a PaymentManager that is owned by this. Call on the UI
// thread. // thread.
void CreatePaymentManager(payments::mojom::PaymentManagerRequest request); void CreatePaymentManager(
mojo::PendingReceiver<payments::mojom::PaymentManager> receiver);
// Called by PaymentManager objects so that they can // Called by PaymentManager objects so that they can
// be deleted. Call on the core thread. // be deleted. Call on the core thread.
...@@ -81,7 +83,7 @@ class CONTENT_EXPORT PaymentAppContextImpl ...@@ -81,7 +83,7 @@ class CONTENT_EXPORT PaymentAppContextImpl
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context); scoped_refptr<ServiceWorkerContextWrapper> service_worker_context);
void CreatePaymentManagerOnCoreThread( void CreatePaymentManagerOnCoreThread(
mojo::InterfaceRequest<payments::mojom::PaymentManager> request); mojo::PendingReceiver<payments::mojom::PaymentManager> receiver);
void ShutdownOnCoreThread(); void ShutdownOnCoreThread();
......
...@@ -180,12 +180,12 @@ void RendererInterfaceBinders::InitializeParameterizedBinderRegistry() { ...@@ -180,12 +180,12 @@ void RendererInterfaceBinders::InitializeParameterizedBinderRegistry() {
parameterized_binder_registry_.AddInterface( parameterized_binder_registry_.AddInterface(
base::BindRepeating(CreateWebSocketConnector)); base::BindRepeating(CreateWebSocketConnector));
parameterized_binder_registry_.AddInterface( parameterized_binder_registry_.AddInterface(base::Bind(
base::Bind([](payments::mojom::PaymentManagerRequest request, [](mojo::PendingReceiver<payments::mojom::PaymentManager> receiver,
RenderProcessHost* host, const url::Origin& origin) { RenderProcessHost* host, const url::Origin& origin) {
static_cast<StoragePartitionImpl*>(host->GetStoragePartition()) static_cast<StoragePartitionImpl*>(host->GetStoragePartition())
->GetPaymentAppContext() ->GetPaymentAppContext()
->CreatePaymentManager(std::move(request)); ->CreatePaymentManager(std::move(receiver));
})); }));
parameterized_binder_registry_.AddInterface(base::BindRepeating( parameterized_binder_registry_.AddInterface(base::BindRepeating(
[](mojo::PendingReceiver<blink::mojom::CacheStorage> receiver, [](mojo::PendingReceiver<blink::mojom::CacheStorage> receiver,
......
...@@ -139,7 +139,7 @@ class PaymentInstrumentParameter ...@@ -139,7 +139,7 @@ class PaymentInstrumentParameter
}; };
PaymentInstruments::PaymentInstruments( PaymentInstruments::PaymentInstruments(
const payments::mojom::blink::PaymentManagerPtr& manager) const mojo::Remote<payments::mojom::blink::PaymentManager>& manager)
: manager_(manager) {} : manager_(manager) {}
ScriptPromise PaymentInstruments::deleteInstrument( ScriptPromise PaymentInstruments::deleteInstrument(
......
...@@ -27,7 +27,8 @@ class MODULES_EXPORT PaymentInstruments final : public ScriptWrappable { ...@@ -27,7 +27,8 @@ class MODULES_EXPORT PaymentInstruments final : public ScriptWrappable {
DEFINE_WRAPPERTYPEINFO(); DEFINE_WRAPPERTYPEINFO();
public: public:
explicit PaymentInstruments(const payments::mojom::blink::PaymentManagerPtr&); explicit PaymentInstruments(
const mojo::Remote<payments::mojom::blink::PaymentManager>&);
ScriptPromise deleteInstrument(ScriptState*, const String& instrument_key); ScriptPromise deleteInstrument(ScriptState*, const String& instrument_key);
ScriptPromise get(ScriptState*, const String& instrument_key); ScriptPromise get(ScriptState*, const String& instrument_key);
...@@ -61,7 +62,7 @@ class MODULES_EXPORT PaymentInstruments final : public ScriptWrappable { ...@@ -61,7 +62,7 @@ class MODULES_EXPORT PaymentInstruments final : public ScriptWrappable {
void onClearPaymentInstruments(ScriptPromiseResolver*, void onClearPaymentInstruments(ScriptPromiseResolver*,
payments::mojom::blink::PaymentHandlerStatus); payments::mojom::blink::PaymentHandlerStatus);
const payments::mojom::blink::PaymentManagerPtr& manager_; const mojo::Remote<payments::mojom::blink::PaymentManager>& manager_;
mojo::Remote<mojom::blink::PermissionService> permission_service_; mojo::Remote<mojom::blink::PermissionService> permission_service_;
......
...@@ -45,14 +45,13 @@ PaymentManager::PaymentManager(ServiceWorkerRegistration* registration) ...@@ -45,14 +45,13 @@ PaymentManager::PaymentManager(ServiceWorkerRegistration* registration)
DCHECK(registration); DCHECK(registration);
if (ExecutionContext* context = registration->GetExecutionContext()) { if (ExecutionContext* context = registration->GetExecutionContext()) {
auto request = mojo::MakeRequest(
&manager_, context->GetTaskRunner(TaskType::kUserInteraction));
if (auto* interface_provider = context->GetInterfaceProvider()) { if (auto* interface_provider = context->GetInterfaceProvider()) {
interface_provider->GetInterface(std::move(request)); interface_provider->GetInterface(manager_.BindNewPipeAndPassReceiver(
context->GetTaskRunner(TaskType::kUserInteraction)));
} }
} }
manager_.set_connection_error_handler(WTF::Bind( manager_.set_disconnect_handler(WTF::Bind(
&PaymentManager::OnServiceConnectionError, WrapWeakPersistent(this))); &PaymentManager::OnServiceConnectionError, WrapWeakPersistent(this)));
manager_->Init(registration_->GetExecutionContext()->Url(), manager_->Init(registration_->GetExecutionContext()->Url(),
registration_->scope()); registration_->scope());
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#define THIRD_PARTY_BLINK_RENDERER_MODULES_PAYMENTS_PAYMENT_MANAGER_H_ #define THIRD_PARTY_BLINK_RENDERER_MODULES_PAYMENTS_PAYMENT_MANAGER_H_
#include "base/macros.h" #include "base/macros.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "third_party/blink/public/mojom/payments/payment_app.mojom-blink.h" #include "third_party/blink/public/mojom/payments/payment_app.mojom-blink.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise.h" #include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
#include "third_party/blink/renderer/modules/modules_export.h" #include "third_party/blink/renderer/modules/modules_export.h"
...@@ -36,7 +37,7 @@ class MODULES_EXPORT PaymentManager final : public ScriptWrappable { ...@@ -36,7 +37,7 @@ class MODULES_EXPORT PaymentManager final : public ScriptWrappable {
void OnServiceConnectionError(); void OnServiceConnectionError();
Member<ServiceWorkerRegistration> registration_; Member<ServiceWorkerRegistration> registration_;
payments::mojom::blink::PaymentManagerPtr manager_; mojo::Remote<payments::mojom::blink::PaymentManager> manager_;
Member<PaymentInstruments> instruments_; Member<PaymentInstruments> instruments_;
String user_hint_; String user_hint_;
......
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