146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// found in the LICENSE file. 446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "mojo/services/network/network_service_impl.h" 646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "mojo/public/cpp/application/application_connection.h" 85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "mojo/services/network/cookie_store_impl.h" 946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "mojo/services/network/url_loader_impl.h" 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "mojo/services/network/web_socket_impl.h" 1146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 1246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)namespace mojo { 1346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 14116680a4aac90f2aa7413d9095a592090648e557Ben MurdochNetworkServiceImpl::NetworkServiceImpl(ApplicationConnection* connection, 15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch NetworkContext* context) 165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) : context_(context), 175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) origin_(GURL(connection->GetRemoteApplicationURL()).GetOrigin()) { 1846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} 1946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 2046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)NetworkServiceImpl::~NetworkServiceImpl() { 2146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} 2246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 23116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid NetworkServiceImpl::CreateURLLoader(InterfaceRequest<URLLoader> loader) { 245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // TODO(darin): Plumb origin_. Use for CORS. 2546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) BindToRequest(new URLLoaderImpl(context_), &loader); 2646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} 2746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void NetworkServiceImpl::GetCookieStore(InterfaceRequest<CookieStore> store) { 295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) BindToRequest(new CookieStoreImpl(context_, origin_), &store); 305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid NetworkServiceImpl::CreateWebSocket(InterfaceRequest<WebSocket> socket) { 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci BindToRequest(new WebSocketImpl(context_), &socket); 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 3646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} // namespace mojo 37