blob: cfb8858b3fe8d69f0d189a72f16615d2dfe668b9 [file] [log] [blame]
// Copyright (c) 2012 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_UI_WEBUI_GESTURE_CONFIG_UI_H_
#define CHROME_BROWSER_UI_WEBUI_GESTURE_CONFIG_UI_H_
#include "content/public/browser/web_ui_controller.h"
namespace base {
class ListValue;
} // namespace base
// The WebUI for 'chrome://gesture'.
class GestureConfigUI : public content::WebUIController {
public:
// Constructs a new GestureConfig for the specified |web_ui|.
explicit GestureConfigUI(content::WebUI* web_ui);
virtual ~GestureConfigUI();
private:
// TODO(mohsen): Add a whitelist of preferences that are allowed to be set or
// get here and check requested preferences against this whitelist.
/**
* Request a preference setting's value.
* This method is asynchronous; the result is provided by a call to
* the JS method 'gesture_config.updatePreferenceValueResult'.
*/
void UpdatePreferenceValue(const base::ListValue* args);
/**
* Reset a preference to its default value and return this value
* via asynchronous callback to the JS method
* 'gesture_config.updatePreferenceValueResult'.
*/
void ResetPreferenceValue(const base::ListValue* args);
/**
* Set a preference setting's value.
* Two parameters are provided in a JS list: prefName and value, the
* key of the preference value to be set, and the value it's to be set to.
*/
void SetPreferenceValue(const base::ListValue* args);
DISALLOW_COPY_AND_ASSIGN(GestureConfigUI);
};
#endif // CHROME_BROWSER_UI_WEBUI_GESTURE_CONFIG_UI_H_