PluginDatabaseWin.h [plain text]
#ifndef PluginDatabaseWin_H
#define PluginDatabaseWin_H
#include <wtf/Vector.h>
#include <wtf/HashSet.h>
#include "PlatformString.h"
#include "PluginPackageWin.h"
#include "StringHash.h"
namespace WebCore {
class Element;
class Frame;
class IntSize;
class KURL;
class PluginPackageWin;
class PluginViewWin;
typedef HashSet<RefPtr<PluginPackageWin>, PluginPackageWinHash> PluginSet;
class PluginDatabaseWin {
public:
static PluginDatabaseWin* installedPlugins();
PluginViewWin* createPluginView(Frame* parentFrame, const IntSize&, Element* element, const KURL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually);
bool refresh();
Vector<PluginPackageWin*> plugins() const;
bool isMIMETypeRegistered(const String& mimeType) const;
void addExtraPluginPath(const String&);
private:
void setPluginPaths(const Vector<String>& paths) { m_pluginPaths = paths; }
PluginSet getPluginsInPaths() const;
PluginPackageWin* findPlugin(const KURL& url, const String& mimeType);
PluginPackageWin* pluginForMIMEType(const String& mimeType);
PluginPackageWin* pluginForExtension(const String& extension);
static Vector<String> defaultPluginPaths();
Vector<String> m_pluginPaths;
HashSet<String> m_registeredMIMETypes;
PluginSet m_plugins;
};
}
#endif