#ifndef CHROME_BROWSER_EXTENSIONS_API_CONTENT_SETTINGS_CONTENT_SETTINGS_API_H__
#define CHROME_BROWSER_EXTENSIONS_API_CONTENT_SETTINGS_CONTENT_SETTINGS_API_H__
#include "chrome/browser/extensions/extension_function.h"
class PluginFinder;
namespace webkit {
struct WebPluginInfo;
namespace npapi {
class PluginGroup;
}
}
namespace extensions {
class ClearContentSettingsFunction : public SyncExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION_NAME("contentSettings.clear")
protected:
virtual ~ClearContentSettingsFunction() {}
virtual bool RunImpl() OVERRIDE;
};
class GetContentSettingFunction : public SyncExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION_NAME("contentSettings.get")
protected:
virtual ~GetContentSettingFunction() {}
virtual bool RunImpl() OVERRIDE;
};
class SetContentSettingFunction : public SyncExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION_NAME("contentSettings.set")
protected:
virtual ~SetContentSettingFunction() {}
virtual bool RunImpl() OVERRIDE;
};
class GetResourceIdentifiersFunction : public AsyncExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION_NAME("contentSettings.getResourceIdentifiers")
protected:
virtual ~GetResourceIdentifiersFunction() {}
virtual bool RunImpl() OVERRIDE;
private:
FRIEND_TEST_ALL_PREFIXES(ExtensionApiTest,
ContentSettingsGetResourceIdentifiers);
void OnGotPlugins(const std::vector<webkit::WebPluginInfo>& plugins);
static void SetPluginsForTesting(
const std::vector<webkit::WebPluginInfo>* plugins);
};
}
#endif