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

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

Issue 1078563002: [Webapp Refactor] Clean up remoting.Clipboard. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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
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 * Implements a basic UX control for a connected remoting session. 7 * Implements a basic UX control for a connected remoting session.
8 */ 8 */
9 9
10 /** @suppress {duplicate} */ 10 /** @suppress {duplicate} */
(...skipping 24 matching lines...) Expand all
35 35
36 /** @private {Element} */ 36 /** @private {Element} */
37 this.debugRegionContainer_ = 37 this.debugRegionContainer_ =
38 viewportElement.querySelector('.debug-region-container'); 38 viewportElement.querySelector('.debug-region-container');
39 39
40 var pluginElement = plugin.element(); 40 var pluginElement = plugin.element();
41 41
42 /** private */ 42 /** private */
43 this.disposables_ = new base.Disposables( 43 this.disposables_ = new base.Disposables(
44 this.cursor_, 44 this.cursor_,
45 new base.DomEventHook(pluginElement, 'focus',
46 this.onPluginGotFocus_.bind(this), false),
kelvinp 2015/04/09 00:28:26 moved to clipboard.js
47 new base.DomEventHook(pluginElement, 'blur', 45 new base.DomEventHook(pluginElement, 'blur',
48 this.onPluginLostFocus_.bind(this), false), 46 this.onPluginLostFocus_.bind(this), false),
49 new base.DomEventHook(document, 'visibilitychange', 47 new base.DomEventHook(document, 'visibilitychange',
50 this.onVisibilityChanged_.bind(this), false) 48 this.onVisibilityChanged_.bind(this), false),
49 new remoting.Clipboard(plugin)
51 ); 50 );
52 51
53 // TODO(wez): Only allow mouse lock if the app has the pointerLock permission. 52 // TODO(wez): Only allow mouse lock if the app has the pointerLock permission.
54 // Enable automatic mouse-lock. 53 // Enable automatic mouse-lock.
55 if (this.plugin_.hasFeature(remoting.ClientPlugin.Feature.ALLOW_MOUSE_LOCK)) { 54 if (this.plugin_.hasFeature(remoting.ClientPlugin.Feature.ALLOW_MOUSE_LOCK)) {
56 this.plugin_.allowMouseLock(); 55 this.plugin_.allowMouseLock();
57 } 56 }
58 57
59 pluginElement.focus(); 58 pluginElement.focus();
60 }; 59 };
(...skipping 23 matching lines...) Expand all
84 * Callback that the plugin invokes to indicate when the connection is 83 * Callback that the plugin invokes to indicate when the connection is
85 * ready. 84 * ready.
86 * 85 *
87 * @param {boolean} ready True if the connection is ready. 86 * @param {boolean} ready True if the connection is ready.
88 */ 87 */
89 remoting.ConnectedView.prototype.onConnectionReady = function(ready) { 88 remoting.ConnectedView.prototype.onConnectionReady = function(ready) {
90 this.viewportElement_.classList.toggle('session-client-inactive', !ready); 89 this.viewportElement_.classList.toggle('session-client-inactive', !ready);
91 }; 90 };
92 91
93 /** 92 /**
94 * Callback function called when the plugin element gets focus.
95 * @private
96 */
97 remoting.ConnectedView.prototype.onPluginGotFocus_ = function() {
98 remoting.clipboard.initiateToHost();
99 };
100
101 /**
102 * Callback function called when the plugin element loses focus. 93 * Callback function called when the plugin element loses focus.
103 * @private 94 * @private
104 */ 95 */
105 remoting.ConnectedView.prototype.onPluginLostFocus_ = function() { 96 remoting.ConnectedView.prototype.onPluginLostFocus_ = function() {
106 // Release all keys to prevent them becoming 'stuck down' on the host. 97 // Release all keys to prevent them becoming 'stuck down' on the host.
107 this.plugin_.releaseAllKeys(); 98 this.plugin_.releaseAllKeys();
108 99
109 // Focus should stay on the element, not (for example) the toolbar. 100 // Focus should stay on the element, not (for example) the toolbar.
110 // Due to crbug.com/246335, we can't restore the focus immediately, 101 // Due to crbug.com/246335, we can't restore the focus immediately,
111 // otherwise the plugin gets confused about whether or not it has focus. 102 // otherwise the plugin gets confused about whether or not it has focus.
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 /** 189 /**
199 * @param {Event} event 190 * @param {Event} event
200 * @private 191 * @private
201 */ 192 */
202 remoting.ConnectedView.Cursor.prototype.onMouseMoved_ = function(event) { 193 remoting.ConnectedView.Cursor.prototype.onMouseMoved_ = function(event) {
203 this.cursorElement_.style.top = event.offsetY + 'px'; 194 this.cursorElement_.style.top = event.offsetY + 'px';
204 this.cursorElement_.style.left = event.offsetX + 'px'; 195 this.cursorElement_.style.left = event.offsetX + 'px';
205 }; 196 };
206 197
207 })(); 198 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698