Home | History | Annotate | Download | only in network
      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