1ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 2ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// found in the LICENSE file. 4ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 5ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#include "base/basictypes.h" 65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "base/logging.h" 7ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#include "extensions/common/extensions_client.h" 8ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 9ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochnamespace extensions { 10ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 11ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochnamespace { 12ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 13ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben MurdochExtensionsClient* g_client = NULL; 14ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 15ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} // namespace 16ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 17ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben MurdochExtensionsClient* ExtensionsClient::Get() { 185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) DCHECK(g_client); 19ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch return g_client; 20ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} 21ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 22ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochvoid ExtensionsClient::Set(ExtensionsClient* client) { 23ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch // This can happen in unit tests, where the utility thread runs in-process. 24ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch if (g_client) 25ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch return; 26ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch g_client = client; 278bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) g_client->Initialize(); 28ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} 29ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 30ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} // namespace extensions 31