context.cc revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
11e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
21e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
31e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// found in the LICENSE file.
41e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
51e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "mojo/shell/context.h"
61e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
75d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "mojo/gles2/gles2_support_impl.h"
85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "mojo/shell/dynamic_service_loader.h"
91e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "mojo/shell/network_delegate.h"
105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "mojo/system/embedder/embedder.h"
111e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
121e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)namespace mojo {
131e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)namespace shell {
141e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
151e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)Context::Context()
161e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)    : task_runners_(base::MessageLoop::current()->message_loop_proxy()),
171e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)      storage_(),
181e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)      loader_(task_runners_.io_runner(),
191e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)              task_runners_.file_runner(),
20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)              task_runners_.cache_runner(),
211e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)              scoped_ptr<net::NetworkDelegate>(new NetworkDelegate()),
221e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)              storage_.profile_path()) {
235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  embedder::Init();
245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  gles2::GLES2SupportImpl::Init();
255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  dynamic_service_loader_.reset(new DynamicServiceLoader(this));
265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  service_manager_.set_default_loader(dynamic_service_loader_.get());
271e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}
281e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
291e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)Context::~Context() {
305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  service_manager_.set_default_loader(NULL);
311e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}
321e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
331e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}  // namespace shell
341e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}  // namespace mojo
35