1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5// Custom binding for the pageCapture API. 6 7var binding = require('binding').Binding.create('pageCapture'); 8 9var pageCaptureNatives = requireNative('page_capture'); 10var CreateBlob = pageCaptureNatives.CreateBlob; 11var SendResponseAck = pageCaptureNatives.SendResponseAck; 12 13binding.registerCustomHook(function(bindingsAPI) { 14 var apiFunctions = bindingsAPI.apiFunctions; 15 16 apiFunctions.setCustomCallback('saveAsMHTML', 17 function(name, request, response) { 18 var path = response.mhtmlFilePath; 19 var size = response.mhtmlFileLength; 20 21 if (request.callback) 22 request.callback(CreateBlob(path, size)); 23 request.callback = null; 24 25 // Notify the browser. Now that the blob is referenced from JavaScript, 26 // the browser can drop its reference to it. 27 SendResponseAck(request.id); 28 }); 29}); 30 31exports.binding = binding.generate(); 32