feedback_private_custom_bindings.js revision 7d4cd473f85ac64c3747c96c277f9e506a0d2246
1// Copyright 2013 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 bindings for the feedbackPrivate API.
6
7var binding = require('binding').Binding.create('feedbackPrivate');
8
9var feedbackPrivateNatives = requireNative('feedback_private');
10
11binding.registerCustomHook(function(bindingsAPI) {
12  var apiFunctions = bindingsAPI.apiFunctions;
13  apiFunctions.setUpdateArgumentsPostValidate(
14      "sendFeedback", function(feedbackInfo, callback) {
15    var attachedFileBlobUrl = '';
16    var screenshotBlobUrl = '';
17
18    if (feedbackInfo.attachedFile)
19      attachedFileBlobUrl =
20          feedbackPrivateNatives.GetBlobUrl(feedbackInfo.attachedFile.data);
21    if (feedbackInfo.screenshot)
22      screenshotBlobUrl =
23          feedbackPrivateNatives.GetBlobUrl(feedbackInfo.screenshot);
24
25    feedbackInfo.attachedFileBlobUrl = attachedFileBlobUrl;
26    feedbackInfo.screenshotBlobUrl = screenshotBlobUrl;
27
28    return [feedbackInfo, callback];
29  });
30});
31
32exports.binding = binding.generate();
33