Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Unified Diff: chrome/renderer/resources/extensions/tab_capture_custom_bindings.js

Issue 1221483002: New tabCapture.captureOffscreenTab API, initially for Presentation API 1UA mode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Mostly revert to Patch Set 6, plus minor tweaks. [and REBASE] Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
index 93a60549e3743d366c47fabe14f7d8c63bff316d..ab7ac7c38b14c7e8e10896fe3446bae95ba29416 100644
--- a/chrome/renderer/resources/extensions/tab_capture_custom_bindings.js
+++ b/chrome/renderer/resources/extensions/tab_capture_custom_bindings.js
@@ -9,11 +9,12 @@ var binding = require('binding').Binding.create('tabCapture');
binding.registerCustomHook(function(bindingsAPI, extensionId) {
var apiFunctions = bindingsAPI.apiFunctions;
- apiFunctions.setCustomCallback('capture',
- function(name, request, callback, response) {
+ function proxyToGetUserMedia(name, request, callback, response) {
if (!callback)
return;
+ // TODO(miu): Propagate exceptions and always provide a useful error when
+ // callback() is invoked with a null argument. http://crbug.com/463679
if (response) {
var options = {};
if (response.audioConstraints)
@@ -24,14 +25,17 @@ binding.registerCustomHook(function(bindingsAPI, extensionId) {
try {
navigator.webkitGetUserMedia(options,
function(stream) { callback(stream); },
- function() { callback(null); });
+ function(exception) { callback(null); });
} catch (e) {
callback(null);
}
} else {
callback(null);
}
- });
+ }
+
+ apiFunctions.setCustomCallback('capture', proxyToGetUserMedia);
+ apiFunctions.setCustomCallback('captureOffscreenTab', proxyToGetUserMedia);
});
exports.binding = binding.generate();
« no previous file with comments | « chrome/common/extensions/api/tab_capture.idl ('k') | chrome/test/data/extensions/api_test/tab_capture/api_tests.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698