summaryrefslogtreecommitdiffstats
path: root/native_client_sdk/src/examples/websocket/example.js
blob: 561d044e32a3249604a1363009982e6051b34f5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Copyright (c) 2012 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.

// Called by the common.js module.
function attachListeners() {
  document.getElementById('connectForm').addEventListener('submit', doConnect);
  document.getElementById('sendForm').addEventListener('submit', doSend);
  document.getElementById('closeButton').addEventListener('click', doClose);
}

// Called by the common.js module.
function moduleDidLoad() {
  // The module is not hidden by default so we can easily see if the plugin
  // failed to load.
  common.hideModule();
}

function doConnect(event) {
  // Send a request message. See also websocket.cc for the request format.
  var url = document.getElementById('url').value;
  common.naclModule.postMessage('o;' + url);
  event.preventDefault();
}

function doSend() {
  // Send a request message. See also websocket.cc for the request format.
  var message = document.getElementById('message').value;
  common.naclModule.postMessage('s;' + message);
  event.preventDefault();
}

function doClose() {
  // Send a request message. See also websocket.cc for the request format.
  common.naclModule.postMessage('c;');
}

function handleMessage(message) {
  common.logMessage(message.data + '\n');
}