context.cc revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
1// Copyright 2013 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/shell/context.h"
6
7#include "mojo/gles2/gles2_support_impl.h"
8#include "mojo/shell/dynamic_service_loader.h"
9#include "mojo/shell/network_delegate.h"
10#include "mojo/system/embedder/embedder.h"
11
12namespace mojo {
13namespace shell {
14
15Context::Context()
16    : task_runners_(base::MessageLoop::current()->message_loop_proxy()),
17      storage_(),
18      loader_(task_runners_.io_runner(),
19              task_runners_.file_runner(),
20              task_runners_.cache_runner(),
21              scoped_ptr<net::NetworkDelegate>(new NetworkDelegate()),
22              storage_.profile_path()) {
23  embedder::Init();
24  gles2::GLES2SupportImpl::Init();
25  dynamic_service_loader_.reset(new DynamicServiceLoader(this));
26  service_manager_.set_default_loader(dynamic_service_loader_.get());
27}
28
29Context::~Context() {
30  service_manager_.set_default_loader(NULL);
31}
32
33}  // namespace shell
34}  // namespace mojo
35