| Index: chrome/browser/extensions/extension_settings_test_util.cc
|
| diff --git a/chrome/browser/extensions/extension_settings_test_util.cc b/chrome/browser/extensions/extension_settings_test_util.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b0ca7cab35b0061e28092c1455293df539cf6a58
|
| --- /dev/null
|
| +++ b/chrome/browser/extensions/extension_settings_test_util.cc
|
| @@ -0,0 +1,84 @@
|
| +// Copyright (c) 2011 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/extension_settings_test_util.h"
|
| +
|
| +#include "base/file_path.h"
|
| +#include "chrome/common/extensions/extension.h"
|
| +
|
| +namespace extension_settings_test_util {
|
| +
|
| +// Intended as a StorageCallback from GetStorage.
|
| +static void AssignStorage(
|
| + ExtensionSettingsStorage** dst, ExtensionSettingsStorage* src) {
|
| + *dst = src;
|
| +}
|
| +
|
| +ExtensionSettingsStorage* GetStorage(
|
| + const std::string& extension_id, ExtensionSettingsFrontend* frontend) {
|
| + ExtensionSettingsStorage* storage = NULL;
|
| + frontend->RunWithStorage(
|
| + extension_id,
|
| + base::Bind(&AssignStorage, &storage));
|
| + MessageLoop::current()->RunAllPending();
|
| + return storage;
|
| +}
|
| +
|
| +MockExtensionService::MockExtensionService() {}
|
| +
|
| +MockExtensionService::~MockExtensionService() {}
|
| +
|
| +const Extension* MockExtensionService::GetExtensionById(
|
| + const std::string& id, bool include_disabled) const {
|
| + std::map<std::string, scoped_refptr<Extension> >::const_iterator
|
| + maybe_extension = extensions_.find(id);
|
| + return maybe_extension == extensions_.end() ?
|
| + NULL : maybe_extension->second.get();
|
| +}
|
| +
|
| +void MockExtensionService::AddExtension(const std::string& id, bool is_app) {
|
| + DictionaryValue manifest;
|
| + manifest.SetString("name", std::string("Test extension ") + id);
|
| + manifest.SetString("version", "1.0");
|
| + if (is_app) {
|
| + DictionaryValue* app = new DictionaryValue();
|
| + DictionaryValue* app_launch = new DictionaryValue();
|
| + app_launch->SetString("local_path", "fake.html");
|
| + app->Set("launch", app_launch);
|
| + manifest.Set("app", app);
|
| + }
|
| +
|
| + std::string error;
|
| + extensions_[id] = Extension::CreateWithId(
|
| + FilePath(),
|
| + Extension::INTERNAL,
|
| + manifest,
|
| + Extension::NO_FLAGS,
|
| + id,
|
| + &error);
|
| + DCHECK(error.empty());
|
| +}
|
| +
|
| +MockProfile::MockProfile(const FilePath& file_path)
|
| + : TestingProfile(file_path) {
|
| + event_router_.reset(new ExtensionEventRouter(this));
|
| +}
|
| +
|
| +MockProfile::~MockProfile() {}
|
| +
|
| +MockExtensionService* MockProfile::GetMockExtensionService() {
|
| + return &extension_service_;
|
| +}
|
| +
|
| +ExtensionService* MockProfile::GetExtensionService() {
|
| + ExtensionServiceInterface* as_interface =
|
| + static_cast<ExtensionServiceInterface*>(&extension_service_);
|
| + return static_cast<ExtensionService*>(as_interface);
|
| +}
|
| +
|
| +ExtensionEventRouter* MockProfile::GetExtensionEventRouter() {
|
| + return event_router_.get();
|
| +}
|
| +
|
| +} // namespace extension_settings_test_util
|
|
|