/**
*
* Protocol bindings to receive or change the position of the browser window.
* If the `windowHandle` URL parameter is falsy, the currently active window will be considered.
*
* <example>
:windowHandlePosition.js
// get the position of
// a specified window
client.windowHandlePosition('{dc30381e-e2f3-9444-8bf3-12cc44e8372a}', function(err,res) { ... });
// the current window
client.windowHandlePosition(function(err,res) { ... });
// change the position of
// a specified window
client.windowHandlePosition('{dc30381e-e2f3-9444-8bf3-12cc44e8372a}', {x: 100, y: 200});
// the current window
client.windowHandlePosition({x: 100, y: 200});
* </example>
*
* @param {String=} windowHandle the window to receive/change the position
* @param {Object=} position the X and Y coordinates to position the window at, relative to the upper left corner of the screen
*
* @returns {Object} the X and Y coordinates for the window, relative to the upper left corner of the screen (`{x: number, y: number}`)
*
* @see https://code.google.com/p/selenium/wiki/JsonWireProtocol#GET_/session/:sessionId/window/:windowHandle/position
* @type protocol
*
*/
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
var windowHandlePosition = function windowHandlePosition(windowHandle, position) {
var data = {};
var requestOptions = {
method: 'POST'
};
if (typeof windowHandle !== 'string') {
position = windowHandle;
windowHandle = 'current';
}
requestOptions.path = '/session/:sessionId/window/' + windowHandle + '/position';
/**
* check if arguments provide proper position parameter
*/
if (typeof position === 'object' && typeof position.x === 'number' && typeof position.y === 'number') {
data = position;
/**
* otherwise fall back to get operation
*/
} else {
requestOptions.method = 'GET';
}
return this.requestHandler.create(requestOptions, data);
};
exports['default'] = windowHandlePosition;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvcHJvdG9jb2wvd2luZG93SGFuZGxlUG9zaXRpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdDQSxJQUFJLG9CQUFvQixHQUFHLFNBQXZCLG9CQUFvQixDQUFhLFlBQVksRUFBRSxRQUFRLEVBQUU7QUFDekQsUUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFBO0FBQ2IsUUFBSSxjQUFjLEdBQUc7QUFDakIsY0FBTSxFQUFFLE1BQU07S0FDakIsQ0FBQTs7QUFFRCxRQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVEsRUFBRTtBQUNsQyxnQkFBUSxHQUFHLFlBQVksQ0FBQTtBQUN2QixvQkFBWSxHQUFHLFNBQVMsQ0FBQTtLQUMzQjs7QUFFRCxrQkFBYyxDQUFDLElBQUksbUNBQWlDLFlBQVksY0FBVyxDQUFBOzs7OztBQUszRSxRQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxPQUFPLFFBQVEsQ0FBQyxDQUFDLEtBQUssUUFBUSxJQUFJLE9BQU8sUUFBUSxDQUFDLENBQUMsS0FBSyxRQUFRLEVBQUU7QUFDbEcsWUFBSSxHQUFHLFFBQVEsQ0FBQTs7Ozs7S0FLbEIsTUFBTTtBQUNILDBCQUFjLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQTtTQUNoQzs7QUFFRCxXQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQTtDQUMxRCxDQUFBOztxQkFFYyxvQkFBb0IiLCJmaWxlIjoiL1VzZXJzL2NocmlzdGlhbmJyb21hbm4vU2l0ZXMvV2VicHJvamVrdGUvd2ViZHJpdmVyanMvREVWL2xpYi9wcm90b2NvbC93aW5kb3dIYW5kbGVQb3NpdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICpcbiAqIFByb3RvY29sIGJpbmRpbmdzIHRvIHJlY2VpdmUgb3IgY2hhbmdlIHRoZSBwb3NpdGlvbiBvZiB0aGUgYnJvd3NlciB3aW5kb3cuXG4gKiBJZiB0aGUgYHdpbmRvd0hhbmRsZWAgVVJMIHBhcmFtZXRlciBpcyBmYWxzeSwgdGhlIGN1cnJlbnRseSBhY3RpdmUgd2luZG93IHdpbGwgYmUgY29uc2lkZXJlZC5cbiAqXG4gKiA8ZXhhbXBsZT5cbiAgICA6d2luZG93SGFuZGxlUG9zaXRpb24uanNcbiAgICAvLyBnZXQgdGhlIHBvc2l0aW9uIG9mXG4gICAgLy8gYSBzcGVjaWZpZWQgd2luZG93XG4gICAgY2xpZW50LndpbmRvd0hhbmRsZVBvc2l0aW9uKCd7ZGMzMDM4MWUtZTJmMy05NDQ0LThiZjMtMTJjYzQ0ZTgzNzJhfScsIGZ1bmN0aW9uKGVycixyZXMpIHsgLi4uIH0pO1xuXG4gICAgLy8gdGhlIGN1cnJlbnQgd2luZG93XG4gICAgY2xpZW50LndpbmRvd0hhbmRsZVBvc2l0aW9uKGZ1bmN0aW9uKGVycixyZXMpIHsgLi4uIH0pO1xuXG4gICAgLy8gY2hhbmdlIHRoZSBwb3NpdGlvbiBvZlxuICAgIC8vIGEgc3BlY2lmaWVkIHdpbmRvd1xuICAgIGNsaWVudC53aW5kb3dIYW5kbGVQb3NpdGlvbigne2RjMzAzODFlLWUyZjMtOTQ0NC04YmYzLTEyY2M0NGU4MzcyYX0nLCB7eDogMTAwLCB5OiAyMDB9KTtcblxuICAgIC8vIHRoZSBjdXJyZW50IHdpbmRvd1xuICAgIGNsaWVudC53aW5kb3dIYW5kbGVQb3NpdGlvbih7eDogMTAwLCB5OiAyMDB9KTtcbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZz19IHdpbmRvd0hhbmRsZSB0aGUgd2luZG93IHRvIHJlY2VpdmUvY2hhbmdlIHRoZSBwb3NpdGlvblxuICogQHBhcmFtIHtPYmplY3Q9fSBwb3NpdGlvbiAgICAgdGhlIFggYW5kIFkgY29vcmRpbmF0ZXMgdG8gcG9zaXRpb24gdGhlIHdpbmRvdyBhdCwgcmVsYXRpdmUgdG8gdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBzY3JlZW5cbiAqXG4gKiBAcmV0dXJucyB7T2JqZWN0fSB0aGUgWCBhbmQgWSBjb29yZGluYXRlcyBmb3IgdGhlIHdpbmRvdywgcmVsYXRpdmUgdG8gdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBzY3JlZW4gKGB7eDogbnVtYmVyLCB5OiBudW1iZXJ9YClcbiAqXG4gKiBAc2VlICBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL3NlbGVuaXVtL3dpa2kvSnNvbldpcmVQcm90b2NvbCNHRVRfL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd0hhbmRsZS9wb3NpdGlvblxuICogQHR5cGUgcHJvdG9jb2xcbiAqXG4gKi9cblxubGV0IHdpbmRvd0hhbmRsZVBvc2l0aW9uID0gZnVuY3Rpb24gKHdpbmRvd0hhbmRsZSwgcG9zaXRpb24pIHtcbiAgICBsZXQgZGF0YSA9IHt9XG4gICAgbGV0IHJlcXVlc3RPcHRpb25zID0ge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJ1xuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygd2luZG93SGFuZGxlICE9PSAnc3RyaW5nJykge1xuICAgICAgICBwb3NpdGlvbiA9IHdpbmRvd0hhbmRsZVxuICAgICAgICB3aW5kb3dIYW5kbGUgPSAnY3VycmVudCdcbiAgICB9XG5cbiAgICByZXF1ZXN0T3B0aW9ucy5wYXRoID0gYC9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93LyR7d2luZG93SGFuZGxlfS9wb3NpdGlvbmBcblxuICAgIC8qKlxuICAgICAqIGNoZWNrIGlmIGFyZ3VtZW50cyBwcm92aWRlIHByb3BlciBwb3NpdGlvbiBwYXJhbWV0ZXJcbiAgICAgKi9cbiAgICBpZiAodHlwZW9mIHBvc2l0aW9uID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgcG9zaXRpb24ueCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIHBvc2l0aW9uLnkgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGRhdGEgPSBwb3NpdGlvblxuXG4gICAgLyoqXG4gICAgICogb3RoZXJ3aXNlIGZhbGwgYmFjayB0byBnZXQgb3BlcmF0aW9uXG4gICAgICovXG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmVxdWVzdE9wdGlvbnMubWV0aG9kID0gJ0dFVCdcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0SGFuZGxlci5jcmVhdGUocmVxdWVzdE9wdGlvbnMsIGRhdGEpXG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpbmRvd0hhbmRsZVBvc2l0aW9uXG4iXX0= |