Chromium Code Reviews| Index: remoting/webapp/crd/js/connected_view.js |
| diff --git a/remoting/webapp/crd/js/connected_view.js b/remoting/webapp/crd/js/connected_view.js |
| index 26387bb423cfce3dcdefc5fddb14724422cc9604..70803e07ba14d170ca8cec51ea2c0dde0d6ddbbb 100644 |
| --- a/remoting/webapp/crd/js/connected_view.js |
| +++ b/remoting/webapp/crd/js/connected_view.js |
| @@ -45,6 +45,10 @@ remoting.ConnectedView = function(plugin, viewportElement, cursorElement) { |
| this.cursor_ = new remoting.ConnectedView.Cursor( |
| plugin, viewportElement, cursorElement); |
| + /** @private {Element} */ |
| + this.debugRegionContainer_ = |
| + viewportElement.querySelector('.debug-region-container'); |
| + |
| var pluginElement = plugin.element(); |
| /** private */ |
| @@ -123,6 +127,43 @@ remoting.ConnectedView.prototype.onPluginLostFocus_ = function() { |
| }; |
| /** |
| + * Handles dirty region debug messages. |
| + * |
| + * @param {{rects:Array<Array<number>>}} region Dirty region of the latest |
| + * frame. |
| + */ |
| +remoting.ConnectedView.prototype.handleDebugRegion = function(region) { |
|
kelvinp
2015/03/17 01:06:17
Moved from DesktopConnectedView.
|
| + while (this.debugRegionContainer_.firstChild) { |
| + this.debugRegionContainer_.removeChild( |
| + this.debugRegionContainer_.firstChild); |
| + } |
| + if (region.rects) { |
| + var rects = region.rects; |
| + for (var i = 0; i < rects.length; ++i) { |
| + var rect = document.createElement('div'); |
| + rect.classList.add('debug-region-rect'); |
| + rect.style.left = rects[i][0] + 'px'; |
| + rect.style.top = rects[i][1] +'px'; |
| + rect.style.width = rects[i][2] +'px'; |
| + rect.style.height = rects[i][3] + 'px'; |
| + this.debugRegionContainer_.appendChild(rect); |
| + } |
| + } |
| +}; |
| + |
| +/** |
| + * Enables or disables rendering of dirty regions for debugging. |
| + * @param {boolean} enable True to enable rendering. |
| + */ |
| +remoting.ConnectedView.prototype.enableDebugRegion = function(enable) { |
|
kelvinp
2015/03/17 01:06:17
Moved from ClientSession.
|
| + if (enable) { |
| + this.plugin_.setDebugDirtyRegionHandler(this.handleDebugRegion.bind(this)); |
| + } else { |
| + this.plugin_.setDebugDirtyRegionHandler(null); |
| + } |
| +}; |
| + |
| +/** |
| * @param {remoting.ClientPlugin} plugin |
| * @param {HTMLElement} viewportElement |
| * @param {HTMLElement} cursorElement |