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.
5 // Custom binding for the Tab Capture API.
7 var binding = require('binding').Binding.create('tabCapture');
9 binding.registerCustomHook(function(bindingsAPI, extensionId) {
10 var apiFunctions = bindingsAPI.apiFunctions;
12 apiFunctions.setCustomCallback('capture', function(name, request, response) {
13 if (response && request.callback) {
14 var callback = request.callback;
16 if (response.audioConstraints)
17 options.audio = response.audioConstraints;
18 if (response.videoConstraints)
19 options.video = response.videoConstraints;
22 navigator.webkitGetUserMedia(options,
23 function(stream) { callback(stream); },
24 function() { callback(null); });
29 request.callback(null);
31 request.callback = null;
35 exports.binding = binding.generate();