Index: chrome/renderer/resources/extensions/tab_capture_custom_bindings.js |
diff --git a/chrome/renderer/resources/extensions/tab_capture_custom_bindings.js b/chrome/renderer/resources/extensions/tab_capture_custom_bindings.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..63da78e0d787ee5a8d104369926d7aaa0b651db6 |
--- /dev/null |
+++ b/chrome/renderer/resources/extensions/tab_capture_custom_bindings.js |
@@ -0,0 +1,33 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+// Custom bindings for the Tab Capture API. |
+var chromeHidden = requireNative('chrome_hidden').GetChromeHidden(); |
+ |
+chromeHidden.registerCustomHook('tabCapture', |
+ function(bindingsAPI, extensionId) { |
+ var apiFunctions = bindingsAPI.apiFunctions; |
+ |
+ apiFunctions.setCustomCallback('capture', |
+ function(name, request, response) { |
+ if (response && request.callback) { |
+ var callback = request.callback; |
+ var successFunc = function(stream) { |
+ callback(stream); |
+ }; |
+ var errorFunc = function() { |
+ callback(null); |
+ }; |
+ |
+ var options = {}; |
+ options.video = response.videoConstraints; |
+ options.audio = response.audioConstraints; |
+ |
+ navigator.webkitGetUserMedia(options, successFunc, errorFunc); |
Aaron Boodman
2012/10/16 04:19:27
Silly question: Does the implementation of webKitG
justinlin
2012/10/17 08:32:26
I think you're right. Unfortunately, I've thought
Aaron Boodman
2012/10/17 20:28:14
If this is going to ever be exposed without the fl
justinlin
2012/10/17 23:41:48
My PM (markdavidscott@) might have a better answer
|
+ } else { |
+ request.callback(); |
+ } |
+ request.callback = null; |
+ }); |
+}); |