blob: 4e3a888d7e4548714589326301d08f585f8aa70a [file] [log] [blame]
// Copyright 2013 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 moduleDidLoad() {
// The module is not hidden by default so we can easily see if the plugin
// failed to load.
common.hideModule();
}
// Called by the common.js module.
function handleMessage(message) {
if (typeof message.data === "string") {
// We got an error from the NaCl module.
common.logMessage('Error: ' + message.data);
return;
}
// We expect that the message looks like this:
// [{
// name: "...", displayName: "...", state: "...", type: "...", MTU: 1234,
// ipAddresses: ["...", "..."]},
// {...},
// ]
//
// Append a <tr> to the <tbody> for each interface in the array.
// The order in the .html file is:
// index, display name, name, type, state, ip addresses, MTU.
var net_interfaces = message.data;
var tbodyEl = document.querySelector('tbody');
// First, clear the tbody.
while (tbodyEl.firstChild) {
tbodyEl.removeChild(tbodyEl.firstChild);
}
for (var i = 0; i < net_interfaces.length; ++i) {
var net_interface = net_interfaces[i];
var trEl = document.createElement('tr');
trEl.appendChild(makeTd(i));
trEl.appendChild(makeTd(net_interface.displayName));
trEl.appendChild(makeTd(net_interface.name));
trEl.appendChild(makeTd(net_interface.type));
trEl.appendChild(makeTd(net_interface.state));
// ipAddresses is an array of strings. Let's join them with a comma.
trEl.appendChild(makeTd(net_interface.ipAddresses.join(', ')));
trEl.appendChild(makeTd(net_interface.MTU));
tbodyEl.appendChild(trEl);
}
}
function makeTd(text) {
var tdEl = document.createElement('td');
tdEl.textContent = text;
return tdEl;
}