webshims-rails 1.10.10 → 1.10.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +8 -8
  2. data/MIT_LICENSE.txt +3 -1
  3. data/lib/webshims-rails/version.rb +2 -2
  4. data/vendor/assets/javascripts/webshims/polyfiller.js +8 -9
  5. data/vendor/assets/javascripts/webshims/shims/combos/1.js +91 -58
  6. data/vendor/assets/javascripts/webshims/shims/combos/10.js +247 -101
  7. data/vendor/assets/javascripts/webshims/shims/combos/11.js +241 -96
  8. data/vendor/assets/javascripts/webshims/shims/combos/12.js +79 -58
  9. data/vendor/assets/javascripts/webshims/shims/combos/13.js +79 -12
  10. data/vendor/assets/javascripts/webshims/shims/combos/14.js +6 -5
  11. data/vendor/assets/javascripts/webshims/shims/combos/15.js +68 -75
  12. data/vendor/assets/javascripts/webshims/shims/combos/16.js +147 -133
  13. data/vendor/assets/javascripts/webshims/shims/combos/17.js +288 -143
  14. data/vendor/assets/javascripts/webshims/shims/combos/18.js +288 -143
  15. data/vendor/assets/javascripts/webshims/shims/combos/19.js +85 -63
  16. data/vendor/assets/javascripts/webshims/shims/combos/2.js +97 -91
  17. data/vendor/assets/javascripts/webshims/shims/combos/20.js +85 -17
  18. data/vendor/assets/javascripts/webshims/shims/combos/21.js +17 -17
  19. data/vendor/assets/javascripts/webshims/shims/combos/23.js +79 -58
  20. data/vendor/assets/javascripts/webshims/shims/combos/24.js +17 -16
  21. data/vendor/assets/javascripts/webshims/shims/combos/25.js +85 -63
  22. data/vendor/assets/javascripts/webshims/shims/combos/26.js +6 -5
  23. data/vendor/assets/javascripts/webshims/shims/combos/27.js +0 -46
  24. data/vendor/assets/javascripts/webshims/shims/combos/28.js +6 -5
  25. data/vendor/assets/javascripts/webshims/shims/combos/29.js +13 -6
  26. data/vendor/assets/javascripts/webshims/shims/combos/3.js +47 -31
  27. data/vendor/assets/javascripts/webshims/shims/combos/30.js +47 -59
  28. data/vendor/assets/javascripts/webshims/shims/combos/31.js +18 -33
  29. data/vendor/assets/javascripts/webshims/shims/combos/4.js +35 -31
  30. data/vendor/assets/javascripts/webshims/shims/combos/5.js +304 -157
  31. data/vendor/assets/javascripts/webshims/shims/combos/6.js +304 -185
  32. data/vendor/assets/javascripts/webshims/shims/combos/7.js +126 -117
  33. data/vendor/assets/javascripts/webshims/shims/combos/8.js +126 -89
  34. data/vendor/assets/javascripts/webshims/shims/combos/9.js +247 -129
  35. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +6 -5
  36. data/vendor/assets/javascripts/webshims/shims/form-core.js +12 -0
  37. data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +3 -0
  38. data/vendor/assets/javascripts/webshims/shims/form-datalist.js +0 -28
  39. data/vendor/assets/javascripts/webshims/shims/form-message.js +29 -26
  40. data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +16 -14
  41. data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +47 -47
  42. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +241 -96
  43. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +21 -16
  44. data/vendor/assets/javascripts/webshims/shims/form-validation.js +17 -16
  45. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +173 -41
  46. data/vendor/assets/javascripts/webshims/shims/geolocation.js +17 -17
  47. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ar.js +35 -33
  48. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-ZN.js +32 -30
  49. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.txt +17 -13
  50. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-el.js +32 -30
  51. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.txt +4 -1
  52. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-es.js +30 -28
  53. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fr.js +35 -32
  54. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-he.js +32 -30
  55. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hi.js +32 -30
  56. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hu.js +32 -30
  57. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-it.js +32 -30
  58. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ja.js +32 -30
  59. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-lt.js +37 -36
  60. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +32 -30
  61. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pl.js +5 -2
  62. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-PT.js +33 -30
  63. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ru.js +3 -1
  64. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js +32 -30
  65. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +79 -12
  66. data/vendor/assets/javascripts/webshims/shims/styles/forms.png +0 -0
  67. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +126 -121
  68. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +100 -111
  69. data/vendor/assets/javascripts/webshims/shims/swfmini.js +0 -46
  70. data/vendor/assets/javascripts/webshims/shims/track-ui.js +13 -6
  71. data/webshims-rails.gemspec +1 -0
  72. metadata +4 -3
@@ -41,20 +41,6 @@ article, aside, canvas, details, figcaption, figure, footer, header, hgroup, mai
41
41
  display: block;
42
42
  }
43
43
 
44
- dialog {
45
- display: none;
46
- postion: absolute;
47
- left: 0;
48
- right: 0;
49
- border: solid;
50
- background: #fff;
51
- color: #000;
52
- padding: 1em;
53
- }
54
- dialog[open] {
55
- display: block;
56
- }
57
-
58
44
  audio {
59
45
  display: none;
60
46
  height: 0;
@@ -86,7 +72,7 @@ audio > * {
86
72
  .flashblocker-assumed {
87
73
  min-height: 20px;
88
74
  min-width: 20px;
89
- z-index: 2147483647;
75
+ z-index: 99999;
90
76
  }
91
77
 
92
78
  .cue-display {
@@ -194,14 +180,6 @@ output {
194
180
  display: inline-block;
195
181
  zoom: 1;
196
182
  }
197
- .polyfill-important .placeholder-box {
198
- position: relative !important;
199
- display: inline-block !important;
200
- margin: 0 !important;
201
- padding: 0 !important;
202
- width: auto !important;
203
- height: auto !important;
204
- }
205
183
 
206
184
  .placeholder-box-input {
207
185
  vertical-align: bottom;
@@ -225,12 +203,6 @@ output {
225
203
  line-height: 1;
226
204
  cursor: text;
227
205
  }
228
- .polyfill-important .placeholder-text {
229
- margin: 0 !important;
230
- padding-right: 0 !important;
231
- padding-bottom: 0 !important;
232
- display: none !important;
233
- }
234
206
  .placeholder-visible .placeholder-text, .placeholder-text.placeholder-visible {
235
207
  display: inline-block;
236
208
  }
@@ -246,19 +218,11 @@ output {
246
218
  color: #ccc;
247
219
  }
248
220
 
249
- .polyfill-important .placeholder-visible .placeholder-text, .polyfill-important .placeholder-text.placeholder-visible {
250
- display: inline-block !important;
251
- }
252
-
253
221
  /* spinner control for time, number (usable for date, datetime-local) */
254
222
  .has-input-buttons {
255
223
  display: inline-block;
256
224
  }
257
225
 
258
- .polyfill-important .has-input-buttons {
259
- display: inline-block !important;
260
- }
261
-
262
226
  .input-buttons,
263
227
  .step-controls,
264
228
  .ws-popover-opener {
@@ -303,6 +267,9 @@ output {
303
267
  .color-input-buttons .ws-popover-opener span {
304
268
  background-position: -348px 0;
305
269
  }
270
+ .time-input-buttons .ws-popover-opener span {
271
+ background-position: -377px 1px;
272
+ }
306
273
  .ws-popover-opener span.ws-color-indicator-bg {
307
274
  background: url(../jpicker/images/preview-opacity.png) no-repeat 0;
308
275
  }
@@ -314,11 +281,6 @@ input[type="color"] {
314
281
  width: 6.5em;
315
282
  }
316
283
 
317
- .polyfill-important .input-buttons {
318
- display: inline-block !important;
319
- padding: 0 !important;
320
- vertical-align: middle !important;
321
- }
322
284
  .input-buttons.color-input-buttons {
323
285
  margin-left: 2px;
324
286
  }
@@ -348,12 +310,6 @@ input[type="color"] {
348
310
  line-height: 0;
349
311
  background: url(forms.png) no-repeat 0 0;
350
312
  }
351
- .polyfill-important .step-controls span {
352
- display: inline-block !important;
353
- margin: 0 !important;
354
- padding: 0 !important;
355
- font-size: 0 !important;
356
- }
357
313
  .step-controls span.step-up {
358
314
  top: 0;
359
315
  background-position: -80px 0;
@@ -405,10 +361,6 @@ input[type="color"] {
405
361
  text-align: center;
406
362
  display: inline-block;
407
363
  }
408
- .polyfill-important .ws-input input, .polyfill-important
409
- .ws-input .ws-input-seperator {
410
- display: inline-block !important;
411
- }
412
364
 
413
365
  .ws-date .mm,
414
366
  .ws-date .dd {
@@ -424,6 +376,21 @@ input[type="color"] {
424
376
  .no-boxsizing .ws-date .yy {
425
377
  width: 40%;
426
378
  }
379
+ .ws-date.ws-month-select .dd {
380
+ width: 22%;
381
+ }
382
+ .no-boxsizing .ws-date.ws-month-select .dd {
383
+ width: 13%;
384
+ }
385
+ .ws-date.ws-month-select .mm {
386
+ width: 38%;
387
+ }
388
+ .ws-date.ws-month-select .yy {
389
+ width: 36%;
390
+ }
391
+ .no-boxsizing .ws-date.ws-month-select .yy {
392
+ width: 30%;
393
+ }
427
394
 
428
395
  .ws-month .mm,
429
396
  .ws-month .yy {
@@ -450,11 +417,6 @@ input[type="color"] {
450
417
  font-size: 0;
451
418
  line-height: 0;
452
419
  }
453
- .polyfill-important .ws-range {
454
- display: inline-block !important;
455
- padding: 0 !important;
456
- font-size: 0 !important;
457
- }
458
420
  .ws-range .ws-range-thumb {
459
421
  top: 0;
460
422
  position: absolute;
@@ -578,37 +540,13 @@ input[type="color"] {
578
540
  left: 0;
579
541
  padding: 0 6px 0;
580
542
  margin: 0 0 0 -6px;
581
- z-index: 1000;
543
+ z-index: 1100;
582
544
  min-width: 90px;
583
545
  transition: visibility 400ms ease-in-out;
584
546
  }
585
547
  .ws-popover.no-transition {
586
548
  display: none;
587
549
  }
588
- .ws-popover button {
589
- display: inline-block;
590
- overflow: visible;
591
- position: relative;
592
- margin: 0;
593
- border: 0;
594
- padding: 0;
595
- -moz-box-sizing: content-box;
596
- box-sizing: content-box;
597
- -webkit-appearance: none;
598
- appearance: none;
599
- box-sizing: content-box;
600
- font-family: arial, sans-serif;
601
- background: transparent;
602
- cursor: pointer;
603
- }
604
- .ws-popover button::-moz-focus-inner {
605
- border: 0;
606
- padding: 0;
607
- }
608
- .ws-popover button[disabled] {
609
- cursor: default;
610
- color: #888;
611
- }
612
550
  .ws-popover.ws-po-visible {
613
551
  visibility: visible;
614
552
  display: block;
@@ -644,6 +582,30 @@ input[type="color"] {
644
582
  padding: 5px;
645
583
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
646
584
  }
585
+ .ws-po-box button {
586
+ display: inline-block;
587
+ overflow: visible;
588
+ position: relative;
589
+ margin: 0;
590
+ border: 0;
591
+ padding: 0;
592
+ -moz-box-sizing: content-box;
593
+ box-sizing: content-box;
594
+ -webkit-appearance: none;
595
+ appearance: none;
596
+ box-sizing: content-box;
597
+ font-family: arial, sans-serif;
598
+ background: transparent;
599
+ cursor: pointer;
600
+ }
601
+ .ws-po-box button::-moz-focus-inner {
602
+ border: 0;
603
+ padding: 0;
604
+ }
605
+ .ws-po-box button[disabled] {
606
+ cursor: default;
607
+ color: #888;
608
+ }
647
609
 
648
610
  .ws-po-arrow {
649
611
  position: absolute;
@@ -681,14 +643,6 @@ html .ws-po-arrow .ws-po-arrowbox {
681
643
  border-left-color: transparent;
682
644
  border-right-color: transparent;
683
645
  }
684
- .polyfill-important .ws-po-arrow {
685
- border-left-color: transparent !important;
686
- border-right-color: transparent !important;
687
- }
688
- .polyfill-important .ws-po-arrow .ws-po-arrowbox {
689
- border-left-color: transparent !important;
690
- border-right-color: transparent !important;
691
- }
692
646
  [data-vertical="middle"] .ws-po-arrow, * html .ws-po-arrow {
693
647
  display: none;
694
648
  }
@@ -712,7 +666,9 @@ html .ws-po-arrow .ws-po-arrowbox {
712
666
  }
713
667
 
714
668
  .input-picker .ws-prev,
715
- .input-picker .ws-next, .input-picker .ws-button-row button {
669
+ .input-picker .ws-next,
670
+ .input-picker .ws-super-prev,
671
+ .input-picker .ws-super-next, .input-picker .ws-button-row button {
716
672
  border-radius: 4px;
717
673
  background: #ccc;
718
674
  padding: 5px 8px;
@@ -726,6 +682,15 @@ html .ws-po-arrow .ws-po-arrowbox {
726
682
  font-family: sans-serif;
727
683
  width: 330px;
728
684
  }
685
+ .input-picker.time-popover, .input-picker.datetime-local-popover {
686
+ width: 415px;
687
+ }
688
+ .input-picker.time-popover .ws-prev,
689
+ .input-picker.time-popover .ws-next,
690
+ .input-picker.time-popover .ws-super-prev,
691
+ .input-picker.time-popover .ws-super-next {
692
+ display: none;
693
+ }
729
694
  .input-picker.ws-size-2 {
730
695
  width: 645px;
731
696
  }
@@ -756,7 +721,9 @@ html .ws-po-arrow .ws-po-arrowbox {
756
721
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
757
722
  }
758
723
  .input-picker .ws-prev,
759
- .input-picker .ws-next {
724
+ .input-picker .ws-next,
725
+ .input-picker .ws-super-prev,
726
+ .input-picker .ws-super-next {
760
727
  position: absolute;
761
728
  top: 10px;
762
729
  border: 1px solid #cccccc;
@@ -768,29 +735,52 @@ html .ws-po-arrow .ws-po-arrowbox {
768
735
  z-index: 1;
769
736
  }
770
737
  .input-picker .ws-prev span,
771
- .input-picker .ws-next span {
738
+ .input-picker .ws-next span,
739
+ .input-picker .ws-super-prev span,
740
+ .input-picker .ws-super-next span {
772
741
  display: none;
773
742
  }
743
+ .input-picker.time-popover .ws-picker-body {
744
+ padding-top: 36px;
745
+ }
774
746
  .input-picker .ws-picker-body {
775
747
  position: relative;
776
748
  padding: 46px 0 0;
777
749
  zoom: 1;
778
750
  margin: 0 -10px;
779
751
  }
780
- .input-picker .ws-prev {
752
+ .input-picker .ws-prev,
753
+ .input-picker .ws-super-prev {
781
754
  left: 20px;
782
755
  background-position: -243px 5px;
783
756
  }
784
- .input-picker .ws-next {
757
+ .input-picker .ws-super-prev {
758
+ background-position: -243px -12px;
759
+ }
760
+ .input-picker.ws-year-buttons .ws-prev {
761
+ left: 50px;
762
+ }
763
+ .input-picker .ws-next,
764
+ .input-picker .ws-super-next {
785
765
  right: 20px;
786
766
  background-position: -275px 5px;
787
767
  }
768
+ .input-picker .ws-super-next {
769
+ background-position: -275px -12px;
770
+ }
771
+ .input-picker.ws-year-buttons .ws-next {
772
+ right: 50px;
773
+ }
788
774
  .input-picker .ws-prev:hover,
789
- .input-picker .ws-next:hover {
775
+ .input-picker .ws-next:hover,
776
+ .input-picker .ws-super-prev:hover,
777
+ .input-picker .ws-super-next:hover {
790
778
  border-color: #666;
791
779
  }
792
780
  .input-picker .ws-prev[disabled],
793
- .input-picker .ws-next[disabled] {
781
+ .input-picker .ws-next[disabled],
782
+ .input-picker .ws-super-prev[disabled],
783
+ .input-picker .ws-super-next[disabled] {
794
784
  opacity: 0.4;
795
785
  border-color: #eee;
796
786
  }
@@ -824,6 +814,15 @@ html .ws-po-arrow .ws-po-arrowbox {
824
814
  .input-picker[data-currentview="setDayList"] .ws-picker-header select.month-select {
825
815
  max-width: 55%;
826
816
  }
817
+ .input-picker.time-popover .ws-picker-header {
818
+ top: -30px;
819
+ }
820
+ .input-picker.time-popover .ws-picker-header button {
821
+ font-size: 15px;
822
+ }
823
+ .input-picker.ws-year-buttons .ws-picker-header {
824
+ margin: 0 65px;
825
+ }
827
826
  .input-picker .ws-picker-header {
828
827
  position: absolute;
829
828
  top: -44px;
@@ -872,9 +871,12 @@ html .ws-po-arrow .ws-po-arrowbox {
872
871
  .input-picker .picker-list.day-list td {
873
872
  padding: 2px 1px;
874
873
  }
874
+ .input-picker .picker-list.day-list td button {
875
+ padding: 4px 0;
876
+ }
875
877
  .input-picker .picker-list td button {
876
878
  display: block;
877
- padding: 4px 0;
879
+ padding: 9px 0;
878
880
  width: 100%;
879
881
  border-radius: 5px;
880
882
  color: #000;
@@ -1115,19 +1117,6 @@ summary {
1115
1117
  .closed-details-summary .details-open-indicator {
1116
1118
  background-position: 0 -20px;
1117
1119
  }
1118
- .polyfill-important .details-open-indicator {
1119
- margin: -1px 0 0 !important;
1120
- padding: 0 !important;
1121
- border: 0 !important;
1122
- display: inline-block !important;
1123
- width: 16px !important;
1124
- height: 11px !important;
1125
- background: url(details-arrows.png) no-repeat 0 0 !important;
1126
- vertical-align: middle !important;
1127
- }
1128
- .polyfill-important .closed-details-summary .details-open-indicator {
1129
- background-position: 0 -20px !important;
1130
- }
1131
1120
 
1132
1121
  summary.summary-has-focus {
1133
1122
  outline: 1px dotted #aaaaaa;
@@ -165,52 +165,6 @@ var swfmini = function() {
165
165
  }
166
166
 
167
167
 
168
- /* Functions to abstract and display alternative content
169
- */
170
- function displayAltContent(obj) {
171
- if (ua.ie && ua.win && obj.readyState != 4) {
172
- // IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it,
173
- // because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
174
- var el = createElement("div");
175
- obj.parentNode.insertBefore(el, obj); // insert placeholder div that will be replaced by the alternative content
176
- el.parentNode.replaceChild(abstractAltContent(obj), el);
177
- obj.style.display = "none";
178
- (function(){
179
- if (obj.readyState == 4) {
180
- obj.parentNode.removeChild(obj);
181
- }
182
- else {
183
- setTimeout(arguments.callee, 10);
184
- }
185
- })();
186
- }
187
- else {
188
- obj.parentNode.replaceChild(abstractAltContent(obj), obj);
189
- }
190
- }
191
-
192
- function abstractAltContent(obj) {
193
- var ac = createElement("div");
194
- if (ua.win && ua.ie) {
195
- ac.innerHTML = obj.innerHTML;
196
- }
197
- else {
198
- var nestedObj = obj.getElementsByTagName(OBJECT)[0];
199
- if (nestedObj) {
200
- var c = nestedObj.childNodes;
201
- if (c) {
202
- var cl = c.length;
203
- for (var i = 0; i < cl; i++) {
204
- if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) {
205
- ac.appendChild(c[i].cloneNode(true));
206
- }
207
- }
208
- }
209
- }
210
- }
211
- return ac;
212
- }
213
-
214
168
  /* Cross-browser dynamic SWF creation
215
169
  */
216
170
  function createSWF(attObj, parObj, id) {
@@ -40,7 +40,7 @@ webshims.register('track-ui', function($, webshims, window, document, undefined)
40
40
  var showTracks = {subtitles: 1, captions: 1, descriptions: 1};
41
41
  var mediaelement = webshims.mediaelement;
42
42
  var usesNativeTrack = function(){
43
- return !options.override && Modernizr.track;
43
+ return !options.override && Modernizr.texttrackapi;
44
44
  };
45
45
 
46
46
  var trackDisplay = {
@@ -171,7 +171,7 @@ webshims.register('track-ui', function($, webshims, window, document, undefined)
171
171
  track._lastFoundCue = {index: 0, time: 0};
172
172
  }
173
173
 
174
- if(Modernizr.track && !options.override && !track._shimActiveCues){
174
+ if(Modernizr.texttrackapi && !options.override && !track._shimActiveCues){
175
175
  track._shimActiveCues = mediaelement.createCueList();
176
176
  }
177
177
 
@@ -251,6 +251,11 @@ webshims.register('track-ui', function($, webshims, window, document, undefined)
251
251
  createUpdateFn('nodeName', 'addTextTrack', 'value');
252
252
  });
253
253
  })();
254
+ $.propHooks.activeCues = {
255
+ get: function(obj, value){
256
+ return obj._shimActiveCues || obj.activeCues;
257
+ }
258
+ };
254
259
  }
255
260
 
256
261
  webshims.addReady(function(context, insertedElement){
@@ -260,8 +265,9 @@ webshims.register('track-ui', function($, webshims, window, document, undefined)
260
265
  return webshims.implement(this, 'trackui');
261
266
  })
262
267
  .each(function(){
263
- var elem = $(this);
268
+ var baseData, trackList, updateTimer, updateTimer2;
264
269
 
270
+ var elem = $(this);
265
271
  var getDisplayCues = function(e){
266
272
  var track;
267
273
  var time;
@@ -293,12 +299,11 @@ webshims.register('track-ui', function($, webshims, window, document, undefined)
293
299
  clearTimeout(updateTimer);
294
300
  if(e && e.type == 'timeupdate'){
295
301
  getDisplayCues();
296
- setTimeout(onUpdate, 90);
302
+ updateTimer2 = setTimeout(onUpdate, 90);
297
303
  } else {
298
304
  updateTimer = setTimeout(getDisplayCues, 9);
299
305
  }
300
306
  };
301
-
302
307
  var addTrackView = function(){
303
308
 
304
309
  elem
@@ -306,7 +311,6 @@ webshims.register('track-ui', function($, webshims, window, document, undefined)
306
311
  .on('play.trackview timeupdate.trackview updatetrackdisplay.trackview', onUpdate)
307
312
  ;
308
313
  };
309
- var baseData, trackList, updateTimer;
310
314
 
311
315
  elem.on('remove', function(e){
312
316
  if(!e.originalEvent && baseData && baseData.trackDisplay){
@@ -323,6 +327,9 @@ webshims.register('track-ui', function($, webshims, window, document, undefined)
323
327
  if(!usesNativeTrack() || elem.is('.nonnative-api-active')){
324
328
  addTrackView();
325
329
  } else {
330
+ clearTimeout(updateTimer);
331
+ clearTimeout(updateTimer2);
332
+
326
333
  trackList = elem.prop('textTracks');
327
334
  baseData = webshims.data(elem[0], 'mediaelementBase') || webshims.data(elem[0], 'mediaelementBase', {});
328
335