Home | History | Annotate | Download | only in extensions
      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