| Index: services/shell/public/cpp/lib/interface_provider.cc
|
| diff --git a/services/shell/public/cpp/lib/interface_provider.cc b/services/shell/public/cpp/lib/interface_provider.cc
|
| index 268c49a46bcf3b03752294258f6a232649f45683..7d7b950d71ab98f1c858003005dc2181246b21dc 100644
|
| --- a/services/shell/public/cpp/lib/interface_provider.cc
|
| +++ b/services/shell/public/cpp/lib/interface_provider.cc
|
| @@ -6,12 +6,15 @@
|
|
|
| namespace shell {
|
|
|
| -InterfaceProvider::InterfaceProvider() : weak_factory_(this) {}
|
| +InterfaceProvider::InterfaceProvider() : weak_factory_(this) {
|
| + pending_request_ = GetProxy(&interface_provider_);
|
| +}
|
| InterfaceProvider::~InterfaceProvider() {}
|
|
|
| void InterfaceProvider::Bind(mojom::InterfaceProviderPtr interface_provider) {
|
| - DCHECK(!interface_provider_.is_bound());
|
| - interface_provider_ = std::move(interface_provider);
|
| + DCHECK(pending_request_.is_pending());
|
| + mojo::FuseInterface(std::move(pending_request_),
|
| + interface_provider.PassInterface());
|
| }
|
|
|
| void InterfaceProvider::SetConnectionLostClosure(
|
|
|