1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "mojo/services/network/network_service_impl.h" 6 7 #include "mojo/public/cpp/application/application_connection.h" 8 #include "mojo/services/network/cookie_store_impl.h" 9 #include "mojo/services/network/url_loader_impl.h" 10 #include "mojo/services/network/web_socket_impl.h" 11 12 namespace mojo { 13 14 NetworkServiceImpl::NetworkServiceImpl(ApplicationConnection* connection, 15 NetworkContext* context) 16 : context_(context), 17 origin_(GURL(connection->GetRemoteApplicationURL()).GetOrigin()) { 18 } 19 20 NetworkServiceImpl::~NetworkServiceImpl() { 21 } 22 23 void NetworkServiceImpl::CreateURLLoader(InterfaceRequest<URLLoader> loader) { 24 // TODO(darin): Plumb origin_. Use for CORS. 25 BindToRequest(new URLLoaderImpl(context_), &loader); 26 } 27 28 void NetworkServiceImpl::GetCookieStore(InterfaceRequest<CookieStore> store) { 29 BindToRequest(new CookieStoreImpl(context_, origin_), &store); 30 } 31 32 void NetworkServiceImpl::CreateWebSocket(InterfaceRequest<WebSocket> socket) { 33 BindToRequest(new WebSocketImpl(context_), &socket); 34 } 35 36 } // namespace mojo 37