function hasModifier(e, countShiftAsModifier) {
    return e.ctrlKey || e.altKey ||
        // Meta key is only relevant on Mac and CrOS, where we treat Command
        // and Search (respectively) as modifiers.
        (cr.isMac && e.metaKey) || (cr.isChromeOS && e.metaKey) ||
        (countShiftAsModifier && e.shiftKey);
  }
/**
   * Returns whether the keyboard event has a key modifier, which could affect
   * how it's handled.
   * @param {!KeyboardEvent} e
   * @param {boolean} countShiftAsModifier Whether the 'Shift' key should be
   *     counted as modifier.
   * @return {boolean} True if the event has any modifiers.
   */
Returns whether the keyboard event has a key modifier, which could affect
how it's handled.
@param {!KeyboardEvent} e
@param {boolean} countShiftAsModifier Whether the 'Shift' key should be
counted as modifier.
@return {boolean} True if the event has any modifiers.
Returns whether the keyboard event has a key modifier which could affect how it ' s handled . @param { !KeyboardEvent } e @param { boolean } countShiftAsModifier Whether the ' Shift ' key should be counted as modifier . @return { boolean } True if the event has any modifiers .
function hasModifier(e, countShiftAsModifier) {
    return e.ctrlKey || e.altKey ||
        (cr.isMac && e.metaKey) || (cr.isChromeOS && e.metaKey) ||
        (countShiftAsModifier && e.shiftKey);
  }
function hasModifier ( e , countShiftAsModifier ) { return e . ctrlKey || e . altKey || ( cr . isMac && e . metaKey ) || ( cr . isChromeOS && e . metaKey ) || ( countShiftAsModifier && e . shiftKey ) ; }
Returns whether the keyboard event has a key modifier, which could affect
 how it's handled.
Returns whether the keyboard event has a key modifier which could affect how it ' s handled .
// Meta key is only relevant on Mac and CrOS, where we treat Command // and Search (respectively) as modifiers.