chromium/content/browser/resources/net/network_errors_listing.js

// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import {$} from 'chrome://resources/js/util.js';

/**
 * Generate the page content.
 * @param {Array<Object>} errorCodes Error codes array consisting of a
 *    numerical error ID and error code string.
 */
function listErrorCodes(errorCodes) {
  const errorPageUrl = 'chrome://network-error/';
  const errorCodesList = document.createElement('ul');
  for (let i = 0; i < errorCodes.length; i++) {
    const listEl = document.createElement('li');
    const errorCodeLinkEl = document.createElement('a');
    errorCodeLinkEl.href = errorPageUrl + errorCodes[i].errorId;
    errorCodeLinkEl.textContent =
        errorCodes[i].errorCode + ' (' + errorCodes[i].errorId + ')';
    listEl.appendChild(errorCodeLinkEl);
    errorCodesList.appendChild(listEl);
  }
  $('pages').appendChild(errorCodesList);
}

function initialize() {
  const xhr = new XMLHttpRequest();
  xhr.open('GET', 'network-error-data.json');
  xhr.addEventListener('load', function(e) {
    if (xhr.status === 200) {
      try {
        const data = JSON.parse(xhr.responseText);
        listErrorCodes(data['errorCodes']);
      } catch (e) {
        $('pages').innerText = 'Could not parse the error codes data. ' +
            'Try reloading the page.';
      }
    }
  });
  xhr.send();
}

document.addEventListener('DOMContentLoaded', initialize);