1// Copyright 2013 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_WEBUI_EXTENSIONS_EXTENSION_SETTINGS_BROWSERTEST_H_ 6#define CHROME_BROWSER_UI_WEBUI_EXTENSIONS_EXTENSION_SETTINGS_BROWSERTEST_H_ 7 8#include "chrome/browser/extensions/extension_test_notification_observer.h" 9#include "chrome/test/base/web_ui_browser_test.h" 10#include "extensions/common/extension.h" 11 12class Profile; 13 14// C++ test fixture used by extension_settings_browsertest.js. 15class ExtensionSettingsUIBrowserTest : public WebUIBrowserTest { 16 public: 17 ExtensionSettingsUIBrowserTest(); 18 virtual ~ExtensionSettingsUIBrowserTest(); 19 20 protected: 21 // Get the profile to use. 22 Profile* GetProfile(); 23 24 const std::string& last_loaded_extension_id() { 25 return observer_->last_loaded_extension_id(); 26 } 27 28 virtual void SetUpOnMainThread() OVERRIDE; 29 30 void InstallGoodExtension(); 31 32 private: 33 bool WaitForExtensionViewsToLoad(); 34 const extensions::Extension* LoadUnpackedExtension( 35 const base::FilePath& path); 36 const extensions::Extension* InstallExtension(const base::FilePath& path); 37 38 scoped_ptr<ExtensionTestNotificationObserver> observer_; 39 40 // The default profile to be used. 41 Profile* profile_; 42 43 DISALLOW_COPY_AND_ASSIGN(ExtensionSettingsUIBrowserTest); 44}; 45 46#endif // CHROME_BROWSER_UI_WEBUI_EXTENSIONS_EXTENSION_SETTINGS_BROWSERTEST_H_ 47