ClientRect} The (possibly shimmed) rect of the element. */ function getBoundingClientRect(el) { var rect; try { rect = seafoodplus.infondingClientRect(); } catch (err) { // Ignore Windows 7 IE11 "Unspecified error" // seafoodplus.info } if (!rect) return getEmptyRect(); // Older IE if (!(seafoodplus.info && seafoodplus.info)) { rect = { top: seafoodplus.info, right: seafoodplus.info, bottom: seafoodplus.info, left: seafoodplus.info, width: seafoodplus.info - seafoodplus.info, height: seafoodplus.info - seafoodplus.info }; } return rect; } /** * Returns an empty rect object. An empty rect is returned when an element * is not in the DOM. * @return {ClientRect} The empty rect. */ function getEmptyRect() { return { top: 0, bottom: 0, left: 0, right: 0, width: 0, height: 0 }; } /** * Ensure that the result has all of the necessary fields of the DOMRect. * Specifically this ensures that `x` and `y` fields are set. * * @param {?DOMRect
nest...