| Index: mojo/application/public/cpp/lib/application_impl.cc
|
| diff --git a/mojo/application/public/cpp/lib/application_impl.cc b/mojo/application/public/cpp/lib/application_impl.cc
|
| index 6d2fb46b4c652ae41c33392a52908568d9abcded..3f98a15caf093c9b1b3dafbea42ee90116330462 100644
|
| --- a/mojo/application/public/cpp/lib/application_impl.cc
|
| +++ b/mojo/application/public/cpp/lib/application_impl.cc
|
| @@ -10,6 +10,7 @@
|
| #include "base/message_loop/message_loop.h"
|
| #include "mojo/application/public/cpp/application_delegate.h"
|
| #include "mojo/application/public/cpp/lib/service_registry.h"
|
| +#include "mojo/converters/network/network_type_converters.h"
|
| #include "mojo/public/cpp/bindings/interface_ptr.h"
|
| #include "mojo/public/cpp/environment/logging.h"
|
|
|
| @@ -25,6 +26,12 @@ void DefaultTerminationClosure() {
|
|
|
| } // namespace
|
|
|
| +ApplicationImpl::ConnectParams::ConnectParams(const std::string& url)
|
| + : request_(URLRequest::From(url)) {}
|
| +ApplicationImpl::ConnectParams::ConnectParams(URLRequestPtr request)
|
| + : request_(request.Pass()) {}
|
| +ApplicationImpl::ConnectParams::~ConnectParams() {}
|
| +
|
| ApplicationImpl::ApplicationImpl(ApplicationDelegate* delegate,
|
| InterfaceRequest<Application> request)
|
| : ApplicationImpl(delegate, request.Pass(),
|
| @@ -47,22 +54,16 @@ ApplicationImpl::~ApplicationImpl() {
|
|
|
| scoped_ptr<ApplicationConnection> ApplicationImpl::ConnectToApplication(
|
| const std::string& url) {
|
| - mojo::URLRequestPtr request(mojo::URLRequest::New());
|
| - request->url = url;
|
| - return ConnectToApplication(request.Pass());
|
| -}
|
| -
|
| -scoped_ptr<ApplicationConnection> ApplicationImpl::ConnectToApplication(
|
| - URLRequestPtr request) {
|
| - return ConnectToApplicationWithCapabilityFilter(request.Pass(), nullptr);
|
| + ConnectParams params(url);
|
| + return ConnectToApplication(¶ms);
|
| }
|
|
|
| scoped_ptr<ApplicationConnection>
|
| - ApplicationImpl::ConnectToApplicationWithCapabilityFilter(
|
| - URLRequestPtr request,
|
| - CapabilityFilterPtr filter) {
|
| + ApplicationImpl::ConnectToApplication(ConnectParams* params) {
|
| if (!shell_)
|
| return nullptr;
|
| + DCHECK(params);
|
| + URLRequestPtr request = params->TakeRequest();
|
| ServiceProviderPtr local_services;
|
| InterfaceRequest<ServiceProvider> local_request = GetProxy(&local_services);
|
| ServiceProviderPtr remote_services;
|
| @@ -79,7 +80,8 @@ scoped_ptr<ApplicationConnection>
|
| application_url, application_url, remote_services.Pass(),
|
| local_request.Pass(), allowed));
|
| shell_->ConnectToApplication(request.Pass(), remote_services_proxy.Pass(),
|
| - local_services.Pass(), filter.Pass(),
|
| + local_services.Pass(),
|
| + params->TakeFilter().Pass(),
|
| registry->GetConnectToApplicationCallback());
|
| if (!delegate_->ConfigureOutgoingConnection(registry.get()))
|
| return nullptr;
|
|
|