blob: 203c23edc5a8e6e551396436b7f147e458c2c1f8 [file] [log] [blame]
goog.provide('ModifierKeys');
goog.require('Utils');
goog.require('bot.Device');
goog.require('fxdriver.moz');
ModifierKeys = function() {
this.wrappedJSObject = this;
this.QueryInterface = fxdriver.moz.queryInterface(this, [CI.nsISupports, CI.wdIModifierKeys]);
this.backingState_ = new bot.Device.ModifiersState();
};
ModifierKeys.prototype.isShiftPressed = function() {
return this.backingState_.isShiftPressed();
};
ModifierKeys.prototype.isControlPressed = function() {
return this.backingState_.isControlPressed();
};
ModifierKeys.prototype.isAltPressed = function() {
return this.backingState_.isAltPressed();
};
ModifierKeys.prototype.isMetaPressed = function() {
return this.backingState_.isMetaPressed();
};
ModifierKeys.prototype.setShiftPressed = function(isPressed) {
this.backingState_.setPressed(bot.Device.Modifier.SHIFT, isPressed);
};
ModifierKeys.prototype.setControlPressed = function(isPressed) {
this.backingState_.setPressed(bot.Device.Modifier.CONTROL, isPressed);
};
ModifierKeys.prototype.setAltPressed = function(isPressed) {
this.backingState_.setPressed(bot.Device.Modifier.ALT, isPressed);
};
ModifierKeys.prototype.setMetaPressed = function(isPressed) {
this.backingState_.setPressed(bot.Device.Modifier.META, isPressed);
};
ModifierKeys.prototype.classDescription = 'Keeps the state of the modifier keys (shift, alt, meta, ctrl)';
ModifierKeys.prototype.contractID = '@googlecode.com/webdriver/modifierkeys;1';
ModifierKeys.prototype.classID = Components.ID('{2E4B69B9-21FE-48ad-A2F6-AB355D6D2FCE}');
/** @const */ var components = [ModifierKeys];
fxdriver.moz.load('resource://gre/modules/XPCOMUtils.jsm');
if (XPCOMUtils.generateNSGetFactory) {
NSGetFactory = XPCOMUtils.generateNSGetFactory(components);
} else {
NSGetModule = XPCOMUtils.generateNSGetModule(components);
}