webshims-rails 1.14.1 → 1.14.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/extras/modernizr-custom.js +0 -0
  4. data/vendor/assets/javascripts/webshims/polyfiller.js +3 -8
  5. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/canvas2png.js +0 -0
  6. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.js +0 -0
  7. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.swf +0 -0
  8. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/proxy.php +0 -0
  9. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/save.php +0 -0
  10. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/canvas2png.js +0 -0
  11. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash10canvas.swf +0 -0
  12. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash9canvas.swf +0 -0
  13. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flashcanvas.js +0 -0
  14. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/proxy.php +0 -0
  15. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/save.php +0 -0
  16. data/vendor/assets/javascripts/webshims/shims/color-picker.js +2 -2
  17. data/vendor/assets/javascripts/webshims/shims/combos/1.js +66 -43
  18. data/vendor/assets/javascripts/webshims/shims/combos/10.js +66 -31
  19. data/vendor/assets/javascripts/webshims/shims/combos/11.js +66 -31
  20. data/vendor/assets/javascripts/webshims/shims/combos/12.js +96 -59
  21. data/vendor/assets/javascripts/webshims/shims/combos/13.js +96 -59
  22. data/vendor/assets/javascripts/webshims/shims/combos/14.js +0 -0
  23. data/vendor/assets/javascripts/webshims/shims/combos/15.js +4 -1
  24. data/vendor/assets/javascripts/webshims/shims/combos/16.js +70 -44
  25. data/vendor/assets/javascripts/webshims/shims/combos/17.js +66 -31
  26. data/vendor/assets/javascripts/webshims/shims/combos/18.js +1241 -1126
  27. data/vendor/assets/javascripts/webshims/shims/combos/19.js +1272 -1214
  28. data/vendor/assets/javascripts/webshims/shims/combos/2.js +66 -43
  29. data/vendor/assets/javascripts/webshims/shims/combos/20.js +1272 -1214
  30. data/vendor/assets/javascripts/webshims/shims/combos/21.js +61 -92
  31. data/vendor/assets/javascripts/webshims/shims/combos/22.js +30 -16
  32. data/vendor/assets/javascripts/webshims/shims/combos/23.js +66 -43
  33. data/vendor/assets/javascripts/webshims/shims/combos/25.js +41 -85
  34. data/vendor/assets/javascripts/webshims/shims/combos/26.js +1556 -2316
  35. data/vendor/assets/javascripts/webshims/shims/combos/27.js +12 -10
  36. data/vendor/assets/javascripts/webshims/shims/combos/28.js +4 -1
  37. data/vendor/assets/javascripts/webshims/shims/combos/29.js +0 -0
  38. data/vendor/assets/javascripts/webshims/shims/combos/3.js +0 -0
  39. data/vendor/assets/javascripts/webshims/shims/combos/30.js +0 -0
  40. data/vendor/assets/javascripts/webshims/shims/combos/31.js +0 -0
  41. data/vendor/assets/javascripts/webshims/shims/combos/32.js +1175 -1095
  42. data/vendor/assets/javascripts/webshims/shims/combos/33.js +0 -0
  43. data/vendor/assets/javascripts/webshims/shims/combos/34.js +30 -16
  44. data/vendor/assets/javascripts/webshims/shims/combos/4.js +0 -0
  45. data/vendor/assets/javascripts/webshims/shims/combos/5.js +66 -31
  46. data/vendor/assets/javascripts/webshims/shims/combos/6.js +66 -31
  47. data/vendor/assets/javascripts/webshims/shims/combos/7.js +66 -43
  48. data/vendor/assets/javascripts/webshims/shims/combos/8.js +66 -43
  49. data/vendor/assets/javascripts/webshims/shims/combos/9.js +66 -31
  50. data/vendor/assets/javascripts/webshims/shims/combos/97.js +63 -28
  51. data/vendor/assets/javascripts/webshims/shims/combos/98.js +149 -74
  52. data/vendor/assets/javascripts/webshims/shims/combos/99.js +149 -74
  53. data/vendor/assets/javascripts/webshims/shims/combos/comboinfo.json +1 -1
  54. data/vendor/assets/javascripts/webshims/shims/details.js +0 -0
  55. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +0 -0
  56. data/vendor/assets/javascripts/webshims/shims/es5.js +1175 -1095
  57. data/vendor/assets/javascripts/webshims/shims/excanvas.js +0 -0
  58. data/vendor/assets/javascripts/webshims/shims/filereader.js +10 -9
  59. data/vendor/assets/javascripts/webshims/shims/form-combat.js +0 -0
  60. data/vendor/assets/javascripts/webshims/shims/form-core.js +0 -0
  61. data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +0 -0
  62. data/vendor/assets/javascripts/webshims/shims/form-datalist.js +0 -0
  63. data/vendor/assets/javascripts/webshims/shims/form-fixrangechange.js +0 -0
  64. data/vendor/assets/javascripts/webshims/shims/form-message.js +0 -0
  65. data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +0 -0
  66. data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +0 -0
  67. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +40 -11
  68. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +4 -1
  69. data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +2 -1
  70. data/vendor/assets/javascripts/webshims/shims/form-validation.js +80 -47
  71. data/vendor/assets/javascripts/webshims/shims/form-validators.js +19 -8
  72. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +21 -1
  73. data/vendor/assets/javascripts/webshims/shims/geolocation.js +0 -0
  74. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ar.js +0 -0
  75. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-CN.js +0 -0
  76. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-cs.js +0 -0
  77. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.js +0 -0
  78. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-el.js +0 -0
  79. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.js +0 -0
  80. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-es.js +0 -0
  81. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fa.js +130 -0
  82. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fr.js +0 -0
  83. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-he.js +0 -0
  84. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hi.js +0 -0
  85. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hu.js +0 -0
  86. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-it.js +0 -0
  87. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ja.js +0 -0
  88. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-lt.js +0 -0
  89. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +0 -0
  90. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pl.js +0 -0
  91. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-BR.js +0 -0
  92. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-PT.js +0 -0
  93. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt.js +0 -0
  94. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ru.js +0 -0
  95. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js +0 -0
  96. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-CN.js +0 -0
  97. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-TW.js +130 -0
  98. data/vendor/assets/javascripts/webshims/shims/jajax.js +0 -0
  99. data/vendor/assets/javascripts/webshims/shims/jme/_icons.scss +186 -0
  100. data/vendor/assets/javascripts/webshims/shims/jme/b.js +63 -28
  101. data/vendor/assets/javascripts/webshims/shims/jme/c.js +86 -46
  102. data/vendor/assets/javascripts/webshims/shims/jme/controls.css +317 -211
  103. data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +59 -223
  104. data/vendor/assets/javascripts/webshims/shims/jme/jme.eot +0 -0
  105. data/vendor/assets/javascripts/webshims/shims/jme/jme.svg +0 -0
  106. data/vendor/assets/javascripts/webshims/shims/jme/jme.ttf +0 -0
  107. data/vendor/assets/javascripts/webshims/shims/jme/jme.woff +0 -0
  108. data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +66 -14
  109. data/vendor/assets/javascripts/webshims/shims/jme/p.js +0 -0
  110. data/vendor/assets/javascripts/webshims/shims/jpicker/ChangeLog.txt +0 -0
  111. data/vendor/assets/javascripts/webshims/shims/jpicker/ReadMe.txt +0 -0
  112. data/vendor/assets/javascripts/webshims/shims/jpicker/images/AlphaBar.png +0 -0
  113. data/vendor/assets/javascripts/webshims/shims/jpicker/images/Bars.png +0 -0
  114. data/vendor/assets/javascripts/webshims/shims/jpicker/images/Maps.png +0 -0
  115. data/vendor/assets/javascripts/webshims/shims/jpicker/images/NoColor.png +0 -0
  116. data/vendor/assets/javascripts/webshims/shims/jpicker/images/bar-opacity.png +0 -0
  117. data/vendor/assets/javascripts/webshims/shims/jpicker/images/map-opacity.png +0 -0
  118. data/vendor/assets/javascripts/webshims/shims/jpicker/images/mappoint.gif +0 -0
  119. data/vendor/assets/javascripts/webshims/shims/jpicker/images/picker.gif +0 -0
  120. data/vendor/assets/javascripts/webshims/shims/jpicker/images/preview-opacity.png +0 -0
  121. data/vendor/assets/javascripts/webshims/shims/jpicker/images/rangearrows.gif +0 -0
  122. data/vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css +55 -48
  123. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +66 -43
  124. data/vendor/assets/javascripts/webshims/shims/mediaelement-debug.js +833 -0
  125. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +31 -76
  126. data/vendor/assets/javascripts/webshims/shims/mediaelement-native-fix.js +0 -0
  127. data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +0 -0
  128. data/vendor/assets/javascripts/webshims/shims/moxie/flash/Moxie.cdn.swf +0 -0
  129. data/vendor/assets/javascripts/webshims/shims/moxie/flash/Moxie.min.swf +0 -0
  130. data/vendor/assets/javascripts/webshims/shims/moxie/js/moxie.js +1542 -2303
  131. data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.cdn.xap +0 -0
  132. data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.min.xap +0 -0
  133. data/vendor/assets/javascripts/webshims/shims/picture.js +160 -79
  134. data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +0 -0
  135. data/vendor/assets/javascripts/webshims/shims/promise.js +0 -0
  136. data/vendor/assets/javascripts/webshims/shims/range-ui.js +26 -20
  137. data/vendor/assets/javascripts/webshims/shims/sizzle.js +0 -0
  138. data/vendor/assets/javascripts/webshims/shims/styles/color-picker.png +0 -0
  139. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +444 -326
  140. data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +379 -300
  141. data/vendor/assets/javascripts/webshims/shims/styles/progress.gif +0 -0
  142. data/vendor/assets/javascripts/webshims/shims/styles/progress.png +0 -0
  143. data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-forms-ext.scss +8 -8
  144. data/vendor/assets/javascripts/webshims/shims/styles/scss/_api-shim.scss +0 -0
  145. data/vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss +0 -14
  146. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +104 -85
  147. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +20 -32
  148. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim-ext.scss +0 -0
  149. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +14 -34
  150. data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +920 -728
  151. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +471 -391
  152. data/vendor/assets/javascripts/webshims/shims/styles/widget.eot +0 -0
  153. data/vendor/assets/javascripts/webshims/shims/styles/widget.svg +0 -0
  154. data/vendor/assets/javascripts/webshims/shims/styles/widget.ttf +0 -0
  155. data/vendor/assets/javascripts/webshims/shims/styles/widget.woff +0 -0
  156. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  157. data/vendor/assets/javascripts/webshims/shims/swfmini-embed.js +0 -0
  158. data/vendor/assets/javascripts/webshims/shims/swfmini.js +0 -0
  159. data/vendor/assets/javascripts/webshims/shims/track-ui.js +0 -0
  160. data/vendor/assets/javascripts/webshims/shims/track.js +30 -16
  161. metadata +8 -4
  162. data/vendor/assets/javascripts/webshims/shims/styles/config.rb +0 -12
  163. data/vendor/assets/javascripts/webshims/shims/swf/filereader.swf +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 131b80a9d6d47915c1a7de2f438fd5813d1d9ba9
4
- data.tar.gz: a54a1861554ed6f6da4c35138d94518ede6f062d
3
+ metadata.gz: 839413957e056c7589fb3c02040a8aa4952b15ee
4
+ data.tar.gz: 46d183e2a7b005ac562576a79260eab922e239bd
5
5
  SHA512:
6
- metadata.gz: 26f9462636436d00dca9e2f184122a2c64702750d80f321573835cf2496ba38e45ab907d4e30d0c7554ff020a05b7b68dbe049af6ced0b3c290198abc3a07f9b
7
- data.tar.gz: 53aba45c2c6242625bcc5048ca80780d89cadb0bfb8d5d7a06ec1c1500278b2eca8885971b24515da7bfc74e9257a57d6e1d5d08c1cc900e31e3b4ae6cab4cb0
6
+ metadata.gz: 119df6de643a7c8eda8543314f426fc84cb496d5e19be628079200f5aa06ea04c825802e1a4d3f8e7079e5e08ce41b41e76564eb5f0ecdaa8d5f3a92cee292a3
7
+ data.tar.gz: 5ca4936dfbc2cbb80f4f0dcf4546a0044421e8241e3c95e35512ed189011361c8914c377afcb9e8c6d5ade4ad01488a1b7c46cb3530f8bafb9c824da50258bdd
@@ -1,6 +1,6 @@
1
1
  module Webshims
2
2
  module Rails
3
- VERSION = "1.14.1"
4
- WEBSHIMS_VERSION = "1.14.1"
3
+ VERSION = "1.14.3"
4
+ WEBSHIMS_VERSION = "1.14.3"
5
5
  end
6
6
  end
@@ -116,7 +116,7 @@
116
116
  path = path.split('?')[0].slice(0, path.lastIndexOf("/") + 1) + 'shims/';
117
117
 
118
118
  $.extend(webshims, {
119
- version: '1.14.1',
119
+ version: '1.14.3',
120
120
  cfg: {
121
121
  enhanceAuto: window.Audio && (!window.matchMedia || matchMedia('(min-device-width: 721px)').matches),
122
122
  //addCacheBuster: false,
@@ -935,7 +935,7 @@
935
935
 
936
936
  document.createElement('picture');
937
937
  addPolyfill('picture', {
938
- test: !!window.HTMLPictureElement
938
+ test: ('picturefill' in window) || !!window.HTMLPictureElement
939
939
  });
940
940
 
941
941
 
@@ -1032,7 +1032,7 @@
1032
1032
 
1033
1033
  webshims.validationMessages = webshims.validityMessages = {
1034
1034
  langSrc: 'i18n/formcfg-',
1035
- availableLangs: "ar cs el es fr he hi hu it ja lt nl pl pt pt-BR pt-PT ru sv zh-CN".split(' ')
1035
+ availableLangs: "ar cs el es fa fr he hi hu it ja lt nl pl pt pt-BR pt-PT ru sv zh-CN zh-TW".split(' ')
1036
1036
  };
1037
1037
  webshims.formcfg = $.extend({}, webshims.validationMessages);
1038
1038
 
@@ -1220,11 +1220,6 @@
1220
1220
  addPolyfill('mediaelement-core', {
1221
1221
  f: 'mediaelement',
1222
1222
  noAutoCallback: true,
1223
- loadInit: function(){
1224
- //
1225
- var o = this.options;
1226
-
1227
- },
1228
1223
  options: {
1229
1224
  //replaceUI: false,
1230
1225
  jme: {},
@@ -2305,7 +2305,7 @@ webshims.register('color-picker', function($, webshims, window, document, undefi
2305
2305
 
2306
2306
 
2307
2307
  var mode = $(data.orig).data('colormode') || 'h';
2308
- if(!data.alpha.length){
2308
+ if(!data.alpha || !data.alpha.length){
2309
2309
  jpicker.addClass('no-alpha-picker');
2310
2310
  if(mode == 'a'){
2311
2311
  mode = 'h';
@@ -2399,7 +2399,7 @@ webshims.register('color-picker', function($, webshims, window, document, undefi
2399
2399
  var value = data.parseValue();
2400
2400
  implementPickerFor(data);
2401
2401
 
2402
- value += (data.alpha.length) ?
2402
+ value += (data.alpha && data.alpha.length) ?
2403
2403
  $.wsjPicker.ColorMethods.intToHex( (data.alpha.prop('value') || 1) * (255 / (data.alpha.prop('max') || 1)) ) :
2404
2404
  'ff'
2405
2405
  ;
@@ -553,7 +553,7 @@ webshims.isReady('swfmini', true);
553
553
 
554
554
  var wsCfg = webshims.cfg;
555
555
  var options = wsCfg.mediaelement;
556
- var hasSwf;
556
+ var isIE = navigator.userAgent.indexOf('MSIE') != -1;
557
557
  if(!options){
558
558
  webshims.error("mediaelement wasn't implemented but loaded");
559
559
  return;
@@ -568,7 +568,7 @@ webshims.isReady('swfmini', true);
568
568
 
569
569
  webshims.capturingEvents(['play', 'playing', 'waiting', 'paused', 'ended', 'durationchange', 'loadedmetadata', 'canplay', 'volumechange']);
570
570
 
571
- if( !Modernizr.videoBuffered || !supportsLoop || (!Modernizr.mediaDefaultMuted && navigator.userAgent.indexOf('MSIE') != -1 && 'ActiveXObject' in window) ){
571
+ if( !Modernizr.videoBuffered || !supportsLoop || (!Modernizr.mediaDefaultMuted && isIE && 'ActiveXObject' in window) ){
572
572
  webshims.addPolyfill('mediaelement-native-fix', {
573
573
  d: ['dom-support']
574
574
  });
@@ -596,7 +596,7 @@ webshims.isReady('swfmini', true);
596
596
  }
597
597
 
598
598
  webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
599
- hasSwf = swfmini.hasFlashPlayerVersion('10.0.3');
599
+ var hasSwf = swfmini.hasFlashPlayerVersion('10.0.3');
600
600
  var mediaelement = webshims.mediaelement;
601
601
 
602
602
  mediaelement.parseRtmp = function(data){
@@ -658,11 +658,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
658
658
  }
659
659
  }
660
660
  }
661
-
662
- if(!src.container){
663
- $(elem).attr('data-wsrecheckmimetype', '');
664
- }
665
-
661
+
666
662
  tmp = elem.attr('media');
667
663
  if(tmp){
668
664
  src.media = tmp;
@@ -792,11 +788,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
792
788
  }
793
789
  };
794
790
 
795
-
796
- $.fn.loadMediaSrc = function(){
797
- webshims.error('loadMediaSrc was removed.');
798
- };
799
-
800
791
  mediaelement.swfMimeTypes = ['video/3gpp', 'video/x-msvideo', 'video/quicktime', 'video/x-m4v', 'video/mp4', 'video/m4p', 'video/x-flv', 'video/flv', 'audio/mpeg', 'audio/aac', 'audio/mp4', 'audio/x-m4a', 'audio/m4a', 'audio/mp3', 'audio/x-fla', 'audio/fla', 'youtube/flv', 'video/jarisplayer', 'jarisplayer/jarisplayer', 'video/youtube', 'video/rtmp', 'audio/rtmp'];
801
792
 
802
793
  mediaelement.canThirdPlaySrces = function(mediaElem, srces){
@@ -854,7 +845,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
854
845
  message = "can't play sources";
855
846
  }
856
847
  $(elem).pause().data('mediaerror', message);
857
- webshims.error('mediaelementError: '+ message);
848
+ webshims.error('mediaelementError: '+ message +'. Run the following line in your console to get more info: webshim.mediaelement.loadDebugger();');
858
849
  setTimeout(function(){
859
850
  if($(elem).data('mediaerror')){
860
851
  $(elem).addClass('media-error').trigger('mediaerror');
@@ -886,36 +877,49 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
886
877
  }
887
878
  };
888
879
  })();
889
-
890
- var stepSources = function(elem, data, useSwf, _srces, _noLoop){
891
- var ret;
892
- if(useSwf || (useSwf !== false && data && data.isActive == 'third')){
893
- ret = mediaelement.canThirdPlaySrces(elem, _srces);
894
- if(!ret){
895
- if(_noLoop){
896
- mediaelement.setError(elem, false);
897
- } else {
898
- stepSources(elem, data, false, _srces, true);
899
- }
900
- } else {
901
- handleThird(elem, ret, data);
880
+
881
+ var activate = {
882
+ native: function(elem, src, data){
883
+ if(data && data.isActive == 'third') {
884
+ mediaelement.setActive(elem, 'html5', data);
902
885
  }
903
- } else {
904
- ret = mediaelement.canNativePlaySrces(elem, _srces);
905
- if(!ret){
906
- if(_noLoop){
907
- mediaelement.setError(elem, false);
908
- if(data && data.isActive == 'third') {
909
- mediaelement.setActive(elem, 'html5', data);
910
- }
911
- } else {
912
- stepSources(elem, data, true, _srces, true);
913
- }
914
- } else if(data && data.isActive == 'third') {
886
+ },
887
+ third: handleThird
888
+ };
889
+
890
+ var stepSources = function(elem, data, srces){
891
+ var i, src;
892
+ var testOrder = [{test: 'canNativePlaySrces', activate: 'native'}, {test: 'canThirdPlaySrces', activate: 'third'}];
893
+ if(options.preferFlash || (data && data.isActive == 'third') ){
894
+ testOrder.reverse();
895
+ }
896
+ for(i = 0; i < 2; i++){
897
+ src = mediaelement[testOrder[i].test](elem, srces);
898
+ if(src){
899
+ activate[testOrder[i].activate](elem, src, data);
900
+ break;
901
+ }
902
+ }
903
+
904
+ if(!src){
905
+ mediaelement.setError(elem, false);
906
+ if(data && data.isActive == 'third') {
915
907
  mediaelement.setActive(elem, 'html5', data);
916
908
  }
917
909
  }
918
910
  };
911
+ var allowedPreload = {'metadata': 1, 'auto': 1, '': 1};
912
+ var fixPreload = function(elem){
913
+ var preload, img;
914
+ if(elem.getAttribute('preload') == 'none'){
915
+ if(allowedPreload[(preload = $.attr(elem, 'data-preload'))]){
916
+ $.attr(elem, 'preload', preload);
917
+ } else if(hasNative && (preload = elem.getAttribute('poster'))){
918
+ img = document.createElement('img');
919
+ img.src = preload;
920
+ }
921
+ }
922
+ };
919
923
  var stopParent = /^(?:embed|object|datalist)$/i;
920
924
  var selectSource = function(elem, data){
921
925
  var baseData = webshims.data(elem, 'mediaelementBase') || webshims.data(elem, 'mediaelementBase', {});
@@ -931,7 +935,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
931
935
  if(mediaelement.sortMedia){
932
936
  _srces.sort(mediaelement.sortMedia);
933
937
  }
934
- stepSources(elem, data, options.preferFlash || undefined, _srces);
938
+ fixPreload(elem);
939
+ stepSources(elem, data, _srces);
940
+
935
941
  };
936
942
  mediaelement.selectSource = selectSource;
937
943
 
@@ -942,20 +948,22 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
942
948
  setTimeout(function(){
943
949
  if( $.prop(e.target, 'paused') || !$.prop(e.target, 'loop') ){return;}
944
950
  $(e.target).prop('currentTime', 0).play();
945
- }, 1);
951
+ });
946
952
 
947
953
  });
948
954
 
949
955
  var handleMedia = false;
956
+
950
957
  var initMediaElements = function(){
951
958
  var testFixMedia = function(){
959
+
952
960
  if(webshims.implement(this, 'mediaelement')){
953
961
  selectSource(this);
954
962
  if(!Modernizr.mediaDefaultMuted && $.attr(this, 'muted') != null){
955
963
  $.prop(this, 'muted', true);
956
964
  }
965
+
957
966
  }
958
-
959
967
  };
960
968
 
961
969
  webshims.ready('dom-support', function(){
@@ -971,6 +979,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
971
979
  prop: {
972
980
  value: function(){
973
981
  var data = webshims.data(this, 'mediaelement');
982
+
974
983
  selectSource(this, data);
975
984
  if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
976
985
  supLoad.prop._supvalue.apply(this, arguments);
@@ -982,6 +991,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
982
991
  }
983
992
  }
984
993
  });
994
+
985
995
  nativeCanPlayType[nodeName] = webshims.defineNodeNameProperty(nodeName, 'canPlayType', {
986
996
  prop: {
987
997
  value: function(type){
@@ -998,6 +1008,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
998
1008
  ret = 'maybe';
999
1009
  }
1000
1010
  }
1011
+ if(!ret && hasYt && type == 'video/youtube'){
1012
+ ret = 'maybe';
1013
+ }
1001
1014
  return ret;
1002
1015
  }
1003
1016
  }
@@ -1047,8 +1060,18 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
1047
1060
  });
1048
1061
  }
1049
1062
  };
1050
-
1051
1063
 
1064
+ mediaelement.loadDebugger = function(){
1065
+ webshims.ready('dom-support', function(){
1066
+ webshims.loader.loadScript('mediaelement-debug');
1067
+ });
1068
+ };
1069
+
1070
+ if(({noCombo: 1, media: 1})[webshims.cfg.debug]){
1071
+ $(document).on('mediaerror', function(e){
1072
+ mediaelement.loadDebugger();
1073
+ });
1074
+ }
1052
1075
  //set native implementation ready, before swf api is retested
1053
1076
  if(hasNative){
1054
1077
  webshims.isReady('mediaelement-core', true);
@@ -1232,6 +1232,23 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1232
1232
  return val * 1;
1233
1233
  };
1234
1234
  var createOpts = ['step', 'min', 'max', 'readonly', 'title', 'disabled', 'tabindex'];
1235
+ var normalizeTouch = (function(){
1236
+ var types = {
1237
+ touchstart: 1,
1238
+ touchend: 1,
1239
+ touchmove: 1
1240
+ };
1241
+ var normalize = ['pageX', 'pageY'];
1242
+ return function(e){
1243
+ if(types[e.type] && e.originalEvent && e.originalEvent.touches && e.originalEvent.touches.length){
1244
+ for(var i = 0; i < normalize.length; i++){
1245
+ e[normalize[i]] = e.originalEvent.touches[0][normalize[i]];
1246
+ }
1247
+
1248
+ }
1249
+ return e;
1250
+ };
1251
+ })();
1235
1252
  var rangeProto = {
1236
1253
  _create: function(){
1237
1254
  var i;
@@ -1550,23 +1567,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1550
1567
  }
1551
1568
  };
1552
1569
  })();
1553
- var normalizeTouch = (function(){
1554
- var types = {
1555
- touchstart: 1,
1556
- touchend: 1,
1557
- touchmove: 1
1558
- };
1559
- var normalize = ['pageX', 'pageY'];
1560
- return function(e){
1561
- if(types[e.type] && e.originalEvent && e.originalEvent.touches && e.originalEvent.touches.length){
1562
- for(var i = 0; i < normalize.length; i++){
1563
- e[normalize[i]] = e.originalEvent.touches[0][normalize[i]];
1564
- }
1565
-
1566
- }
1567
- return e;
1568
- };
1569
- })();
1570
+
1570
1571
  var updateValue = function(val, animate){
1571
1572
  if(val != o.value){
1572
1573
  that.value(val, false, animate);
@@ -1586,7 +1587,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1586
1587
  }
1587
1588
  };
1588
1589
  var remove = function(e){
1589
- if(e && e.type == 'mouseup'){
1590
+ if(e && (e.type == 'mouseup' || e.type == 'touchend')){
1590
1591
  eventTimer.call('input', o.value);
1591
1592
  eventTimer.call('change', o.value);
1592
1593
  }
@@ -1607,6 +1608,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1607
1608
  $(document).off('mousemove touchmove', setValueFromPos).off('mouseup touchend', remove);
1608
1609
  $(window).off('blur', removeWin);
1609
1610
  if(!o.readonly && !o.disabled){
1611
+ eventTimer.init('input', o.value);
1612
+ eventTimer.init('change', o.value);
1610
1613
  normalizeTouch(e);
1611
1614
  that.element.trigger('focus');
1612
1615
  that.addRemoveClass('ws-active', true);
@@ -1642,8 +1645,10 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1642
1645
  'touchstart mousedown': add,
1643
1646
  focus: function(e){
1644
1647
  if(!o.disabled && !hasFocus){
1645
- eventTimer.init('input', o.value);
1646
- eventTimer.init('change', o.value);
1648
+ if(!isActive){
1649
+ eventTimer.init('input', o.value);
1650
+ eventTimer.init('change', o.value);
1651
+ }
1647
1652
  that.addRemoveClass('ws-focus', true);
1648
1653
  that.updateMetrics();
1649
1654
  }
@@ -1829,6 +1834,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1829
1834
  obj._create.call(obj);
1830
1835
  });
1831
1836
  };
1837
+ $.fn.rangeUI.normalizeTouch = normalizeTouch;
1832
1838
  if(window.webshims && webshims.isReady){
1833
1839
  webshims.isReady('range-ui', true);
1834
1840
  }
@@ -2536,11 +2542,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2536
2542
  if( steps[this.type] && typeof steps[this.type].start == 'object'){
2537
2543
  steps[this.type].start = this.asNumber(steps[this.type].start);
2538
2544
  }
2539
-
2540
- if(!webshims.picker[this.type]){
2541
- o.buttonOnly = false;
2542
- }
2543
-
2545
+
2544
2546
  for(i = 0; i < createOpts.length; i++){
2545
2547
  if(o[createOpts[i]] != null){
2546
2548
  this[createOpts[i]](o[createOpts[i]], o[createOpts[i]]);
@@ -2770,7 +2772,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2770
2772
  wsWidgetProto._create.apply(this, arguments);
2771
2773
  this._init = false;
2772
2774
 
2773
- this.buttonWrapper.html('<span unselectable="on" class="step-controls"><span class="step-up"></span><span class="step-down"></span></span>');
2775
+ this.buttonWrapper.html('<span unselectable="on" class="step-controls"><span class="step-up step-control"></span><span class="step-down step-control"></span></span>');
2774
2776
 
2775
2777
  if(this.type == 'number'){
2776
2778
  this.inputElements.attr('inputmode', 'numeric');
@@ -2953,7 +2955,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2953
2955
  }
2954
2956
 
2955
2957
  touch = changedTouches[0];
2956
- if(Math.abs(touchData.x - touch.pageX) > 40 || Math.abs(touchData.y - touch.pageY) > 40 || Date.now() - touchData.now > 600){
2958
+ if(Math.abs(touchData.x - touch.pageX) > 40 || Math.abs(touchData.y - touch.pageY) > 40 || Date.now() - touchData.now > 300){
2957
2959
  return;
2958
2960
  }
2959
2961
  e.preventDefault();
@@ -3151,7 +3153,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
3151
3153
  }
3152
3154
  };
3153
3155
  return function(prop){
3154
- if(prop == 'value' && !data.options.inlinePicker){return;}
3156
+ if(prop == 'value' && (!data.options.inlinePicker || data._handledValue )){return;}
3155
3157
  popover.isDirty = true;
3156
3158
 
3157
3159
  if(popover.isVisible){
@@ -3210,6 +3212,13 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
3210
3212
  }
3211
3213
  show();
3212
3214
  };
3215
+ var toogle = function(){
3216
+ if(popover.openedByFocus || !popover.isVisible){
3217
+ open();
3218
+ } else {
3219
+ popover.hide();
3220
+ }
3221
+ }
3213
3222
 
3214
3223
 
3215
3224
  options.containerElements.push(popover.element[0]);
@@ -3250,7 +3259,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
3250
3259
  }
3251
3260
 
3252
3261
 
3253
- opener.wsTouchClick(open);
3262
+ opener.wsTouchClick(toogle);
3254
3263
 
3255
3264
  if(options.inlinePicker){
3256
3265
  popover.openedByFocus = true;
@@ -3602,9 +3611,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
3602
3611
  }
3603
3612
 
3604
3613
  data.shim.element.on('change input', stopPropagation).addClass(cNames+' '+webshims.shadowClass);
3605
-
3614
+
3606
3615
  if(data.shim.buttonWrapper){
3607
-
3616
+
3608
3617
  data.shim.buttonWrapper.addClass('input-button-size-'+(data.shim.buttonWrapper.children().filter(isVisible).length)+' '+webshims.shadowClass);
3609
3618
 
3610
3619
  if(data.shim.buttonWrapper.filter(isVisible).length){
@@ -3761,6 +3770,32 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
3761
3770
  ;
3762
3771
  });
3763
3772
  };
3773
+
3774
+
3775
+ if($('<input />').prop('labels') == null){
3776
+ webshims.defineNodeNamesProperty('button, input, keygen, meter, output, progress, select, textarea', 'labels', {
3777
+ prop: {
3778
+ get: function(){
3779
+ if(this.type == 'hidden'){return null;}
3780
+ var id = this.id;
3781
+ var labels = $(this)
3782
+ .closest('label')
3783
+ .filter(function(){
3784
+ var hFor = (this.attributes['for'] || {});
3785
+ return (!hFor.specified || hFor.value == id);
3786
+ })
3787
+ ;
3788
+
3789
+ if(id) {
3790
+ labels = labels.add('label[for="'+ id +'"]');
3791
+ }
3792
+ return labels.get();
3793
+ },
3794
+ writeable: false
3795
+ }
3796
+ });
3797
+ }
3798
+
3764
3799
  if(formcfg._isLoading){
3765
3800
  $(formcfg).one('change', init);
3766
3801
  } else {