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. 4 5#ifndef CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_INSTALL_PROMPT_TEST_UTILS_H_ 6#define CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_INSTALL_PROMPT_TEST_UTILS_H_ 7 8#include "base/memory/ref_counted.h" 9#include "chrome/browser/extensions/extension_install_prompt.h" 10 11namespace chrome { 12 13// A simple delegate implementation that counts the number of times 14// |InstallUIProceed| and |InstallUIAbort| are called. 15class MockExtensionInstallPromptDelegate 16 : public ExtensionInstallPrompt::Delegate { 17 public: 18 MockExtensionInstallPromptDelegate() 19 : proceed_count_(0), 20 abort_count_(0) {} 21 22 // ExtensionInstallPrompt::Delegate overrides. 23 virtual void InstallUIProceed() OVERRIDE; 24 virtual void InstallUIAbort(bool user_initiated) OVERRIDE; 25 26 int proceed_count() { return proceed_count_; } 27 int abort_count() { return abort_count_; } 28 29 protected: 30 int proceed_count_; 31 int abort_count_; 32}; 33 34// Loads the test extension from the given test directory and manifest file. 35scoped_refptr<extensions::Extension> LoadInstallPromptExtension( 36 const char* extension_dir_name, 37 const char* manifest_file); 38 39// Loads the default install_prompt test extension. 40scoped_refptr<extensions::Extension> LoadInstallPromptExtension(); 41 42// Loads the icon for the install prompt extension. 43gfx::Image LoadInstallPromptIcon(); 44 45// Builds a prompt using the given extension. 46scoped_refptr<ExtensionInstallPrompt::Prompt> BuildExtensionInstallPrompt( 47 extensions::Extension* extension); 48 49scoped_refptr<ExtensionInstallPrompt::Prompt> 50 BuildExtensionPostInstallPermissionsPrompt( 51 extensions::Extension* extension); 52 53} // namespace chrome 54 55#endif // CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_INSTALL_PROMPT_TEST_UTILS_H_ 56