webshims-rails 1.14.1 → 1.14.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 {