17d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 27d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 37d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// found in the LICENSE file. 47d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 57d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)// Custom bindings for the feedbackPrivate API. 67d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 77d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)var binding = require('binding').Binding.create('feedbackPrivate'); 87d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)var blobNatives = requireNative('blob_natives'); 107d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 117d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)binding.registerCustomHook(function(bindingsAPI) { 127d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) var apiFunctions = bindingsAPI.apiFunctions; 137d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) apiFunctions.setUpdateArgumentsPostValidate( 147d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) "sendFeedback", function(feedbackInfo, callback) { 1568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) var attachedFileBlobUuid = ''; 1668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) var screenshotBlobUuid = ''; 177d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 187d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) if (feedbackInfo.attachedFile) 1968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) attachedFileBlobUuid = 20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) blobNatives.GetBlobUuid(feedbackInfo.attachedFile.data); 217d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) if (feedbackInfo.screenshot) 2268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) screenshotBlobUuid = 23f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) blobNatives.GetBlobUuid(feedbackInfo.screenshot); 247d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 2568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) feedbackInfo.attachedFileBlobUuid = attachedFileBlobUuid; 2668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) feedbackInfo.screenshotBlobUuid = screenshotBlobUuid; 277d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 287d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) return [feedbackInfo, callback]; 297d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) }); 307d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)}); 317d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) 327d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)exports.binding = binding.generate(); 33