| // 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. |
| |
| function gotStream(stream) { |
| console.log("Received local stream"); |
| var video = document.querySelector("video"); |
| video.src = URL.createObjectURL(stream); |
| localstream = stream; |
| stream.onended = function() { console.log("Ended"); }; |
| } |
| |
| function getUserMediaError() { |
| console.log("getUserMedia() failed."); |
| } |
| |
| function onAccessApproved(id) { |
| if (!id) { |
| console.log("Access rejected."); |
| return; |
| } |
| navigator.webkitGetUserMedia({ |
| audio:false, |
| video: { mandatory: { chromeMediaSource: "desktop", |
| chromeMediaSourceId: id } } |
| }, gotStream, getUserMediaError); |
| } |
| |
| var pending_request_id = null; |
| |
| document.querySelector('#start').addEventListener('click', function(e) { |
| pending_request_id = chrome.desktopCapture.chooseDesktopMedia( |
| ["screen", "window"], onAccessApproved); |
| }); |
| |
| document.querySelector('#cancel').addEventListener('click', function(e) { |
| if (pending_request_id != null) { |
| chrome.desktopCapture.cancelChooseDesktopMedia(pending_request_id); |
| } |
| }); |
| |
| document.querySelector('#startFromBackgroundPage') |
| .addEventListener('click', function(e) { |
| chrome.runtime.sendMessage( |
| {}, function(response) { console.log(response.farewell); }); |
| }); |