| Index: remoting/tools/remote_test_helper/jsonrpc.js
|
| diff --git a/remoting/tools/remote_test_helper/jsonrpc.js b/remoting/tools/remote_test_helper/jsonrpc.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b4087276de0246000b3bec0ea7f6854223a227ff
|
| --- /dev/null
|
| +++ b/remoting/tools/remote_test_helper/jsonrpc.js
|
| @@ -0,0 +1,64 @@
|
| +// Copyright (c) 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +var jsonRpc = {};
|
| +jsonRpc.responseObject = null;
|
| +
|
| +jsonRpc.setLastEvent = function(action, value, modifiers) {
|
| + var request = jsonRpc.generateJsonRpcRequest(
|
| + 'SetLastEvent', [action, value, modifiers]);
|
| + return jsonRpc.sendRpcRequest(request);
|
| +}
|
| +
|
| +jsonRpc.getLastEvent = function() {
|
| + var request = jsonRpc.generateJsonRpcRequest('GetLastEvent', []);
|
| + return jsonRpc.sendRpcRequest(request);
|
| +}
|
| +
|
| +jsonRpc.clearLastEvent = function() {
|
| + var request = jsonRpc.generateJsonRpcRequest('ClearLastEvent', []);
|
| + return jsonRpc.sendRpcRequest(request);
|
| +}
|
| +
|
| +/**
|
| + * Generate the JSON request.
|
| + * @param {string} methodname The name of the remote method.
|
| + * @param {list} params The method parameters to pass.
|
| + * @param {integer} ident The request id.
|
| + * @return The JSON-RPC request object
|
| + **/
|
| +jsonRpc.generateJsonRpcRequest = function(methodname, params, ident) {
|
| + ident = ident == undefined ? '...' : ident;
|
| + var request = {
|
| + "jsonrpc": "2.0",
|
| + "method": methodname,
|
| + "params": params,
|
| + "id": ident
|
| + };
|
| + return request;
|
| +}
|
| +
|
| +/**
|
| + * Method to POST the request to the RPC server.
|
| + * @param {object} json_request The JSON request object.
|
| + **/
|
| +jsonRpc.sendRpcRequest = function(json_request) {
|
| + var xhr = new XMLHttpRequest();
|
| + xhr.open('POST', '/RPC2', true);
|
| + xhr.onreadystatechange = function () {
|
| + if (xhr.readyState == 4 && xhr.status == 200) {
|
| + console.log('Response text: ' + xhr.responseText);
|
| + try {
|
| + var response = xhr.responseText;
|
| + jsonRpc.responseObject = JSON.parse(response).response;
|
| + } catch (err) {
|
| + console.error('Could not parse server response.');
|
| + return;
|
| + }
|
| + }
|
| + }
|
| + string_request = JSON.stringify(json_request);
|
| + console.log('Request text: ' + string_request);
|
| + xhr.send(string_request);
|
| +}
|
|
|