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/public/utility/environment.h" 6 7#include "mojo/public/utility/bindings_support_impl.h" 8#include "mojo/public/utility/run_loop.h" 9 10namespace mojo { 11namespace utility { 12 13Environment::Environment() : bindings_support_(NULL) { 14 RunLoop::SetUp(); 15 16 internal::BindingsSupportImpl::SetUp(); 17 bindings_support_ = new internal::BindingsSupportImpl; 18 BindingsSupport::Set(bindings_support_); 19} 20 21Environment::~Environment() { 22 // Allow for someone to have replaced BindingsSupport. 23 if (BindingsSupport::Get() == bindings_support_) 24 BindingsSupport::Set(NULL); 25 delete bindings_support_; 26 internal::BindingsSupportImpl::TearDown(); 27 28 RunLoop::TearDown(); 29} 30 31} // namespace utility 32} // namespace mojo 33