summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/resources/extensions/file_system_custom_bindings.js
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/renderer/resources/extensions/file_system_custom_bindings.js')
-rw-r--r--chrome/renderer/resources/extensions/file_system_custom_bindings.js31
1 files changed, 18 insertions, 13 deletions
diff --git a/chrome/renderer/resources/extensions/file_system_custom_bindings.js b/chrome/renderer/resources/extensions/file_system_custom_bindings.js
index 29e20e7..6a34439 100644
--- a/chrome/renderer/resources/extensions/file_system_custom_bindings.js
+++ b/chrome/renderer/resources/extensions/file_system_custom_bindings.js
@@ -2,16 +2,19 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// Custom bindings for the fileSystem API.
+// Custom binding for the fileSystem API.
+
+var binding = require('binding').Binding.create('fileSystem');
-var chromeHidden = requireNative('chrome_hidden').GetChromeHidden();
var fileSystemNatives = requireNative('file_system_natives');
var GetIsolatedFileSystem = fileSystemNatives.GetIsolatedFileSystem;
var lastError = require('lastError');
var entryIdManager = require('entryIdManager');
-chromeHidden.registerCustomHook('fileSystem', function(bindingsAPI) {
+binding.registerCustomHook(function(bindingsAPI) {
var apiFunctions = bindingsAPI.apiFunctions;
+ var fileSystem = bindingsAPI.compiledApi;
+
function bindFileEntryFunction(functionName) {
apiFunctions.setUpdateArgumentsPostValidate(
functionName, function(fileEntry, callback) {
@@ -44,12 +47,12 @@ chromeHidden.registerCustomHook('fileSystem', function(bindingsAPI) {
entryIdManager.registerEntry(id, fileEntry);
callback(fileEntry);
}, function(fileError) {
- lastError.set('Error getting fileEntry, code: ' + fileError.code);
- callback();
+ lastError.run('Error getting fileEntry, code: ' + fileError.code,
+ callback);
});
} catch (e) {
- lastError.set('Error in event handler for onLaunched: ' + e.stack);
- callback();
+ lastError.run('Error in event handler for onLaunched: ' + e.stack,
+ callback);
}
}
});
@@ -65,21 +68,23 @@ chromeHidden.registerCustomHook('fileSystem', function(bindingsAPI) {
});
// TODO(benwells): Remove these deprecated versions of the functions.
- chrome.fileSystem.getWritableFileEntry = function() {
+ fileSystem.getWritableFileEntry = function() {
console.log("chrome.fileSystem.getWritableFileEntry is deprecated");
console.log("Please use chrome.fileSystem.getWritableEntry instead");
- chrome.fileSystem.getWritableEntry.apply(this, arguments);
+ fileSystem.getWritableEntry.apply(this, arguments);
};
- chrome.fileSystem.isWritableFileEntry = function() {
+ fileSystem.isWritableFileEntry = function() {
console.log("chrome.fileSystem.isWritableFileEntry is deprecated");
console.log("Please use chrome.fileSystem.isWritableEntry instead");
- chrome.fileSystem.isWritableEntry.apply(this, arguments);
+ fileSystem.isWritableEntry.apply(this, arguments);
};
- chrome.fileSystem.chooseFile = function() {
+ fileSystem.chooseFile = function() {
console.log("chrome.fileSystem.chooseFile is deprecated");
console.log("Please use chrome.fileSystem.chooseEntry instead");
- chrome.fileSystem.chooseEntry.apply(this, arguments);
+ fileSystem.chooseEntry.apply(this, arguments);
};
});
+
+exports.binding = binding.generate();