Press n or j to go to the next uncovered block, b, p or k for the previous block.
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | 7x 7x 7x 3287x 3287x 3281x 10663x 10663x 10663x 3281x 7x 213x 213x 147x 4504x 147x 7x 7x 111x 111x 111x 7x 567x 7x 1024x | /* Copyright 2008-2010 University of Cambridge Copyright 2008-2010 University of Toronto Licensed under the Educational Community License (ECL), Version 2.0 or the New BSD license. You may not use this file except in compliance with one these Licenses. You may obtain a copy of the ECL 2.0 License and BSD License at https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt */ var fluid_3_0_0 = fluid_3_0_0 || {}; (function ($, fluid) { "use strict"; /* * Returns the absolute position of a supplied DOM node in pixels. * Implementation taken from quirksmode http://www.quirksmode.org/js/findpos.html * At the original time of writing considerably quicker and more reliable than jQuery.offset() * - this should be reevaluated in time. */ fluid.dom.computeAbsolutePosition = function (element) { var curleft = 0, curtop = 0; if (element.offsetParent) { do { curleft += element.offsetLeft; curtop += element.offsetTop; element = element.offsetParent; } while (element); return [curleft, curtop]; } }; /* * Cleanse the children of a DOM node by removing all <script> tags. * This is necessary to prevent the possibility that these blocks are * reevaluated if the node were reattached to the document. */ fluid.dom.cleanseScripts = function (element) { var cleansed = $.data(element, fluid.dom.cleanseScripts.MARKER); if (!cleansed) { fluid.dom.iterateDom(element, function (node) { return node.tagName.toLowerCase() === "script" ? "delete" : null; }); $.data(element, fluid.dom.cleanseScripts.MARKER, true); } }; fluid.dom.cleanseScripts.MARKER = "fluid-scripts-cleansed"; /** * Inserts newChild as the next sibling of refChild. * @param {Object} newChild - The new child element to insert. * @param {Object} refChild - The existing child element. */ fluid.dom.insertAfter = function (newChild, refChild) { var nextSib = refChild.nextSibling; Iif (!nextSib) { refChild.parentNode.appendChild(newChild); } else { refChild.parentNode.insertBefore(newChild, nextSib); } }; // The following two functions taken from http://developer.mozilla.org/En/Whitespace_in_the_DOM /** * Determine whether a node's text content is entirely whitespace. * * @param {Object} node - A node implementing the |CharacterData| interface (i.e., a |Text|, |Comment|, or |CDATASection| node). * @return {Boolean} - True if all of the text content of `node` is whitespace, otherwise false. */ fluid.dom.isWhitespaceNode = function (node) { // Use ECMA-262 Edition 3 String and RegExp features return !(/[^\t\n\r ]/.test(node.data)); }; /** * Determine if a node should be ignored by the iterator functions. * * @param {Object} node - An object implementing the DOM1 |Node| interface. * @return {Boolean} - Returns `true` if the node is: * 1) A |Text| node that is all whitespace * 2) A |Comment| node * and otherwise `false`. */ fluid.dom.isIgnorableNode = function (node) { return (node.nodeType === 8) || // A comment node ((node.nodeType === 3) && fluid.dom.isWhitespaceNode(node)); // a text node, all ws }; })(jQuery, fluid_3_0_0); |