blob: 3ad7bbf5b70068f32fb0b9c33dccd8afa8f90062 [file] [log] [blame]
// 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/macros.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);
// 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_