| Index: chrome/renderer/resources/extension_process_bindings.js
|
| ===================================================================
|
| --- chrome/renderer/resources/extension_process_bindings.js (revision 80624)
|
| +++ chrome/renderer/resources/extension_process_bindings.js (working copy)
|
| @@ -97,7 +97,6 @@
|
| "message": error
|
| };
|
| }
|
| -
|
| if (request.customCallback) {
|
| request.customCallback(name, request, response);
|
| }
|
| @@ -660,6 +659,44 @@
|
| });
|
| };
|
|
|
| + apiFunctions["fileSystem.resolveLocalFileSystemURL"].customCallback =
|
| + function(name, request, response) {
|
| + var method_callback = request.callback;
|
| + var successCallback = function(entry) {
|
| + method_callback(entry);
|
| + };
|
| + var errorCallback = function(err) {
|
| + chrome.extension.lastError = {
|
| + "message": "File error " + err.code
|
| + };
|
| + method_callback(null);
|
| + };
|
| + var fs = null;
|
| + var resp = response ? [chromeHidden.JSON.parse(response)] : null;
|
| + if (!resp || !resp.length || !resp[0]) {
|
| + errorCallback({"code": -255});
|
| + return;
|
| + } else if (resp[0].error) {
|
| + errorCallback({"code": resp[0].error});
|
| + return;
|
| + }
|
| + // Get local file system instance.
|
| + fs = GetLocalFileSystem(resp[0].name, resp[0].path);
|
| + if (resp[0].fileUrl.substr(0, resp[0].path.length) != resp[0].path) {
|
| + errorCallback({"code": FileError.NOT_FOUND_ERR});
|
| + return;
|
| + }
|
| + var file_path = resp[0].fileUrl.substr(resp[0].path.length);
|
| + // Try to get directory.
|
| + fs.root.getDirectory(file_path, {create: false},
|
| + successCallback, function(err) {
|
| + // Not a directory? Maybe it's a file then.
|
| + fs.root.getFile(file_path, {create: false}, successCallback,
|
| + errorCallback);
|
| + });
|
| + request.callback = null;
|
| + };
|
| +
|
| apiFunctions["fileBrowserPrivate.requestLocalFileSystem"].customCallback =
|
| function(name, request, response) {
|
| var resp = response ? [chromeHidden.JSON.parse(response)] : [];
|
|
|