nl_tokens: Creates an instance of this class .
pl_tokens: function TextTrackMenuItem ( player , options ) { classCallCheck ( this , TextTrackMenuItem ) ; var track = options . track ; var tracks = player . textTracks ( ) ; // Modify options for parent MenuItem class's init. options . label = track . label || track . language || 'Unknown' ; options . selected = track . mode === 'showing' ; var _this = possibleConstructorReturn ( this , _MenuItem . call ( this , player , options ) ) ; _this . track = track ; var changeHandler = bind ( _this , _this . handleTracksChange ) ; var selectedLanguageChangeHandler = bind ( _this , _this . handleSelectedLanguageChange ) ; <mask> . on ( [ 'loadstart' , 'texttrackchange' ] , changeHandler ) ; tracks . addEventListener ( 'change' , changeHandler ) ; tracks . addEventListener ( 'selectedlanguagechange' , selectedLanguageChangeHandler ) ; _this . on ( 'dispose' , function ( ) { tracks . removeEventListener ( 'change' , changeHandler ) ; tracks . removeEventListener ( 'selectedlanguagechange' , selectedLanguageChangeHandler ) ; } ) ; // iOS7 doesn't dispatch change events to TextTrackLists when an // associated track's mode changes. Without something like // Object.observe() (also not present on iOS7), it's not // possible to detect changes to the mode attribute and polyfill // the change event. As a poor substitute, we manually dispatch // change events whenever the controls modify the mode. if ( tracks . onchange === undefined ) { var event = void 0 ; _this . on ( [ 'tap' , 'click' ] , function ( ) { if ( _typeof ( window . Event ) !== 'object' ) { // Android 2.3 throws an Illegal Constructor error for window.Event try { event = new window . Event ( 'change' ) ; } catch ( err ) { // continue regardless of error } } if ( ! event ) { event = document . createEvent ( 'Event' ) ; event . initEvent ( 'change' , true , true ) ; } tracks . dispatchEvent ( event ) ; } ) ; } return _this ; }