Miscellaneous fixes for MSVC.

BUG=None
R=viettrungluu@chromium.org

Review URL: https://codereview.chromium.org/976013002
diff --git a/mojo/edk/system/remote_producer_data_pipe_impl.cc b/mojo/edk/system/remote_producer_data_pipe_impl.cc
index 26ef410..7cd2447 100644
--- a/mojo/edk/system/remote_producer_data_pipe_impl.cc
+++ b/mojo/edk/system/remote_producer_data_pipe_impl.cc
@@ -444,7 +444,7 @@
   }
 
   RemoteDataPipeAck ack_data = {};
-  ack_data.num_bytes_consumed = num_bytes;
+  ack_data.num_bytes_consumed = static_cast<uint32_t>(num_bytes);
   scoped_ptr<MessageInTransit> message(
       new MessageInTransit(MessageInTransit::kTypeEndpoint,
                            MessageInTransit::kSubtypeEndpointDataPipeAck,
diff --git a/mojo/public/cpp/bindings/binding.h b/mojo/public/cpp/bindings/binding.h
index 188ac6e..f178431 100644
--- a/mojo/public/cpp/bindings/binding.h
+++ b/mojo/public/cpp/bindings/binding.h
@@ -169,7 +169,9 @@
     InterfaceRequest<Interface> request =
         MakeRequest<Interface>(internal_router_->PassMessagePipe());
     DestroyRouter();
-    return request;
+    // TODO(vtl): The |.Pass()| below is only needed due to an MSVS bug; remove
+    // it once that's fixed.
+    return request.Pass();
   }
 
   // Sets an error handler that will be called if a connection error occurs on