suite.js
function sendTab(opt_shiftKey) {
    var ev = null;
    try {
      ev = new KeyboardEvent('keydown', {
        keyCode: 9,
        which: 9,
        key: 'Tab',
        code: 'Tab',
        keyIdentifier: 'U+0009',
        shiftKey: !!opt_shiftKey,
        bubbles: true
      });
    } catch (e) {
      try {
        // Internet Explorer
        ev = document.createEvent('KeyboardEvent');
        ev.initKeyboardEvent(
          'keydown',
          true,
          true,
          window,
          'Tab',
          0,
          opt_shiftKey ? 'Shift' : '',
          false,
          'en'
        )
      } catch (e) {}
    }
    if (ev) {
      try {
        Object.defineProperty(ev, 'keyCode', { value: 9 });
      } catch (e) {}
      document.dispatchEvent(ev);
    }
  }
function sendTab(opt_shiftKey) {
    var ev = null;
    try {
      ev = new KeyboardEvent('keydown', {
        keyCode: 9,
        which: 9,
        key: 'Tab',
        code: 'Tab',
        keyIdentifier: 'U+0009',
        shiftKey: !!opt_shiftKey,
        bubbles: true
      });
    } catch (e) {
      try {
        // Internet Explorer
        ev = document.createEvent('KeyboardEvent');
        ev.initKeyboardEvent(
          'keydown',
          true,
          true,
          window,
          'Tab',
          0,
          opt_shiftKey ? 'Shift' : '',
          false,
          'en'
        )
      } catch (e) {}
    }
    if (ev) {
      try {
        Object.defineProperty(ev, 'keyCode', { value: 9 });
      } catch (e) {}
      document.dispatchEvent(ev);
    }
  }
function sendTab ( opt_shiftKey ) { var ev = null ; try { ev = new KeyboardEvent ( 'keydown' , { keyCode : 9 , which : 9 , key : 'Tab' , code : 'Tab' , keyIdentifier : 'U+0009' , shiftKey : ! ! opt_shiftKey , bubbles : true } ) ; } catch ( e ) { try { // Internet Explorer ev = document . createEvent ( 'KeyboardEvent' ) ; ev . initKeyboardEvent ( 'keydown' , true , true , window , 'Tab' , 0 , opt_shiftKey ? 'Shift' : '' , false , 'en' ) } catch ( e ) { } } if ( ev ) { try { Object . defineProperty ( ev , 'keyCode' , { value : 9 } ) ; } catch ( e ) { } document . dispatchEvent ( ev ) ; } }
Sends a tab event on this document. Note that this is a copy of
dispatchTabEvent from the polyfill source.

@param {boolean=} opt_shiftKey whether to send this tab with shiftKey
Sends a tab event on this document . Note that this is a copy of dispatchTabEvent from the polyfill source .