| Index: chrome/browser/extensions/test_extension_system.cc
|
| diff --git a/chrome/browser/extensions/test_extension_system.cc b/chrome/browser/extensions/test_extension_system.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..07e75229a4a5bd7f05db666fec8a93d4779b283b
|
| --- /dev/null
|
| +++ b/chrome/browser/extensions/test_extension_system.cc
|
| @@ -0,0 +1,103 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/browser/extensions/test_extension_system.h"
|
| +
|
| +#include "chrome/browser/extensions/extension_devtools_manager.h"
|
| +#include "chrome/browser/extensions/extension_event_router.h"
|
| +#include "chrome/browser/extensions/extension_info_map.h"
|
| +#include "chrome/browser/extensions/extension_message_service.h"
|
| +#include "chrome/browser/extensions/extension_pref_value_map.h"
|
| +#include "chrome/browser/extensions/extension_process_manager.h"
|
| +#include "chrome/browser/extensions/extension_service.h"
|
| +#include "chrome/browser/extensions/extension_system.h"
|
| +#include "chrome/browser/extensions/user_script_master.h"
|
| +#include "chrome/browser/profiles/profile.h"
|
| +#include "chrome/common/chrome_switches.h"
|
| +
|
| +
|
| +TestExtensionSystem::TestExtensionSystem(Profile* profile)
|
| + : profile_(profile) {
|
| +}
|
| +
|
| +TestExtensionSystem::~TestExtensionSystem() {
|
| +}
|
| +
|
| +void TestExtensionSystem::Shutdown() {
|
| + extension_process_manager_.reset();
|
| +}
|
| +
|
| +void TestExtensionSystem::CreateExtensionProcessManager() {
|
| + extension_process_manager_.reset(ExtensionProcessManager::Create(profile_));
|
| +}
|
| +
|
| +ExtensionService* TestExtensionSystem::CreateExtensionService(
|
| + const CommandLine* command_line,
|
| + const FilePath& install_directory,
|
| + bool autoupdate_enabled) {
|
| + // Extension pref store, created for use by |extension_prefs_|.
|
| + extension_pref_value_map_.reset(new ExtensionPrefValueMap);
|
| +
|
| + bool extensions_disabled =
|
| + command_line && command_line->HasSwitch(switches::kDisableExtensions);
|
| +
|
| + // Note that the GetPrefs() creates a TestingPrefService, therefore
|
| + // the extension controlled pref values set in extension_prefs_
|
| + // are not reflected in the pref service. One would need to
|
| + // inject a new ExtensionPrefStore(extension_pref_value_map_.get(), false).
|
| +
|
| + extension_prefs_.reset(
|
| + new ExtensionPrefs(profile_->GetPrefs(),
|
| + install_directory,
|
| + extension_pref_value_map_.get()));
|
| + extension_prefs_->Init(extensions_disabled);
|
| + extension_service_.reset(new ExtensionService(profile_,
|
| + command_line,
|
| + install_directory,
|
| + extension_prefs_.get(),
|
| + autoupdate_enabled,
|
| + true));
|
| + return extension_service_.get();
|
| +}
|
| +
|
| +ExtensionService* TestExtensionSystem::extension_service() {
|
| + return extension_service_.get();
|
| +}
|
| +
|
| +void TestExtensionSystem::SetExtensionService(ExtensionService* service) {
|
| + extension_service_.reset(service);
|
| +}
|
| +
|
| +UserScriptMaster* TestExtensionSystem::user_script_master() {
|
| + return NULL;
|
| +}
|
| +
|
| +ExtensionDevToolsManager* TestExtensionSystem::devtools_manager() {
|
| + return NULL;
|
| +}
|
| +
|
| +ExtensionProcessManager* TestExtensionSystem::process_manager() {
|
| + return extension_process_manager_.get();
|
| +}
|
| +
|
| +ExtensionInfoMap* TestExtensionSystem::info_map() {
|
| + return NULL;
|
| +}
|
| +
|
| +LazyBackgroundTaskQueue* TestExtensionSystem::lazy_background_task_queue() {
|
| + return NULL;
|
| +}
|
| +
|
| +ExtensionMessageService* TestExtensionSystem::message_service() {
|
| + return NULL;
|
| +}
|
| +
|
| +ExtensionEventRouter* TestExtensionSystem::event_router() {
|
| + return NULL;
|
| +}
|
| +
|
| +// static
|
| +ProfileKeyedService* TestExtensionSystem::Build(Profile* profile) {
|
| + return new TestExtensionSystem(profile);
|
| +}
|
|
|