Home | History | Annotate | Download | only in content_settings
      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