| Index: chrome/renderer/resources/extensions/schema_generated_bindings.js
|
| diff --git a/chrome/renderer/resources/extensions/schema_generated_bindings.js b/chrome/renderer/resources/extensions/schema_generated_bindings.js
|
| index 6f085b711f7b7aa8ec7a3055aeec11105e778c62..d79b77a4ff9c72018fb4c45e120ce8219a598ff0 100644
|
| --- a/chrome/renderer/resources/extensions/schema_generated_bindings.js
|
| +++ b/chrome/renderer/resources/extensions/schema_generated_bindings.js
|
| @@ -24,6 +24,7 @@ var chrome = chrome || {};
|
| native function GetLocalFileSystem(name, path);
|
| native function DecodeJPEG(jpegImage);
|
| native function CreateBlob(filePath);
|
| + native function SendResponseAck(requestId);
|
|
|
| var chromeHidden = GetChromeHidden();
|
|
|
| @@ -178,6 +179,7 @@ var chrome = chrome || {};
|
| var nativeFunction = opt_args.nativeFunction || StartRequest;
|
|
|
| var requestId = GetNextRequestId();
|
| + request.id = requestId;
|
| requests[requestId] = request;
|
| var hasCallback =
|
| (request.callback || opt_args.customCallback) ? true : false;
|
| @@ -795,8 +797,11 @@ var chrome = chrome || {};
|
|
|
| if (request.callback)
|
| request.callback(CreateBlob(path, size));
|
| -
|
| request.callback = null;
|
| +
|
| + // Notify the browser. Now that the blob is referenced from JavaScript,
|
| + // the browser can drop its reference to it.
|
| + SendResponseAck(request.id);
|
| };
|
|
|
| apiFunctions["fileBrowserPrivate.requestLocalFileSystem"].customCallback =
|
|
|