// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_VIEW_HOST_FACTORY_H_ #define CHROME_BROWSER_EXTENSIONS_EXTENSION_VIEW_HOST_FACTORY_H_ #include "base/basictypes.h" class Browser; class GURL; class Profile; namespace extensions { class ExtensionViewHost; // A utility class to make ExtensionViewHosts for UI views that are backed // by extensions. class ExtensionViewHostFactory { public: // Creates a new ExtensionHost with its associated view, grouping it in the // appropriate SiteInstance (and therefore process) based on the URL and // profile. static ExtensionViewHost* CreatePopupHost(const GURL& url, Browser* browser); static ExtensionViewHost* CreateInfobarHost(const GURL& url, Browser* browser); // Some dialogs may not be associated with a particular browser window and // hence only require a |profile|. static ExtensionViewHost* CreateDialogHost(const GURL& url, Profile* profile); private: DISALLOW_COPY_AND_ASSIGN(ExtensionViewHostFactory); }; } // namespace extensions #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_VIEW_HOST_FACTORY_H_