Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(946)

Unified Diff: netlog_viewer/util.js

Issue 2154753002: Serving version 1 of the web app. All code has been copied from the (Closed) Base URL: https://github.com/catapult-project/catapult.git@gh-pages
Patch Set: Removed some unecessary files. Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « netlog_viewer/ui_webui_resources_js_util.js ('k') | netlog_viewer/view.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: netlog_viewer/util.js
diff --git a/netlog_viewer/util.js b/netlog_viewer/util.js
new file mode 100644
index 0000000000000000000000000000000000000000..57048ddfe68f71999e429eff94f0c92839819073
--- /dev/null
+++ b/netlog_viewer/util.js
@@ -0,0 +1,176 @@
+// 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.
+
+/**
+ * Sets the width (in pixels) on a DOM node.
+ * @param {!HtmlNode} node The node whose width is being set.
+ * @param {number} widthPx The width in pixels.
+ */
+function setNodeWidth(node, widthPx) {
+ node.style.width = widthPx.toFixed(0) + 'px';
+}
+
+/**
+ * Sets the height (in pixels) on a DOM node.
+ * @param {!HtmlNode} node The node whose height is being set.
+ * @param {number} heightPx The height in pixels.
+ */
+function setNodeHeight(node, heightPx) {
+ node.style.height = heightPx.toFixed(0) + 'px';
+}
+
+/**
+ * Sets the position and size of a DOM node (in pixels).
+ * @param {!HtmlNode} node The node being positioned.
+ * @param {number} leftPx The left position in pixels.
+ * @param {number} topPx The top position in pixels.
+ * @param {number} widthPx The width in pixels.
+ * @param {number} heightPx The height in pixels.
+ */
+function setNodePosition(node, leftPx, topPx, widthPx, heightPx) {
+ node.style.left = leftPx.toFixed(0) + 'px';
+ node.style.top = topPx.toFixed(0) + 'px';
+ setNodeWidth(node, widthPx);
+ setNodeHeight(node, heightPx);
+}
+
+/**
+ * Sets the visibility for a DOM node.
+ * @param {!HtmlNode} node The node being positioned.
+ * @param {boolean} isVisible Whether to show the node or not.
+ */
+function setNodeDisplay(node, isVisible) {
+ node.style.display = isVisible ? '' : 'none';
+}
+
+/**
+ * Adds a node to |parentNode|, of type |tagName|.
+ * @param {!HtmlNode} parentNode The node that will be the parent of the new
+ * element.
+ * @param {string} tagName the tag name of the new element.
+ * @return {!HtmlElement} The newly created element.
+ */
+function addNode(parentNode, tagName) {
+ var elem = parentNode.ownerDocument.createElement(tagName);
+ parentNode.appendChild(elem);
+ return elem;
+}
+
+/**
+ * Adds |text| to node |parentNode|.
+ * @param {!HtmlNode} parentNode The node to add text to.
+ * @param {string} text The text to be added.
+ * @return {!Object} The newly created text node.
+ */
+function addTextNode(parentNode, text) {
+ var textNode = parentNode.ownerDocument.createTextNode(text);
+ parentNode.appendChild(textNode);
+ return textNode;
+}
+
+/**
+ * Adds a node to |parentNode|, of type |tagName|. Then adds
+ * |text| to the new node.
+ * @param {!HtmlNode} parentNode The node that will be the parent of the new
+ * element.
+ * @param {string} tagName the tag name of the new element.
+ * @param {string} text The text to be added.
+ * @return {!HtmlElement} The newly created element.
+ */
+function addNodeWithText(parentNode, tagName, text) {
+ var elem = parentNode.ownerDocument.createElement(tagName);
+ parentNode.appendChild(elem);
+ addTextNode(elem, text);
+ return elem;
+}
+
+/**
+ * Returns the key such that map[key] == value, or the string '?' if
+ * there is no such key.
+ * @param {!Object} map The object being used as a lookup table.
+ * @param {Object} value The value to be found in |map|.
+ * @return {string} The key for |value|, or '?' if there is no such key.
+ */
+function getKeyWithValue(map, value) {
+ for (var key in map) {
+ if (map[key] == value)
+ return key;
+ }
+ return '?';
+}
+
+/**
+ * Returns a new map with the keys and values of the input map inverted.
+ * @param {!Object} map The object to have its keys and values reversed. Not
+ * modified by the function call.
+ * @return {Object} The new map with the reversed keys and values.
+ */
+function makeInverseMap(map) {
+ var reversed = {};
+ for (var key in map)
+ reversed[map[key]] = key;
+ return reversed;
+}
+
+/**
+ * Looks up |key| in |map|, and returns the resulting entry, if there is one.
+ * Otherwise, returns |key|. Intended primarily for use with incomplete
+ * tables, and for reasonable behavior with system enumerations that may be
+ * extended in the future.
+ * @param {!Object} map The table in which |key| is looked up.
+ * @param {string} key The key to look up.
+ * @return {Object|string} map[key], if it exists, or |key| if it doesn't.
+ */
+function tryGetValueWithKey(map, key) {
+ if (key in map)
+ return map[key];
+ return key;
+}
+
+/**
+ * Builds a string by repeating |str| |count| times.
+ * @param {string} str The string to be repeated.
+ * @param {number} count The number of times to repeat |str|.
+ * @return {string} The constructed string
+ */
+function makeRepeatedString(str, count) {
+ var out = [];
+ for (var i = 0; i < count; ++i)
+ out.push(str);
+ return out.join('');
+}
+
+/**
+ * Clones a basic POD object. Only a new top level object will be cloned. It
+ * will continue to reference the same values as the original object.
+ * @param {Object} object The object to be cloned.
+ * @return {Object} A copy of |object|.
+ */
+function shallowCloneObject(object) {
+ if (!(object instanceof Object))
+ return object;
+ var copy = {};
+ for (var key in object) {
+ copy[key] = object[key];
+ }
+ return copy;
+}
+
+/**
+ * Helper to make sure singleton classes are not instantiated more than once.
+ * @param {Function} ctor The constructor function being checked.
+ */
+function assertFirstConstructorCall(ctor) {
+ // This is the variable which is set by cr.addSingletonGetter().
+ if (ctor.hasCreateFirstInstance_) {
+ throw Error('The class ' + ctor.name + ' is a singleton, and should ' +
+ 'only be accessed using ' + ctor.name + '.getInstance().');
+ }
+ ctor.hasCreateFirstInstance_ = true;
+}
+
+function hasTouchScreen() {
+ return 'ontouchstart' in window;
+}
+
« no previous file with comments | « netlog_viewer/ui_webui_resources_js_util.js ('k') | netlog_viewer/view.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698