webshims-rails 1.12.5 → 1.12.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/polyfiller.js +111 -132
  4. data/vendor/assets/javascripts/webshims/shims/combos/1.js +40 -37
  5. data/vendor/assets/javascripts/webshims/shims/combos/10.js +217 -36
  6. data/vendor/assets/javascripts/webshims/shims/combos/11.js +151 -29
  7. data/vendor/assets/javascripts/webshims/shims/combos/12.js +70 -93
  8. data/vendor/assets/javascripts/webshims/shims/combos/13.js +70 -93
  9. data/vendor/assets/javascripts/webshims/shims/combos/14.js +90 -13
  10. data/vendor/assets/javascripts/webshims/shims/combos/15.js +202 -59
  11. data/vendor/assets/javascripts/webshims/shims/combos/16.js +208 -70
  12. data/vendor/assets/javascripts/webshims/shims/combos/17.js +151 -29
  13. data/vendor/assets/javascripts/webshims/shims/combos/18.js +155 -30
  14. data/vendor/assets/javascripts/webshims/shims/combos/19.js +79 -20
  15. data/vendor/assets/javascripts/webshims/shims/combos/2.js +109 -47
  16. data/vendor/assets/javascripts/webshims/shims/combos/20.js +79 -20
  17. data/vendor/assets/javascripts/webshims/shims/combos/21.js +80 -87
  18. data/vendor/assets/javascripts/webshims/shims/combos/22.js +66 -83
  19. data/vendor/assets/javascripts/webshims/shims/combos/23.js +4 -10
  20. data/vendor/assets/javascripts/webshims/shims/combos/25.js +79 -20
  21. data/vendor/assets/javascripts/webshims/shims/combos/26.js +66 -7
  22. data/vendor/assets/javascripts/webshims/shims/combos/28.js +100 -25
  23. data/vendor/assets/javascripts/webshims/shims/combos/3.js +192 -47
  24. data/vendor/assets/javascripts/webshims/shims/combos/30.js +193 -49
  25. data/vendor/assets/javascripts/webshims/shims/combos/31.js +103 -36
  26. data/vendor/assets/javascripts/webshims/shims/combos/32.js +5 -3
  27. data/vendor/assets/javascripts/webshims/shims/combos/33.js +1 -2
  28. data/vendor/assets/javascripts/webshims/shims/combos/34.js +2048 -0
  29. data/vendor/assets/javascripts/webshims/shims/combos/4.js +156 -20
  30. data/vendor/assets/javascripts/webshims/shims/combos/5.js +151 -29
  31. data/vendor/assets/javascripts/webshims/shims/combos/6.js +152 -31
  32. data/vendor/assets/javascripts/webshims/shims/combos/7.js +199 -60
  33. data/vendor/assets/javascripts/webshims/shims/combos/8.js +197 -58
  34. data/vendor/assets/javascripts/webshims/shims/combos/9.js +218 -38
  35. data/vendor/assets/javascripts/webshims/shims/combos/97.js +1004 -0
  36. data/vendor/assets/javascripts/webshims/shims/combos/98.js +1283 -0
  37. data/vendor/assets/javascripts/webshims/shims/combos/99.js +204 -1248
  38. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +66 -7
  39. data/vendor/assets/javascripts/webshims/shims/es5.js +4 -1
  40. data/vendor/assets/javascripts/webshims/shims/form-combat.js +3 -3
  41. data/vendor/assets/javascripts/webshims/shims/form-core.js +36 -27
  42. data/vendor/assets/javascripts/webshims/shims/form-datalist.js +1 -2
  43. data/vendor/assets/javascripts/webshims/shims/form-fixrangechange.js +137 -0
  44. data/vendor/assets/javascripts/webshims/shims/form-message.js +90 -13
  45. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +129 -15
  46. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +9 -10
  47. data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +886 -985
  48. data/vendor/assets/javascripts/webshims/shims/form-validation.js +78 -174
  49. data/vendor/assets/javascripts/webshims/shims/form-validators.js +39 -26
  50. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +45 -17
  51. data/vendor/assets/javascripts/webshims/shims/geolocation.js +10 -3
  52. data/vendor/assets/javascripts/webshims/shims/jme/b.js +71 -246
  53. data/vendor/assets/javascripts/webshims/shims/jme/c.js +133 -1002
  54. data/vendor/assets/javascripts/webshims/shims/jme/controls.css +62 -23
  55. data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +73 -10
  56. data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +1117 -0
  57. data/vendor/assets/javascripts/webshims/shims/jme/p.js +603 -0
  58. data/vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css +5 -2
  59. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +4 -10
  60. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +4 -1
  61. data/vendor/assets/javascripts/webshims/shims/range-ui.js +22 -14
  62. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +29 -344
  63. data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +362 -0
  64. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +6 -483
  65. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +488 -0
  66. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim-ext.scss +2 -0
  67. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +10 -2
  68. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +6 -2
  69. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  70. data/vendor/assets/javascripts/webshims/shims/track-ui.js +8 -1
  71. data/vendor/assets/javascripts/webshims/shims/track.js +66 -83
  72. metadata +12 -5
  73. data/vendor/assets/javascripts/webshims/shims/$ajax.js +0 -862
  74. data/vendor/assets/javascripts/webshims/shims/combos/24.js +0 -2087
@@ -150,12 +150,8 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
150
150
  "use strict";
151
151
  var mediaelement = webshims.mediaelement;
152
152
  var id = new Date().getTime();
153
- var ADDBACK = $.fn.addBack ? 'addBack' : 'andSelf';
154
153
  //descriptions are not really shown, but they are inserted into the dom
155
154
  var showTracks = {subtitles: 1, captions: 1, descriptions: 1};
156
- var notImplemented = function(){
157
- webshims.error('not implemented yet');
158
- };
159
155
  var dummyTrack = $('<track />');
160
156
  var supportTrackMod = Modernizr.ES5 && Modernizr.objectAccessor;
161
157
  var createEventTarget = function(obj){
@@ -257,9 +253,7 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
257
253
  };
258
254
  var copyProps = ['kind', 'label', 'srclang'];
259
255
  var copyName = {srclang: 'language'};
260
-
261
- var owns = Function.prototype.call.bind(Object.prototype.hasOwnProperty);
262
-
256
+
263
257
  var updateMediaTrackList = function(baseData, trackList){
264
258
  var removed = [];
265
259
  var added = [];
@@ -362,60 +356,44 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
362
356
  };
363
357
  })();
364
358
  var emptyDiv = $('<div />')[0];
359
+
365
360
  function VTTCue(startTime, endTime, text){
366
361
  if(arguments.length != 3){
367
362
  webshims.error("wrong arguments.length for VTTCue.constructor");
368
363
  }
369
-
364
+
370
365
  this.startTime = startTime;
371
366
  this.endTime = endTime;
372
367
  this.text = text;
373
-
374
-
375
- createEventTarget(this);
376
- }
377
-
378
- VTTCue.prototype = {
379
-
380
- onenter: null,
381
- onexit: null,
382
- pauseOnExit: false,
383
- getCueAsHTML: function(){
368
+ this.onenter = null;
369
+ this.onexit = null;
370
+ this.pauseOnExit = false;
371
+ this.track = null;
372
+ this.id = null;
373
+ this.getCueAsHTML = (function(){
384
374
  var lastText = "";
385
375
  var parsedText = "";
386
- var fragment = document.createDocumentFragment();
387
- var fn;
388
- if(!owns(this, 'getCueAsHTML')){
389
- fn = this.getCueAsHTML = function(){
390
- var i, len;
391
- if(lastText != this.text){
392
- lastText = this.text;
393
- parsedText = mediaelement.parseCueTextToHTML(lastText);
394
- emptyDiv.innerHTML = parsedText;
395
-
396
- for(i = 0, len = emptyDiv.childNodes.length; i < len; i++){
397
- fragment.appendChild(emptyDiv.childNodes[i].cloneNode(true));
398
- }
376
+ var fragment;
377
+
378
+ return function(){
379
+ var i, len;
380
+ if(!fragment){
381
+ fragment = document.createDocumentFragment();
382
+ }
383
+ if(lastText != this.text){
384
+ lastText = this.text;
385
+ parsedText = mediaelement.parseCueTextToHTML(lastText);
386
+ emptyDiv.innerHTML = parsedText;
387
+
388
+ for(i = 0, len = emptyDiv.childNodes.length; i < len; i++){
389
+ fragment.appendChild(emptyDiv.childNodes[i].cloneNode(true));
399
390
  }
400
- return fragment.cloneNode(true);
401
- };
402
-
403
- }
404
- return fn ? fn.apply(this, arguments) : fragment.cloneNode(true);
405
- },
406
- track: null,
407
-
408
-
409
- id: ''
410
- //todo-->
411
- // ,
412
- // snapToLines: true,
413
- // line: 'auto',
414
- // size: 100,
415
- // position: 50,
416
- // vertical: '',
417
- // align: 'middle'
418
- };
391
+ }
392
+ return fragment.cloneNode(true);
393
+ };
394
+
395
+ })();
396
+ }
419
397
 
420
398
  window.VTTCue = VTTCue;
421
399
  window.TextTrackCue = function(){
@@ -466,14 +444,15 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
466
444
  })();
467
445
 
468
446
  mediaelement.loadTextTrack = function(mediaelem, track, trackData, _default){
469
- var loadEvents = 'play playing updatetrackdisplay';
447
+ var loadEvents = 'play playing';
470
448
  var obj = trackData.track;
471
449
  var load = function(){
472
450
  var error, ajax, createAjax;
473
-
474
451
  var src = obj.mode != 'disabled' && ($.attr(track, 'src') && $.prop(track, 'src'));
452
+
475
453
  if(src){
476
- $(mediaelem).off(loadEvents, load);
454
+ $(mediaelem).off(loadEvents, load).off('updatetrackdisplay', load);
455
+
477
456
  if(!trackData.readyState){
478
457
  error = function(){
479
458
  trackData.readyState = 3;
@@ -507,7 +486,7 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
507
486
  error: error
508
487
  });
509
488
  };
510
- if($.ajax){
489
+ if($.ajax && $.ajaxSettings.xhr){
511
490
  createAjax();
512
491
  } else {
513
492
  webshims.ready('jajax', createAjax);
@@ -525,11 +504,15 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
525
504
  obj._shimActiveCues = null;
526
505
  obj.activeCues = null;
527
506
  obj.cues = null;
528
- $(mediaelem).off(loadEvents, load);
507
+
529
508
  $(mediaelem).on(loadEvents, load);
530
509
  if(_default){
531
510
  obj.mode = showTracks[obj.kind] ? 'showing' : 'hidden';
532
- load();
511
+ webshims.ready('WINDOWLOAD', load);
512
+ } else {
513
+ webshims.ready('WINDOWLOAD', function(){
514
+ $(mediaelem).on('updatetrackdisplay', load);
515
+ });
533
516
  }
534
517
  };
535
518
 
@@ -558,7 +541,6 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
558
541
 
559
542
 
560
543
  if(track.nodeName){
561
-
562
544
  if(supportTrackMod){
563
545
  copyProps.forEach(function(copyProp){
564
546
  webshims.defineProperty(obj, copyName[copyProp] || copyProp, {
@@ -593,8 +575,8 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
593
575
 
594
576
  return obj;
595
577
  };
596
-
597
-
578
+
579
+
598
580
  /*
599
581
  taken from:
600
582
  Captionator 0.5.1 [CaptionCrunch]
@@ -611,7 +593,7 @@ modified for webshims
611
593
  var WebVTTDEFAULTSCueParser = /^(DEFAULTS|DEFAULT)\s+\-\-\>\s+(.*)/g;
612
594
  var WebVTTSTYLECueParser = /^(STYLE|STYLES)\s+\-\-\>\s*\n([\s\S]*)/g;
613
595
  var WebVTTCOMMENTCueParser = /^(COMMENT|COMMENTS)\s+\-\-\>\s+(.*)/g;
614
-
596
+
615
597
  return function(subtitleElement,objectCount){
616
598
 
617
599
  var subtitleParts, timeIn, timeOut, html, timeData, subtitlePartIndex, id, specialCueData;
@@ -627,33 +609,33 @@ modified for webshims
627
609
  } else if ((specialCueData = WebVTTCOMMENTCueParser.exec(subtitleElement))) {
628
610
  return null; // At this stage, we don't want to do anything with these.
629
611
  }
630
-
612
+
631
613
  subtitleParts = subtitleElement.split(/\n/g);
632
-
614
+
633
615
  // Trim off any blank lines (logically, should only be max. one, but loop to be sure)
634
616
  while (!subtitleParts[0].replace(/\s+/ig,"").length && subtitleParts.length > 0) {
635
617
  subtitleParts.shift();
636
618
  }
637
-
619
+
638
620
  if (subtitleParts[0].match(/^\s*[a-z0-9-\_]+\s*$/ig)) {
639
621
  // The identifier becomes the cue ID (when *we* load the cues from file. Programatically created cues can have an ID of whatever.)
640
622
  id = String(subtitleParts.shift().replace(/\s*/ig,""));
641
623
  }
642
-
624
+
643
625
  for (subtitlePartIndex = 0; subtitlePartIndex < subtitleParts.length; subtitlePartIndex ++) {
644
626
  var timestamp = subtitleParts[subtitlePartIndex];
645
-
627
+
646
628
  if ((timestampMatch = WebVTTTimestampParser.exec(timestamp))) {
647
-
629
+
648
630
  // WebVTT
649
-
631
+
650
632
  timeData = timestampMatch.slice(1);
651
-
633
+
652
634
  timeIn = parseInt((timeData[0]||0) * 60 * 60,10) + // Hours
653
635
  parseInt((timeData[1]||0) * 60,10) + // Minutes
654
636
  parseInt((timeData[2]||0),10) + // Seconds
655
637
  parseFloat("0." + (timeData[3]||0)); // MS
656
-
638
+
657
639
  timeOut = parseInt((timeData[4]||0) * 60 * 60,10) + // Hours
658
640
  parseInt((timeData[5]||0) * 60,10) + // Minutes
659
641
  parseInt((timeData[6]||0),10) + // Seconds
@@ -664,7 +646,7 @@ modified for webshims
664
646
  }
665
647
  */
666
648
  }
667
-
649
+
668
650
  // We've got the timestamp - return all the other unmatched lines as the raw subtitle data
669
651
  subtitleParts = subtitleParts.slice(0,subtitlePartIndex).concat(subtitleParts.slice(subtitlePartIndex+1));
670
652
  break;
@@ -683,7 +665,7 @@ modified for webshims
683
665
  previous[current.split(":")[0]] = current.split(":")[1];
684
666
  return previous;
685
667
  },{});
686
-
668
+
687
669
  // Loop through cue settings, replace defaults with cue specific settings if they exist
688
670
  compositeCueSettings =
689
671
  cueSettings
@@ -694,7 +676,7 @@ modified for webshims
694
676
  previous[current.split(":")[0]] = current.split(":")[1];
695
677
  return previous;
696
678
  },compositeCueSettings);
697
-
679
+
698
680
  // Turn back into string like the VTTCue constructor expects
699
681
  cueSettings = "";
700
682
  for (var key in compositeCueSettings) {
@@ -713,18 +695,18 @@ modified for webshims
713
695
  return tmpCue;
714
696
  };
715
697
  })();
716
-
698
+
717
699
  mediaelement.parseCaptions = function(captionData, track, complete) {
718
700
 
719
701
  var cue, lazyProcess, regWevVTT, startDate, isWEBVTT;
720
702
 
721
703
  mediaelement.createCueList();
722
704
  if (captionData) {
723
-
705
+
724
706
  regWevVTT = /^WEBVTT(\s*FILE)?/ig;
725
-
707
+
726
708
  lazyProcess = function(i, len){
727
-
709
+
728
710
  for(; i < len; i++){
729
711
  cue = captionData[i];
730
712
  if(regWevVTT.test(cue)){
@@ -746,7 +728,7 @@ modified for webshims
746
728
  startDate = new Date().getTime();
747
729
  lazyProcess(i, len);
748
730
  }, 90);
749
-
731
+
750
732
  break;
751
733
  }
752
734
  }
@@ -757,9 +739,9 @@ modified for webshims
757
739
  complete(track.cues);
758
740
  }
759
741
  };
760
-
742
+
761
743
  captionData = captionData.replace(/\r\n/g,"\n");
762
-
744
+
763
745
  setTimeout(function(){
764
746
  captionData = captionData.replace(/\r/g,"\n");
765
747
  setTimeout(function(){
@@ -768,12 +750,12 @@ modified for webshims
768
750
  lazyProcess(0, captionData.length);
769
751
  }, 9);
770
752
  }, 9);
771
-
753
+
772
754
  } else {
773
755
  webshims.error("Required parameter captionData not supplied.");
774
756
  }
775
757
  };
776
-
758
+
777
759
 
778
760
  mediaelement.createTrackList = function(mediaelem, baseData){
779
761
  baseData = baseData || webshims.data(mediaelem, 'mediaelementBase') || webshims.data(mediaelem, 'mediaelementBase', {});
@@ -995,8 +977,9 @@ modified for webshims
995
977
  if(Modernizr.track){
996
978
  var shimedTextTracks = $.prop(this, 'textTracks');
997
979
  var origTextTracks = this.textTracks;
980
+
998
981
  if(shimedTextTracks.length != origTextTracks.length){
999
- webshims.error("textTracks couldn't be copied");
982
+ webshims.warn("textTracks couldn't be copied");
1000
983
  }
1001
984
 
1002
985
  $('track', this).each(hideNativeTracks);
@@ -238,7 +238,6 @@ webshims.isReady('swfmini', true);
238
238
 
239
239
  var wsCfg = webshims.cfg;
240
240
  var options = wsCfg.mediaelement;
241
- var hasFullTrackSupport;
242
241
  var hasSwf;
243
242
  if(!options){
244
243
  webshims.error("mediaelement wasn't implemented but loaded");
@@ -280,11 +279,9 @@ webshims.isReady('swfmini', true);
280
279
  }
281
280
  })();
282
281
  }
283
- hasFullTrackSupport = Modernizr.track && !bugs.track;
284
282
 
285
283
  webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
286
284
  hasSwf = swfmini.hasFlashPlayerVersion('10.0.3');
287
- $('html').addClass(hasSwf ? 'swf' : 'no-swf');
288
285
  var mediaelement = webshims.mediaelement;
289
286
 
290
287
  mediaelement.parseRtmp = function(data){
@@ -663,6 +660,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
663
660
  if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
664
661
  supLoad.prop._supvalue.apply(this, arguments);
665
662
  }
663
+ if(!loadTrackUi.loaded && $('track', this).length){
664
+ loadTrackUi();
665
+ }
666
666
  $(this).triggerHandler('wsmediareload');
667
667
  }
668
668
  }
@@ -733,13 +733,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
733
733
  }
734
734
  };
735
735
 
736
- if(hasFullTrackSupport){
737
- webshims.defineProperty(TextTrack.prototype, 'shimActiveCues', {
738
- get: function(){
739
- return this._shimActiveCues || this.activeCues;
740
- }
741
- });
742
- }
736
+
743
737
  //set native implementation ready, before swf api is retested
744
738
  if(hasNative){
745
739
  webshims.isReady('mediaelement-core', true);
@@ -225,7 +225,9 @@ webshims.isReady('swfmini', true);
225
225
  // vim: ts=4 sts=4 sw=4 expandtab
226
226
 
227
227
  (function () {
228
-
228
+ setTimeout(function(){
229
+ webshims.isReady('es5', true);
230
+ });
229
231
  /**
230
232
  * Brings an environment as close to ECMAScript 5 compliance
231
233
  * as is possible with the facilities of erstwhile engines.
@@ -1664,10 +1666,69 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
1664
1666
  };
1665
1667
 
1666
1668
  }
1669
+ webshims.isReady('es5', true);
1667
1670
  })(webshims.$, webshims);
1668
1671
 
1669
1672
 
1670
- ;//DOM-Extension helper
1673
+ ;
1674
+ //this might was already extended by ES5 shim feature
1675
+ (function($){
1676
+ "use strict";
1677
+ var webshims = window.webshims;
1678
+ if(webshims.defineProperties){return;}
1679
+ var defineProperty = 'defineProperty';
1680
+ var has = Object.prototype.hasOwnProperty;
1681
+ var descProps = ['configurable', 'enumerable', 'writable'];
1682
+ var extendUndefined = function(prop){
1683
+ for(var i = 0; i < 3; i++){
1684
+ if(prop[descProps[i]] === undefined && (descProps[i] !== 'writable' || prop.value !== undefined)){
1685
+ prop[descProps[i]] = true;
1686
+ }
1687
+ }
1688
+ };
1689
+
1690
+ var extendProps = function(props){
1691
+ if(props){
1692
+ for(var i in props){
1693
+ if(has.call(props, i)){
1694
+ extendUndefined(props[i]);
1695
+ }
1696
+ }
1697
+ }
1698
+ };
1699
+
1700
+ if(Object.create){
1701
+ webshims.objectCreate = function(proto, props, opts){
1702
+ extendProps(props);
1703
+ var o = Object.create(proto, props);
1704
+ if(opts){
1705
+ o.options = $.extend(true, {}, o.options || {}, opts);
1706
+ opts = o.options;
1707
+ }
1708
+ if(o._create && $.isFunction(o._create)){
1709
+ o._create(opts);
1710
+ }
1711
+ return o;
1712
+ };
1713
+ }
1714
+
1715
+ if(Object[defineProperty]){
1716
+ webshims[defineProperty] = function(obj, prop, desc){
1717
+ extendUndefined(desc);
1718
+ return Object[defineProperty](obj, prop, desc);
1719
+ };
1720
+ }
1721
+ if(Object.defineProperties){
1722
+ webshims.defineProperties = function(obj, props){
1723
+ extendProps(props);
1724
+ return Object.defineProperties(obj, props);
1725
+ };
1726
+ }
1727
+ webshims.getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
1728
+
1729
+ webshims.getPrototypeOf = Object.getPrototypeOf;
1730
+ })(window.webshims.$);
1731
+ //DOM-Extension helper
1671
1732
  webshims.register('dom-extend', function($, webshims, window, document, undefined){
1672
1733
  "use strict";
1673
1734
  var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
@@ -2302,6 +2363,13 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2302
2363
  this.width = docObserve.getWidth();
2303
2364
  setInterval(this.test, 999);
2304
2365
  $(this.test);
2366
+ if($.support.boxSizing == null){
2367
+ $(function(){
2368
+ if($.support.boxSizing){
2369
+ docObserve.handler({type: 'boxsizing'});
2370
+ }
2371
+ });
2372
+ }
2305
2373
  webshims.ready('WINDOWLOAD', this.test);
2306
2374
  $(document).on('updatelayout.webshim pageinit popupafteropen panelbeforeopen tabsactivate collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel', this.handler);
2307
2375
  $(window).on('resize', this.handler);
@@ -2313,13 +2381,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2313
2381
  webshims.docObserve = function(){
2314
2382
  webshims.ready('DOM', function(){
2315
2383
  docObserve.start();
2316
- if($.support.boxSizing == null){
2317
- $(function(){
2318
- if($.support.boxSizing){
2319
- docObserve.handler({type: 'boxsizing'});
2320
- }
2321
- });
2322
- }
2384
+
2323
2385
  });
2324
2386
  };
2325
2387
  return function(nativeElem, shadowElem, opts){
@@ -3205,7 +3267,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
3205
3267
 
3206
3268
  var wsCfg = webshims.cfg;
3207
3269
  var options = wsCfg.mediaelement;
3208
- var hasFullTrackSupport;
3209
3270
  var hasSwf;
3210
3271
  if(!options){
3211
3272
  webshims.error("mediaelement wasn't implemented but loaded");
@@ -3247,11 +3308,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
3247
3308
  }
3248
3309
  })();
3249
3310
  }
3250
- hasFullTrackSupport = Modernizr.track && !bugs.track;
3251
3311
 
3252
3312
  webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
3253
3313
  hasSwf = swfmini.hasFlashPlayerVersion('10.0.3');
3254
- $('html').addClass(hasSwf ? 'swf' : 'no-swf');
3255
3314
  var mediaelement = webshims.mediaelement;
3256
3315
 
3257
3316
  mediaelement.parseRtmp = function(data){
@@ -3630,6 +3689,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
3630
3689
  if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
3631
3690
  supLoad.prop._supvalue.apply(this, arguments);
3632
3691
  }
3692
+ if(!loadTrackUi.loaded && $('track', this).length){
3693
+ loadTrackUi();
3694
+ }
3633
3695
  $(this).triggerHandler('wsmediareload');
3634
3696
  }
3635
3697
  }
@@ -3700,13 +3762,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
3700
3762
  }
3701
3763
  };
3702
3764
 
3703
- if(hasFullTrackSupport){
3704
- webshims.defineProperty(TextTrack.prototype, 'shimActiveCues', {
3705
- get: function(){
3706
- return this._shimActiveCues || this.activeCues;
3707
- }
3708
- });
3709
- }
3765
+
3710
3766
  //set native implementation ready, before swf api is retested
3711
3767
  if(hasNative){
3712
3768
  webshims.isReady('mediaelement-core', true);
@@ -4476,7 +4532,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
4476
4532
  box.insertBefore(elem);
4477
4533
 
4478
4534
  if(hasNative){
4479
- $.extend(data, {volume: $.prop(elem, 'volume'), muted: $.prop(elem, 'muted')});
4535
+ $.extend(data, {volume: $.prop(elem, 'volume'), muted: $.prop(elem, 'muted'), paused: $.prop(elem, 'paused')});
4480
4536
  }
4481
4537
 
4482
4538
  webshims.addShadowDom(elem, box);
@@ -4514,6 +4570,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
4514
4570
  if(jaris.type == 'ready'){
4515
4571
  var onReady = function(){
4516
4572
  if(data.api){
4573
+ if(!data.paused){
4574
+ data.api.api_play();
4575
+ }
4517
4576
  if(bufferSrc(elem)){
4518
4577
  data.api.api_preload();
4519
4578
  }