15c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
25c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// found in the LICENSE file.
45c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
55c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/**
65c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Creates an element named |elementName| containing the content |text|.
75c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * @param {string} elementName Name of the new element to be created.
85c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * @param {string} text Text to be contained in the new element.
95c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * @param {Object} opt_attributes Optional attribute dictionary for the element.
105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * @return {HTMLElement} The newly created HTML element.
115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) */
125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)function createElementFromText(elementName, text, opt_attributes) {
135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)  var element = document.createElement(elementName);
145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)  element.appendChild(document.createTextNode(text));
155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)  if (opt_attributes) {
165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    for (var key in opt_attributes)
175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)      element.setAttribute(key, opt_attributes[key]);
185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)  }
195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)  return element;
205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}
215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/**
235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Creates an element with |tagName| containing the content |dict|.
245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * @param {string} elementName Name of the new element to be created.
255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * @param {Object.<string, string>} dict Dictionary to be contained in the new
265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * element.
27bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles) * @return {HTMLElement} The newly created HTML element.
285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) */
2953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)function createElementFromDictionary(elementName, dict) {
3053e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)  var element = document.createElement(elementName);
315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)  for (var key in dict) {
32c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)    element.appendChild(document.createTextNode(key + ': ' + dict[key]));
335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    element.appendChild(document.createElement('br'));
34bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)  }
355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)  return element;
36bfe3590b1806e3ff18f46ee3af5d4b83078f305aTorne (Richard Coles)}
375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)