Chromium Code Reviews| Index: chrome/renderer/resources/extensions/page_capture_custom_bindings.js |
| diff --git a/chrome/renderer/resources/extensions/page_capture_custom_bindings.js b/chrome/renderer/resources/extensions/page_capture_custom_bindings.js |
| index f9147d787eb0e51922b9aa556efa08b846b8e0cd..5e18ac0cb3719960c04b0252dd01a020f59f776b 100644 |
| --- a/chrome/renderer/resources/extensions/page_capture_custom_bindings.js |
| +++ b/chrome/renderer/resources/extensions/page_capture_custom_bindings.js |
| @@ -15,16 +15,21 @@ binding.registerCustomHook(function(bindingsAPI) { |
| apiFunctions.setCustomCallback('saveAsMHTML', |
| function(name, request, response) { |
| - var path = response.mhtmlFilePath; |
| - var size = response.mhtmlFileLength; |
| - |
| - if (request.callback) |
| - request.callback(CreateBlob(path, size)); |
| + var callback = request.callback; |
| 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); |
| + if (response) { |
|
Devlin
2014/07/10 20:53:28
nit: inline?
if (response)
response = CreateBlo
robwu
2014/07/10 21:15:56
Done.
|
| + var path = response.mhtmlFilePath; |
| + var size = response.mhtmlFileLength; |
| + response = CreateBlob(path, size); |
| + } |
| + |
| + try { |
| + callback(response); |
| + } finally { |
|
Devlin
2014/07/10 20:53:28
We usually put a catch here and log the error so t
robwu
2014/07/10 21:15:56
Done.
|
| + // Notify the browser. Now that the blob is referenced from JavaScript, |
| + // the browser can drop its reference to it. |
| + SendResponseAck(request.id); |
| + } |
| }); |
| }); |