Index: mojo/public/cpp/bindings/lib/interface_ptr_state.h |
diff --git a/mojo/public/cpp/bindings/lib/interface_ptr_state.h b/mojo/public/cpp/bindings/lib/interface_ptr_state.h |
index 584933ebc91b417c96c1cbdaf3e532819f8067ca..215e9001e6e224037bf82abcc98fbc4378c4e538 100644 |
--- a/mojo/public/cpp/bindings/lib/interface_ptr_state.h |
+++ b/mojo/public/cpp/bindings/lib/interface_ptr_state.h |
@@ -93,13 +93,8 @@ class InterfacePtrState<Interface, false> { |
swap(other->version_, version_); |
} |
- void Bind(InterfacePtrInfo<Interface> info, |
- scoped_refptr<base::SingleThreadTaskRunner> runner) { |
- DCHECK(!proxy_); |
- DCHECK(!router_); |
- DCHECK(!handle_.is_valid()); |
- DCHECK_EQ(0u, version_); |
- DCHECK(info.is_valid()); |
+ bool WaitForIncomingResponse() override { |
+ ConfigureProxyIfNecessary(); |
handle_ = info.PassHandle(); |
version_ = info.version(); |
@@ -258,6 +253,13 @@ class InterfacePtrState<Interface, true> { |
return router_ ? router_->HasAssociatedEndpoints() : false; |
} |
+ bool WaitForIncomingResponse() { |
+ ConfigureProxyIfNecessary(); |
+ |
+ DCHECK(router_); |
+ return router_->WaitForIncomingMessage(MOJO_DEADLINE_INDEFINITE); |
+ } |
+ |
// After this method is called, the object is in an invalid state and |
// shouldn't be reused. |
InterfacePtrInfo<Interface> PassInterface() { |