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 12 class Profile; 13 14 // C++ test fixture used by extension_settings_browsertest.js. 15 class 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