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

Unified Diff: remoting/webapp/client_session.js

Issue 552403004: Interfaceify ClientPlugin in preparation for mocking it. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Renamed interfaces. Created 6 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: remoting/webapp/client_session.js
diff --git a/remoting/webapp/client_session.js b/remoting/webapp/client_session.js
index 02c2dddb384da704007fb1352e459a1e0fa25283..211c9145ee770171bd4efa7fb7c28669964c4f1c 100644
--- a/remoting/webapp/client_session.js
+++ b/remoting/webapp/client_session.js
@@ -234,15 +234,15 @@ remoting.ClientSession.prototype.updateScrollbarVisibility = function() {
// Determine whether or not horizontal or vertical scrollbars are
// required, taking into account their width.
var clientArea = this.getClientArea_();
- needsVerticalScroll = clientArea.height < this.plugin_.desktopHeight;
- needsHorizontalScroll = clientArea.width < this.plugin_.desktopWidth;
+ needsVerticalScroll = clientArea.height < this.plugin_.getDesktopHeight();
+ needsHorizontalScroll = clientArea.width < this.plugin_.getDesktopWidth();
var kScrollBarWidth = 16;
if (needsHorizontalScroll && !needsVerticalScroll) {
needsVerticalScroll =
- clientArea.height - kScrollBarWidth < this.plugin_.desktopHeight;
+ clientArea.height - kScrollBarWidth < this.plugin_.getDesktopHeight();
} else if (!needsHorizontalScroll && needsVerticalScroll) {
needsHorizontalScroll =
- clientArea.width - kScrollBarWidth < this.plugin_.desktopWidth;
+ clientArea.width - kScrollBarWidth < this.plugin_.getDesktopWidth();
}
}
@@ -447,7 +447,7 @@ remoting.ClientSession.prototype.pluginLostFocus_ = function() {
*/
remoting.ClientSession.prototype.createPluginAndConnect =
function(onExtensionMessage) {
- this.plugin_ = new remoting.ClientPlugin(
+ this.plugin_ = remoting.ClientPlugin.factory.createPlugin(
this.container_.querySelector('.client-plugin-container'),
onExtensionMessage);
remoting.HostSettings.load(this.hostId_,
@@ -500,7 +500,7 @@ remoting.ClientSession.prototype.setFocusHandlers_ = function() {
*/
remoting.ClientSession.prototype.resetWithError_ = function(error) {
this.signalStrategy_.setIncomingStanzaCallback(null);
- this.plugin_.cleanup();
+ this.plugin_.dispose();
this.plugin_ = null;
this.error_ = error;
this.setState_(remoting.ClientSession.State.FAILED);
@@ -557,23 +557,24 @@ remoting.ClientSession.prototype.onPluginInitialized_ = function(initialized) {
this.container_.classList.remove('mediasource-rendering');
}
- /** @param {string} msg The IQ stanza to send. */
- this.plugin_.onOutgoingIqHandler = this.sendIq_.bind(this);
- /** @param {string} msg The message to log. */
- this.plugin_.onDebugMessageHandler = function(msg) {
- console.log('plugin: ' + msg.trimRight());
- };
+ this.plugin_.setOnOutgoingIqHandler(this.sendIq_.bind(this));
+ this.plugin_.setOnDebugMessageHandler(
+ /** @param {string} msg */
+ function(msg) {
+ console.log('plugin: ' + msg.trimRight());
+ });
- this.plugin_.onConnectionStatusUpdateHandler =
- this.onConnectionStatusUpdate_.bind(this);
- this.plugin_.onConnectionReadyHandler = this.onConnectionReady_.bind(this);
- this.plugin_.onDesktopSizeUpdateHandler =
- this.onDesktopSizeChanged_.bind(this);
- this.plugin_.onSetCapabilitiesHandler = this.onSetCapabilities_.bind(this);
- this.plugin_.onGnubbyAuthHandler = this.processGnubbyAuthMessage_.bind(this);
- this.plugin_.updateMouseCursorImage = this.updateMouseCursorImage_.bind(this);
- this.plugin_.onCastExtensionHandler =
- this.processCastExtensionMessage_.bind(this);
+ this.plugin_.setConnectionStatusUpdateHandler(
+ this.onConnectionStatusUpdate_.bind(this));
+ this.plugin_.setConnectionReadyHandler(this.onConnectionReady_.bind(this));
+ this.plugin_.setDesktopSizeUpdateHandler(
+ this.onDesktopSizeChanged_.bind(this));
+ this.plugin_.setCapabilitiesHandler(this.onSetCapabilities_.bind(this));
+ this.plugin_.setGnubbyAuthHandler(
+ this.processGnubbyAuthMessage_.bind(this));
+ this.plugin_.setMouseCursorHandler(this.updateMouseCursorImage_.bind(this));
+ this.plugin_.setCastExtensionHandler(
+ this.processCastExtensionMessage_.bind(this));
this.initiateConnection_();
};
@@ -590,7 +591,7 @@ remoting.ClientSession.prototype.removePlugin = function() {
'focus', this.callPluginGotFocus_, false);
this.plugin_.element().removeEventListener(
'blur', this.callPluginLostFocus_, false);
- this.plugin_.cleanup();
+ this.plugin_.dispose();
this.plugin_ = null;
}
@@ -917,7 +918,7 @@ remoting.ClientSession.prototype.getSharedSecret_ = function(callback) {
tokenUrl, hostPublicKey, scope,
that.plugin_.onThirdPartyTokenFetched.bind(that.plugin_));
};
- this.plugin_.fetchThirdPartyTokenHandler = fetchThirdPartyToken;
+ this.plugin_.setFetchThirdPartyTokenHandler(fetchThirdPartyToken);
}
if (this.accessCode_) {
// Shared secret was already supplied before connecting (It2Me case).
@@ -931,7 +932,7 @@ remoting.ClientSession.prototype.getSharedSecret_ = function(callback) {
that.fetchPin_(pairingSupported,
that.plugin_.onPinFetched.bind(that.plugin_));
};
- this.plugin_.fetchPinHandler = fetchPin;
+ this.plugin_.setFetchPinHandler(fetchPin);
callback('');
} else {
// Clients that don't support asking for a PIN asynchronously also don't
@@ -1147,10 +1148,10 @@ remoting.ClientSession.prototype.pauseAudio = function(pause) {
*/
remoting.ClientSession.prototype.onDesktopSizeChanged_ = function() {
console.log('desktop size changed: ' +
- this.plugin_.desktopWidth + 'x' +
- this.plugin_.desktopHeight +' @ ' +
- this.plugin_.desktopXDpi + 'x' +
- this.plugin_.desktopYDpi + ' DPI');
+ this.plugin_.getDesktopWidth() + 'x' +
+ this.plugin_.getDesktopHeight() +' @ ' +
+ this.plugin_.getDesktopXDpi() + 'x' +
+ this.plugin_.getDesktopYDpi() + ' DPI');
this.updateDimensions();
this.updateScrollbarVisibility();
};
@@ -1162,14 +1163,14 @@ remoting.ClientSession.prototype.onDesktopSizeChanged_ = function() {
* @return {void} Nothing.
*/
remoting.ClientSession.prototype.updateDimensions = function() {
- if (this.plugin_.desktopWidth == 0 ||
- this.plugin_.desktopHeight == 0) {
+ if (this.plugin_.getDesktopWidth() == 0 ||
+ this.plugin_.getDesktopHeight() == 0) {
return;
}
var clientArea = this.getClientArea_();
- var desktopWidth = this.plugin_.desktopWidth;
- var desktopHeight = this.plugin_.desktopHeight;
+ var desktopWidth = this.plugin_.getDesktopWidth();
+ var desktopHeight = this.plugin_.getDesktopHeight();
// When configured to display a host at its original size, we aim to display
// it as close to its physical size as possible, without losing data:
@@ -1183,8 +1184,8 @@ remoting.ClientSession.prototype.updateDimensions = function() {
// an initial scale factor based on the client devicePixelRatio and host DPI.
// Determine the effective device pixel ratio of the host, based on DPI.
- var hostPixelRatioX = Math.ceil(this.plugin_.desktopXDpi / 96);
- var hostPixelRatioY = Math.ceil(this.plugin_.desktopYDpi / 96);
+ var hostPixelRatioX = Math.ceil(this.plugin_.getDesktopXDpi() / 96);
+ var hostPixelRatioY = Math.ceil(this.plugin_.getDesktopYDpi() / 96);
var hostPixelRatio = Math.min(hostPixelRatioX, hostPixelRatioY);
// Down-scale by the smaller of the client and host ratios.

Powered by Google App Engine
This is Rietveld 408576698