// Copyright (c) 2011 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_PREFERENCE_API_H__ #define CHROME_BROWSER_EXTENSIONS_EXTENSION_PREFERENCE_API_H__ #pragma once #include #include "chrome/browser/extensions/extension_function.h" class GetPreferenceFunction : public SyncExtensionFunction { public: virtual ~GetPreferenceFunction(); virtual bool RunImpl(); DECLARE_EXTENSION_FUNCTION_NAME("experimental.preferences.get") private: // Returns a string constant (defined in API) indicating the level of // control this extension has on the specified preference. const char* GetLevelOfControl(const std::string& browser_pref, bool incognito) const; }; class SetPreferenceFunction : public SyncExtensionFunction { public: virtual ~SetPreferenceFunction(); virtual bool RunImpl(); DECLARE_EXTENSION_FUNCTION_NAME("experimental.preferences.set") }; class ClearPreferenceFunction : public SyncExtensionFunction { public: virtual ~ClearPreferenceFunction(); virtual bool RunImpl(); DECLARE_EXTENSION_FUNCTION_NAME("experimental.preferences.clear") }; #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_PREFERENCE_API_H__