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

Side by Side Diff: remoting/webapp/crd/js/desktop_connected_view.js

Issue 1028803002: [Chromoting] Convert VideoFrameRecorder into a proper protocol extension. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix nits Created 5 years, 9 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 unified diff | Download patch
« no previous file with comments | « no previous file | remoting/webapp/crd/js/desktop_remoting.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview 6 * @fileoverview
7 * Class handling user-facing aspects of the client session. 7 * Class handling user-facing aspects of the client session.
8 */ 8 */
9 9
10 'use strict'; 10 'use strict';
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 // and the Ctrl-Alt-Del button only in Me2Me mode. 142 // and the Ctrl-Alt-Del button only in Me2Me mode.
143 if (!this.plugin_.hasFeature( 143 if (!this.plugin_.hasFeature(
144 remoting.ClientPlugin.Feature.INJECT_KEY_EVENT)) { 144 remoting.ClientPlugin.Feature.INJECT_KEY_EVENT)) {
145 var sendKeysElement = document.getElementById('send-keys-menu'); 145 var sendKeysElement = document.getElementById('send-keys-menu');
146 sendKeysElement.hidden = true; 146 sendKeysElement.hidden = true;
147 } else if (this.mode_ != remoting.DesktopConnectedView.Mode.ME2ME && 147 } else if (this.mode_ != remoting.DesktopConnectedView.Mode.ME2ME &&
148 this.mode_ != remoting.DesktopConnectedView.Mode.APP_REMOTING) { 148 this.mode_ != remoting.DesktopConnectedView.Mode.APP_REMOTING) {
149 var sendCadElement = document.getElementById('send-ctrl-alt-del'); 149 var sendCadElement = document.getElementById('send-ctrl-alt-del');
150 sendCadElement.hidden = true; 150 sendCadElement.hidden = true;
151 } 151 }
152
153 if (this.session_.hasCapability(
154 remoting.ClientSession.Capability.VIDEO_RECORDER)) {
155 this.videoFrameRecorder_ = new remoting.VideoFrameRecorder(this.plugin_);
156 }
157 }; 152 };
158 153
159 /** 154 /**
160 * This is a callback that gets called when the window is resized. 155 * This is a callback that gets called when the window is resized.
161 * 156 *
162 * @return {void} Nothing. 157 * @return {void} Nothing.
163 * @private. 158 * @private.
164 */ 159 */
165 remoting.DesktopConnectedView.prototype.onResize_ = function() { 160 remoting.DesktopConnectedView.prototype.onResize_ = function() {
166 if (this.viewport_) { 161 if (this.viewport_) {
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 /** 250 /**
256 * Sends a Print Screen keypress to the remoting client. 251 * Sends a Print Screen keypress to the remoting client.
257 * 252 *
258 * @return {void} Nothing. 253 * @return {void} Nothing.
259 */ 254 */
260 remoting.DesktopConnectedView.prototype.sendPrintScreen = function() { 255 remoting.DesktopConnectedView.prototype.sendPrintScreen = function() {
261 console.log('Sending Print Screen.'); 256 console.log('Sending Print Screen.');
262 this.plugin_.injectKeyCombination([0x070046]); 257 this.plugin_.injectKeyCombination([0x070046]);
263 }; 258 };
264 259
260 /** @param {remoting.VideoFrameRecorder} recorder */
261 remoting.DesktopConnectedView.prototype.setVideoFrameRecorder =
262 function(recorder) {
263 this.videoFrameRecorder_ = recorder;
264 };
265
265 /** 266 /**
266 * Returns true if the ClientSession can record video frames to a file. 267 * Returns true if the ClientSession can record video frames to a file.
267 * @return {boolean} 268 * @return {boolean}
268 */ 269 */
269 remoting.DesktopConnectedView.prototype.canRecordVideo = function() { 270 remoting.DesktopConnectedView.prototype.canRecordVideo = function() {
270 return !!this.videoFrameRecorder_; 271 return !!this.videoFrameRecorder_;
271 }; 272 };
272 273
273 /** 274 /**
274 * Returns true if the ClientSession is currently recording video frames. 275 * Returns true if the ClientSession is currently recording video frames.
275 * @return {boolean} 276 * @return {boolean}
276 */ 277 */
277 remoting.DesktopConnectedView.prototype.isRecordingVideo = function() { 278 remoting.DesktopConnectedView.prototype.isRecordingVideo = function() {
278 if (!this.videoFrameRecorder_) { 279 if (!this.videoFrameRecorder_) {
279 return false; 280 return false;
280 } 281 }
281 return this.videoFrameRecorder_.isRecording(); 282 return this.videoFrameRecorder_.isRecording();
282 }; 283 };
283 284
284 /** 285 /**
285 * Starts or stops recording of video frames. 286 * Starts or stops recording of video frames.
286 */ 287 */
287 remoting.DesktopConnectedView.prototype.startStopRecording = function() { 288 remoting.DesktopConnectedView.prototype.startStopRecording = function() {
288 if (this.videoFrameRecorder_) { 289 if (this.videoFrameRecorder_) {
289 this.videoFrameRecorder_.startStopRecording(); 290 this.videoFrameRecorder_.startStopRecording();
290 } 291 }
291 }; 292 };
292
293 /**
294 * Handles protocol extension messages.
295 * @param {string} type Type of extension message.
296 * @param {Object} message The parsed extension message data.
297 * @return {boolean} True if the message was recognized, false otherwise.
298 */
299 remoting.DesktopConnectedView.prototype.handleExtensionMessage =
300 function(type, message) {
301 if (this.videoFrameRecorder_) {
302 return this.videoFrameRecorder_.handleMessage(type, message);
303 }
304 return false;
305 };
OLDNEW
« no previous file with comments | « no previous file | remoting/webapp/crd/js/desktop_remoting.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698