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

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

Issue 1016623002: [Webapp Refactor] Reparent the ConnectedView into the delegate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Please diff this patch against patch set 1 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
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 27 matching lines...) Expand all
38 /** @private */ 38 /** @private */
39 this.viewportElement_ = viewportElement; 39 this.viewportElement_ = viewportElement;
40 40
41 /** @private */ 41 /** @private */
42 this.plugin_ = plugin; 42 this.plugin_ = plugin;
43 43
44 /** private */ 44 /** private */
45 this.cursor_ = new remoting.ConnectedView.Cursor( 45 this.cursor_ = new remoting.ConnectedView.Cursor(
46 plugin, viewportElement, cursorElement); 46 plugin, viewportElement, cursorElement);
47 47
48 /** @private {Element} */
49 this.debugRegionContainer_ =
50 viewportElement.querySelector('.debug-region-container');
51
48 var pluginElement = plugin.element(); 52 var pluginElement = plugin.element();
49 53
50 /** private */ 54 /** private */
51 this.disposables_ = new base.Disposables( 55 this.disposables_ = new base.Disposables(
52 this.cursor_, 56 this.cursor_,
53 new base.DomEventHook(pluginElement, 'focus', 57 new base.DomEventHook(pluginElement, 'focus',
54 this.onPluginGotFocus_.bind(this), false), 58 this.onPluginGotFocus_.bind(this), false),
55 new base.DomEventHook(pluginElement, 'blur', 59 new base.DomEventHook(pluginElement, 'blur',
56 this.onPluginLostFocus_.bind(this), false), 60 this.onPluginLostFocus_.bind(this), false),
57 new base.DomEventHook(document, 'visibilitychange', 61 new base.DomEventHook(document, 'visibilitychange',
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 this.plugin_.releaseAllKeys(); 120 this.plugin_.releaseAllKeys();
117 121
118 // Focus should stay on the element, not (for example) the toolbar. 122 // Focus should stay on the element, not (for example) the toolbar.
119 // Due to crbug.com/246335, we can't restore the focus immediately, 123 // Due to crbug.com/246335, we can't restore the focus immediately,
120 // otherwise the plugin gets confused about whether or not it has focus. 124 // otherwise the plugin gets confused about whether or not it has focus.
121 window.setTimeout( 125 window.setTimeout(
122 this.plugin_.element().focus.bind(this.plugin_.element()), 0); 126 this.plugin_.element().focus.bind(this.plugin_.element()), 0);
123 }; 127 };
124 128
125 /** 129 /**
130 * Handles dirty region debug messages.
131 *
132 * @param {{rects:Array<Array<number>>}} region Dirty region of the latest
133 * frame.
134 */
135 remoting.ConnectedView.prototype.handleDebugRegion = function(region) {
kelvinp 2015/03/17 01:06:17 Moved from DesktopConnectedView.
136 while (this.debugRegionContainer_.firstChild) {
137 this.debugRegionContainer_.removeChild(
138 this.debugRegionContainer_.firstChild);
139 }
140 if (region.rects) {
141 var rects = region.rects;
142 for (var i = 0; i < rects.length; ++i) {
143 var rect = document.createElement('div');
144 rect.classList.add('debug-region-rect');
145 rect.style.left = rects[i][0] + 'px';
146 rect.style.top = rects[i][1] +'px';
147 rect.style.width = rects[i][2] +'px';
148 rect.style.height = rects[i][3] + 'px';
149 this.debugRegionContainer_.appendChild(rect);
150 }
151 }
152 };
153
154 /**
155 * Enables or disables rendering of dirty regions for debugging.
156 * @param {boolean} enable True to enable rendering.
157 */
158 remoting.ConnectedView.prototype.enableDebugRegion = function(enable) {
kelvinp 2015/03/17 01:06:17 Moved from ClientSession.
159 if (enable) {
160 this.plugin_.setDebugDirtyRegionHandler(this.handleDebugRegion.bind(this));
161 } else {
162 this.plugin_.setDebugDirtyRegionHandler(null);
163 }
164 };
165
166 /**
126 * @param {remoting.ClientPlugin} plugin 167 * @param {remoting.ClientPlugin} plugin
127 * @param {HTMLElement} viewportElement 168 * @param {HTMLElement} viewportElement
128 * @param {HTMLElement} cursorElement 169 * @param {HTMLElement} cursorElement
129 * 170 *
130 * @constructor 171 * @constructor
131 * @implements {base.Disposable} 172 * @implements {base.Disposable}
132 */ 173 */
133 remoting.ConnectedView.Cursor = function( 174 remoting.ConnectedView.Cursor = function(
134 plugin, viewportElement, cursorElement) { 175 plugin, viewportElement, cursorElement) {
135 /** @private */ 176 /** @private */
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 /** 211 /**
171 * @param {Event} event 212 * @param {Event} event
172 * @private 213 * @private
173 */ 214 */
174 remoting.ConnectedView.Cursor.prototype.onMouseMoved_ = function(event) { 215 remoting.ConnectedView.Cursor.prototype.onMouseMoved_ = function(event) {
175 this.cursorElement_.style.top = event.offsetY + 'px'; 216 this.cursorElement_.style.top = event.offsetY + 'px';
176 this.cursorElement_.style.left = event.offsetX + 'px'; 217 this.cursorElement_.style.left = event.offsetX + 'px';
177 }; 218 };
178 219
179 })(); 220 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698