| Index: chrome/renderer/resources/extensions/chrome_direct_setting.js
|
| diff --git a/chrome/renderer/resources/extensions/chrome_direct_setting.js b/chrome/renderer/resources/extensions/chrome_direct_setting.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e5b2d9ec375e4f4919082f474be6cba7e3c27395
|
| --- /dev/null
|
| +++ b/chrome/renderer/resources/extensions/chrome_direct_setting.js
|
| @@ -0,0 +1,45 @@
|
| +// Copyright (c) 2013 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.
|
| +
|
| +var Event = require('event_bindings').Event;
|
| +var sendRequest = require('sendRequest').sendRequest;
|
| +var validate = require('schemaUtils').validate;
|
| +
|
| +function extendSchema(schema) {
|
| + var extendedSchema = $Array.slice(schema);
|
| + extendedSchema.unshift({'type': 'string'});
|
| + return extendedSchema;
|
| +}
|
| +
|
| +function ChromeDirectSetting(prefKey, valueSchema) {
|
| + this.get = function(details, callback) {
|
| + var getSchema = this.functionSchemas.get.definition.parameters;
|
| + validate([details, callback], getSchema);
|
| + return sendRequest('types.private.ChromeDirectSetting.get',
|
| + [prefKey, details, callback],
|
| + extendSchema(getSchema));
|
| + };
|
| + this.set = function(details, callback) {
|
| + var setSchema = $Array.slice(
|
| + this.functionSchemas.set.definition.parameters);
|
| + setSchema[0].properties.value = valueSchema;
|
| + validate([details, callback], setSchema);
|
| + return sendRequest('types.private.ChromeDirectSetting.set',
|
| + [prefKey, details, callback],
|
| + extendSchema(setSchema));
|
| + };
|
| + this.clear = function(details, callback) {
|
| + var clearSchema = this.functionSchemas.clear.definition.parameters;
|
| + validate([details, callback], clearSchema);
|
| + return sendRequest('types.private.ChromeDirectSetting.clear',
|
| + [prefKey, details, callback],
|
| + extendSchema(clearSchema));
|
| + };
|
| + this.onChange = new Event('types.private.ChromeDirectSetting.' +
|
| + prefKey +
|
| + '.onChange');
|
| +};
|
| +
|
| +exports.ChromeDirectSetting = ChromeDirectSetting;
|
| +
|
|
|