- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / webui / extensions / extension_settings_browsertest.h
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/common/extensions/extension.h"
10 #include "chrome/test/base/web_ui_browsertest.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_