Update WeakBindToProxy to support new InterfacePtr interface.

Some legacy code still depends on this.

BUG=
R=yzshen@chromium.org

Review URL: https://codereview.chromium.org/1125593003
diff --git a/mojo/public/cpp/bindings/interface_impl.h b/mojo/public/cpp/bindings/interface_impl.h
index b5191ef..c65f6e3 100644
--- a/mojo/public/cpp/bindings/interface_impl.h
+++ b/mojo/public/cpp/bindings/interface_impl.h
@@ -6,6 +6,7 @@
 #define MOJO_PUBLIC_CPP_BINDINGS_INTERFACE_IMPL_H_
 
 #include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/interface_ptr_info.h"
 #include "mojo/public/cpp/bindings/interface_request.h"
 #include "mojo/public/cpp/environment/environment.h"
 #include "mojo/public/cpp/system/macros.h"
@@ -141,7 +142,7 @@
     InterfacePtr<Interface>* ptr,
     const MojoAsyncWaiter* waiter = Environment::GetDefaultAsyncWaiter()) {
   MessagePipe pipe;
-  ptr->Bind(pipe.handle0.Pass(), waiter);
+  ptr->Bind(InterfacePtrInfo<Interface>(pipe.handle0.Pass(), 0u), waiter);
   instance->BindToHandle(pipe.handle1.Pass(), waiter);
   return instance;
 }