Chromium Code Reviews| Index: chrome/browser/resources/hangouts_services/thunk.js |
| diff --git a/chrome/browser/resources/hangouts_services/thunk.js b/chrome/browser/resources/hangouts_services/thunk.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..429a213b1300124618e879aeb01e0b6329f5b60f |
| --- /dev/null |
| +++ b/chrome/browser/resources/hangouts_services/thunk.js |
| @@ -0,0 +1,65 @@ |
| +// Copyright 2013 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. |
| + |
| +chrome.runtime.onMessageExternal.addListener( |
| + function(message, sender, sendResponse) { |
| + function doSendResponse(value, error) { |
| + var errorMessage = error || chrome.extension.lastError; |
| + sendResponse({'value': value, 'error': errorMessage}); |
| + } |
| + try { |
| + var method = message['method']; |
| + var origin = message['origin']; |
| + if (method == 'chooseDesktopMedia') { |
|
arv (Not doing code reviews)
2013/10/23 16:32:27
This would have been cleaner as a switch (yes you
vrk (LEFT CHROMIUM)
2013/10/23 19:10:02
Thanks, will do in a follow-up CL.
|
| + chrome.desktopCapture.chooseDesktopMedia( |
| + ['screen', 'window'], sender.tab, doSendResponse); |
| + return true; |
| + } else if (method == 'cpu.getInfo') { |
| + chrome.system.cpu.getInfo(doSendResponse); |
| + return true; |
| + } else if (method == 'logging.setMetadata') { |
| + var metaData = message['metaData']; |
| + chrome.webrtcLoggingPrivate.setMetaData( |
| + sender.tab.id, origin, metaData, doSendResponse); |
| + return true; |
| + } else if (method == 'logging.start') { |
| + chrome.webrtcLoggingPrivate.start(sender.tab.id, origin, doSendResponse); |
| + return true; |
| + } else if (method == 'logging.uploadOnRenderClose') { |
| + chrome.webrtcLoggingPrivate.setUploadOnRenderClose( |
| + sender.tab.id, origin, true); |
| + doSendResponse(); |
| + return false; |
| + } else if (method == 'logging.stop') { |
| + chrome.webrtcLoggingPrivate.stop(sender.tab.id, origin, doSendResponse); |
| + return true; |
| + } else if (method == 'logging.upload') { |
| + chrome.webrtcLoggingPrivate.upload(sender.tab.id, origin, doSendResponse); |
| + return true; |
| + } else if (method == 'logging.discard') { |
| + chrome.webrtcLoggingPrivate.discard( |
| + sender.tab.id, origin, doSendResponse); |
| + return true; |
| + } else if (method == 'getSinks') { |
| + chrome.webrtcAudioPrivate.getSinks(doSendResponse); |
| + return true; |
| + } else if (method == 'getActiveSink') { |
| + chrome.webrtcAudioPrivate.getActiveSink(sender.tab.id, doSendResponse); |
| + return true; |
| + } else if (method == 'setActiveSink') { |
| + var sinkId = message['sinkId']; |
| + chrome.webrtcAudioPrivate.setActiveSink( |
| + sender.tab.id, sinkId, doSendResponse); |
| + return true; |
| + } else if (method == 'getAssociatedSink') { |
| + var sourceId = message['sourceId']; |
| + chrome.webrtcAudioPrivate.getAssociatedSink( |
| + origin, sourceId, doSendResponse); |
| + return true; |
| + } |
| + throw new Error('Unknown method: ' + method); |
| + } catch (e) { |
| + doSendResponse(null, e.name + ': ' + e.message); |
| + } |
| +}); |