function augmentDimension(element, name, wantInner) {
    var isBorderBox = getPropertyValue(element, "boxSizing").toString().toLowerCase() === "border-box";
    if (isBorderBox === wantInner) {
        // in box-sizing mode, the CSS width / height accessors already
        // give the outerWidth / outerHeight.
        var sides = name === "width" ? ["Left", "Right"] : ["Top", "Bottom"],
            fields = ["padding" + sides[0], "padding" + sides[1], "border" + sides[0] + "Width", "border" + sides[1] + "Width"];
        var augment = 0;
        var _iteratorNormalCompletion = true;
        var _didIteratorError = false;
        var _iteratorError = undefined;

        try {
            for (var _iterator = fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
                var field = _step.value;

                var value = parseFloat(getPropertyValue(element, field));
                if (!isNaN(value)) {
                    augment += value;
                }
            }
        } catch (err) {
            _didIteratorError = true;
            _iteratorError = err;
        } finally {
            try {
                if (!_iteratorNormalCompletion && _iterator.return) {
                    _iterator.return();
                }
            } finally {
                if (_didIteratorError) {
                    throw _iteratorError;
                }
            }
        }

        return wantInner ? -augment : augment;
    }
    return 0;
}
Figure out the dimensions for this width / height based on the
potential borders and whether we care about them.