1 // Copyright (c) 2012 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.
5 #import "chrome/browser/ui/cocoa/extensions/extension_install_prompt_test_utils.h"
7 #include "base/file_util.h"
8 #include "base/files/file_path.h"
9 #include "base/json/json_file_value_serializer.h"
10 #include "base/path_service.h"
11 #include "chrome/common/chrome_paths.h"
12 #include "chrome/common/extensions/extension.h"
14 using extensions::Extension;
18 void MockExtensionInstallPromptDelegate::InstallUIProceed() {
22 void MockExtensionInstallPromptDelegate::InstallUIAbort(bool user_initiated) {
26 scoped_refptr<Extension> LoadInstallPromptExtension() {
27 scoped_refptr<Extension> extension;
30 PathService::Get(chrome::DIR_TEST_DATA, &path);
31 path = path.AppendASCII("extensions")
32 .AppendASCII("install_prompt")
33 .AppendASCII("extension.json");
36 JSONFileValueSerializer serializer(path);
37 scoped_ptr<DictionaryValue> value(static_cast<DictionaryValue*>(
38 serializer.Deserialize(NULL, &error)));
44 extension = Extension::Create(
45 path.DirName(), extensions::Manifest::INVALID_LOCATION, *value,
46 Extension::NO_FLAGS, &error);
53 gfx::Image LoadInstallPromptIcon() {
55 PathService::Get(chrome::DIR_TEST_DATA, &path);
56 path = path.AppendASCII("extensions")
57 .AppendASCII("install_prompt")
58 .AppendASCII("icon.png");
60 std::string file_contents;
61 base::ReadFileToString(path, &file_contents);
63 return gfx::Image::CreateFrom1xPNGBytes(
64 reinterpret_cast<const unsigned char*>(file_contents.c_str()),
65 file_contents.length());
68 ExtensionInstallPrompt::Prompt BuildExtensionInstallPrompt(
69 Extension* extension) {
70 ExtensionInstallPrompt::Prompt prompt(ExtensionInstallPrompt::INSTALL_PROMPT);
71 prompt.set_extension(extension);
72 prompt.set_icon(LoadInstallPromptIcon());
76 ExtensionInstallPrompt::Prompt BuildExtensionPostInstallPermissionsPrompt(
77 Extension* extension) {
78 ExtensionInstallPrompt::Prompt prompt(
79 ExtensionInstallPrompt::POST_INSTALL_PERMISSIONS_PROMPT);
80 prompt.set_extension(extension);
81 prompt.set_icon(LoadInstallPromptIcon());