• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
last_loaded_extension_id()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