1 // Copyright (c) 2012 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_EXTENSIONS_API_CONTENT_SETTINGS_CONTENT_SETTINGS_API_H_ 6 #define CHROME_BROWSER_EXTENSIONS_API_CONTENT_SETTINGS_CONTENT_SETTINGS_API_H_ 7 8 #include "chrome/browser/extensions/chrome_extension_function.h" 9 10 class PluginFinder; 11 12 namespace content { 13 struct WebPluginInfo; 14 } 15 16 namespace extensions { 17 18 class ContentSettingsContentSettingClearFunction 19 : public ChromeSyncExtensionFunction { 20 public: 21 DECLARE_EXTENSION_FUNCTION("contentSettings.clear", CONTENTSETTINGS_CLEAR) 22 23 protected: 24 virtual ~ContentSettingsContentSettingClearFunction() {} 25 26 // ExtensionFunction: 27 virtual bool RunSync() OVERRIDE; 28 }; 29 30 class ContentSettingsContentSettingGetFunction 31 : public ChromeSyncExtensionFunction { 32 public: 33 DECLARE_EXTENSION_FUNCTION("contentSettings.get", CONTENTSETTINGS_GET) 34 35 protected: 36 virtual ~ContentSettingsContentSettingGetFunction() {} 37 38 // ExtensionFunction: 39 virtual bool RunSync() OVERRIDE; 40 }; 41 42 class ContentSettingsContentSettingSetFunction 43 : public ChromeSyncExtensionFunction { 44 public: 45 DECLARE_EXTENSION_FUNCTION("contentSettings.set", CONTENTSETTINGS_SET) 46 47 protected: 48 virtual ~ContentSettingsContentSettingSetFunction() {} 49 50 // ExtensionFunction: 51 virtual bool RunSync() OVERRIDE; 52 }; 53 54 class ContentSettingsContentSettingGetResourceIdentifiersFunction 55 : public ChromeAsyncExtensionFunction { 56 public: 57 DECLARE_EXTENSION_FUNCTION("contentSettings.getResourceIdentifiers", 58 CONTENTSETTINGS_GETRESOURCEIDENTIFIERS) 59 60 protected: 61 virtual ~ContentSettingsContentSettingGetResourceIdentifiersFunction() {} 62 63 // ExtensionFunction: 64 virtual bool RunAsync() OVERRIDE; 65 66 private: 67 FRIEND_TEST_ALL_PREFIXES(ExtensionApiTest, 68 ContentSettingsGetResourceIdentifiers); 69 70 // Callback method that gets executed when |plugins| 71 // are asynchronously fetched. 72 void OnGotPlugins(const std::vector<content::WebPluginInfo>& plugins); 73 }; 74 75 } // namespace extensions 76 77 #endif // CHROME_BROWSER_EXTENSIONS_API_CONTENT_SETTINGS_CONTENT_SETTINGS_API_H_ 78