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
@@ -24,7 +24,7 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
24
24
  var className = (track.kind == 'caption') ? 'caption-type' : 'subtitle-type';
25
25
  var lang = track.language;
26
26
  lang = (lang) ? ' <span class="track-lang">'+ lang +'</span>' : '';
27
- return '<li class="'+ className +'" role="presentation"><button role="menuitemcheckbox">'+ track.label + lang +'</button></li>';
27
+ return '<li class="'+ className +'" role="presentation"><button role="menuitemcheckbox" type="button">'+ track.label + lang +'</button></li>';
28
28
  })
29
29
  ;
30
30
  return '<div><ul>' + items.join('') +'</ul></div>';
@@ -49,7 +49,7 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
49
49
  }
50
50
 
51
51
  touch = changedTouches[0];
52
- if(Math.abs(touchData.x - touch.pageX) > 40 || Math.abs(touchData.y - touch.pageY) > 40 || Date.now() - touchData.now > 600){
52
+ if(Math.abs(touchData.x - touch.pageX) > 40 || Math.abs(touchData.y - touch.pageY) > 40 || Date.now() - touchData.now > 300){
53
53
  return;
54
54
  }
55
55
  e.preventDefault();
@@ -207,6 +207,49 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
207
207
 
208
208
  }
209
209
  },
210
+ 'jme-media-overlay': {
211
+ _create: function(control, media, base){
212
+ var stopFocus, focusTimer, markedFocus;
213
+ var specialUnStop = {
214
+ touchend: 1,
215
+ click: 1
216
+ };
217
+ var unStop = function(){
218
+ stopFocus = false;
219
+ };
220
+ control.wsTouchClick(function(e){
221
+ if(media.jmeProp('isPlaying') && base.attr('data-useractivity') != 'false'){
222
+ media.pause();
223
+ } else {
224
+ media.play();
225
+ }
226
+ });
227
+
228
+ base.on({
229
+ 'touchstart touchend mousedown click mouseover': function(e){
230
+ var delay = 500;
231
+ stopFocus = true;
232
+ clearTimeout(focusTimer);
233
+ if(markedFocus && specialUnStop[e.type] && e.target.className.indexOf('ws-a11y-focus') != -1){
234
+ delay = 0;
235
+ }
236
+ focusTimer = setTimeout(unStop, delay);
237
+ },
238
+ focusin: function(e){
239
+ if(!stopFocus && e.originalEvent){
240
+ markedFocus = true;
241
+ $(e.target).addClass('ws-a11y-focus');
242
+ }
243
+ },
244
+ focusout: function(e){
245
+ if(markedFocus){
246
+ markedFocus = false;
247
+ $(e.target).removeClass('ws-a11y-focus');
248
+ }
249
+ }
250
+ });
251
+ }
252
+ },
210
253
  'volume-slider': {
211
254
  _create: function(control, media){
212
255
 
@@ -256,7 +299,7 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
256
299
  var module = this;
257
300
 
258
301
  var createFn = function(){
259
- var time, durationChange, api, timeShow, wasPaused;
302
+ var time, durationChange, api, timeShow, wasPaused, hideTime;
260
303
  var hasDuration = 'has-duration';
261
304
  var duration = media.prop('duration');
262
305
 
@@ -312,7 +355,15 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
312
355
  base.addClass(module[pseudoClasses].no);
313
356
  }
314
357
  };
315
-
358
+ hideTime = function(){
359
+ setTimeout(function(){
360
+ timeShow.removeClass('show-time-select');
361
+ control.off('.jmetimeselect');
362
+ if(document.removeEventListener){
363
+ document.removeEventListener('touchend', hideTime, true);
364
+ }
365
+ });
366
+ };
316
367
  api = control
317
368
  .rangeUI({
318
369
  min: 0,
@@ -332,8 +383,9 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
332
383
 
333
384
  control
334
385
  .on({
335
- 'mouseenter': function(e){
336
- if(hasDuration){
386
+ 'mouseenter touchstart': function(e){
387
+ if(hasDuration && e.type != 'touchstart' || (e.originalEvent && e.originalEvent.touches && e.originalEvent.touches.length == 1)){
388
+
337
389
  var widgetLeft = (control.offset() || {left: 0}).left;
338
390
  var widgetWidth = control.innerWidth();
339
391
  var posLeft = function(x){
@@ -344,24 +396,24 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
344
396
  ;
345
397
  };
346
398
 
399
+ $.fn.rangeUI.normalizeTouch(e);
347
400
  setTimeout(function(){
348
401
  posLeft(e.pageX);
349
402
  timeShow.addClass('show-time-select');
350
403
  });
404
+ if(document.addEventListener){
405
+ document.addEventListener('touchend', hideTime, true);
406
+ }
351
407
  control
352
408
  .off('.jmetimeselect')
353
- .on('mousemove.jmetimeselect', function(e){
409
+ .on('mousemove.jmetimeselect touchmove.jmetimeselect', function(e){
410
+ $.fn.rangeUI.normalizeTouch(e);
354
411
  posLeft(e.pageX);
355
412
  })
356
413
  ;
357
414
  }
358
415
  },
359
- mouseleave: function(){
360
- setTimeout(function(){
361
- timeShow.removeClass('show-time-select');
362
- control.off('.jmetimeselect');
363
- });
364
- }
416
+ 'mouseleave touchend': hideTime
365
417
  })
366
418
  ;
367
419
 
@@ -1086,7 +1138,7 @@ webshims.register('jme', function($, webshims, window, doc, undefined){
1086
1138
  if(!data.bound){
1087
1139
  jElm
1088
1140
  .on('mouseleave.jmeuseractivity', setInactive)
1089
- .on('mousemove.jmeuseractivity focusin.jmeuseractivity mouseenter.jmeuseractivity keydown.jmeuseractivity keyup.jmeuseractivity mousedown.jmeuseractivity', setActive)
1141
+ .on('touchend.jmeuseractivity setuseractive.jmeuseractivity mousemove.jmeuseractivity focusin.jmeuseractivity mouseenter.jmeuseractivity keydown.jmeuseractivity keyup.jmeuseractivity mousedown.jmeuseractivity', setActive)
1090
1142
  ;
1091
1143
  data.bound = true;
1092
1144
  }
File without changes
@@ -1,8 +1,5 @@
1
- .jPicker,
2
- .jPicker * {
3
- -webkit-box-sizing: border-box;
4
- -moz-box-sizing: border-box;
5
- box-sizing: border-box;
1
+ .jPicker {
2
+ box-sizing: content-box;
6
3
  }
7
4
  .jPicker label {
8
5
  display: inline;
@@ -18,19 +15,20 @@
18
15
  background-position: 2px 2px;
19
16
  display: block;
20
17
  height: 100%;
21
- left: 0px;
18
+ left: 0;
22
19
  position: absolute;
23
- top: 0px;
20
+ top: 0;
24
21
  width: 100%;
22
+ box-sizing: border-box;
25
23
  }
26
24
  .jPicker .Icon span.Image {
27
25
  background-repeat: no-repeat;
28
26
  cursor: pointer;
29
27
  display: block;
30
28
  height: 100%;
31
- left: 0px;
29
+ left: 0;
32
30
  position: absolute;
33
- top: 0px;
31
+ top: 0;
34
32
  width: 100%;
35
33
  }
36
34
  .jPicker.Container {
@@ -40,7 +38,7 @@
40
38
  table.jPicker {
41
39
  font-family: Arial, Helvetica, Sans-Serif;
42
40
  font-size: 12px !important;
43
- margin: 0px;
41
+ margin: 0;
44
42
  padding: 0;
45
43
  width: 545px;
46
44
  z-index: 20;
@@ -55,7 +53,8 @@ table.jPicker {
55
53
  border-width: 1px;
56
54
  cursor: move;
57
55
  height: 12px;
58
- padding: 0px;
56
+ padding: 0;
57
+ box-sizing: border-box;
59
58
  }
60
59
  .jPicker .Title {
61
60
  display: none;
@@ -66,15 +65,17 @@ table.jPicker {
66
65
  border-right: 2px solid #fff;
67
66
  border-top: 2px solid #9a9a9a;
68
67
  cursor: crosshair;
69
- height: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */
70
- margin: 0px 10px 10px 10px;
68
+ height: 260px;
69
+ margin: 0 10px 10px 10px;
71
70
  overflow: hidden; /* hide the overdraw of the Color Map icon when at edge of viewing box */
72
- padding: 0px;
71
+ padding: 0;
73
72
  position: relative; /* make this element an absolute positioning container */
74
- width: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */
73
+ width: 260px;
74
+ box-sizing: border-box;
75
75
  }
76
76
 
77
77
  .jPicker div.Bar {
78
+ box-sizing: border-box;
78
79
  border-bottom: 2px solid #fff;
79
80
  border-left: 2px solid #9a9a9a;
80
81
  border-right: 2px solid #fff;
@@ -83,7 +84,7 @@ table.jPicker {
83
84
  height: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */
84
85
  margin: -11px 10px 0 5px;
85
86
  overflow: hidden;
86
- padding: 0px;
87
+ padding: 0;
87
88
  position: relative;
88
89
  width: 24px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 20px later */
89
90
  }
@@ -92,9 +93,9 @@ table.jPicker {
92
93
  background-color: transparent;
93
94
  background-image: none;
94
95
  display: block;
95
- left: 0px;
96
+ left: 0;
96
97
  position: absolute;
97
- top: 0px;
98
+ top: 0;
98
99
  }
99
100
  .jPicker .Map .Map1, .jPicker .Map .Map2, .jPicker .Map .Map3 {
100
101
  height: 2596px;
@@ -126,70 +127,74 @@ table.jPicker {
126
127
  }
127
128
  .jPicker .Bar .Arrow {
128
129
  display: block;
129
- left: 0px; /* (arrow width / 2) - (element width / 2) - position arrows' center in elements' center */
130
+ left: 0; /* (arrow width / 2) - (element width / 2) - position arrows' center in elements' center */
130
131
  position: absolute;
131
132
  }
132
133
  .jPicker .Preview {
133
134
  font-size: 9px;
134
- padding: 5px 0px 0px 0px;
135
+ padding: 5px 0 0 0;
135
136
  text-align: center;
136
137
  }
137
- .jPicker .Preview div {
138
+ .jPicker .Preview > div {
139
+ box-sizing: border-box;
138
140
  border: 2px inset #eee;
139
141
  height: 62px;
140
- margin: 0px auto;
141
- padding: 0px;
142
+ margin: 0 auto;
143
+ padding: 0;
142
144
  width: 62px;
143
145
  }
144
- .jPicker .Preview div span {
146
+ .jPicker .Preview > div > span {
147
+ box-sizing: border-box;
145
148
  border: 1px solid #000;
146
149
  display: block;
147
150
  height: 30px;
148
- margin: 0px auto;
149
- padding: 0px;
151
+ margin: 0 auto;
152
+ padding: 0;
150
153
  width: 60px;
151
154
  }
152
155
  .jPicker .Preview .Active {
153
- border-bottom-width: 0px;
156
+ border-bottom-width: 0;
154
157
  }
155
158
  .jPicker .Preview .Current {
156
- border-top-width: 0px;
159
+ border-top-width: 0;
157
160
  cursor: pointer;
158
161
  }
159
162
  .jPicker input {
160
163
  font-size: 13px;
161
164
  }
162
165
  .jPicker .Button {
166
+ box-sizing: border-box;
163
167
  text-align: center;
164
- padding: 0px 4px;
168
+ padding: 0 4px;
165
169
  width: 115px;
166
170
  }
167
171
  .jPicker .Button input {
168
- padding: 2px 0px;
172
+ box-sizing: border-box;
173
+ padding: 2px 0;
169
174
  width: 100px;
170
175
  }
171
176
  .jPicker .Button .Ok {
172
- margin: 12px 0px 5px 0px;
177
+ margin: 12px 0 5px 0;
173
178
  }
174
179
  .jPicker td {
175
- margin: 0px;
176
- padding: 0px;
180
+ margin: 0;
181
+ padding: 0;
177
182
  }
178
183
  .jPicker td.Radio {
179
- margin: 0px;
180
- padding: 0px;
184
+ margin: 0;
185
+ padding: 0;
181
186
  width: 32px;
182
187
  }
183
188
  .jPicker td.Radio input {
184
- margin: 0px 5px 0px 0px;
185
- padding: 0px;
189
+ margin: 0 5px 0 0;
190
+ padding: 0;
186
191
  display: inline-block;
187
192
  }
188
193
  .jPicker td.Text {
189
194
  font-size: 12px !important;
190
195
  height: 22px;
191
- margin: 0px;
192
- padding: 0px;
196
+ margin: 0;
197
+ padding: 0;
193
198
  text-align: left;
194
199
  width: 70px;
195
200
  }
@@ -197,10 +202,11 @@ table.jPicker {
197
202
  width: 100px;
198
203
  }
199
204
  .jPicker td.Text input {
205
+ box-sizing: border-box;
200
206
  background-color: #fff;
201
207
  border: 1px inset #aaa;
202
208
  height: 19px;
203
- margin: 0px 0px 0px 5px;
209
+ margin: 0 0 0 5px;
204
210
  text-align: left;
205
211
  width: 30px;
206
212
  }
@@ -231,24 +237,25 @@ table.jPicker {
231
237
  overflow: hidden;
232
238
  }
233
239
  .jPicker .Grid span.QuickColor {
240
+ box-sizing: border-box;
234
241
  border: 1px inset #aaa;
235
242
  cursor: pointer;
236
243
  display: inline-block;
237
244
  height: 15px;
238
- margin: 0px;
239
- padding: 0px;
245
+ margin: 0;
246
+ padding: 0;
240
247
  width: 17px;
241
248
  float: left;
242
249
  }
243
250
 
244
- @media all
251
+ @media all
245
252
  {
246
- #jPicker { margin: 0px 8px; text-align: left; }
247
- #jPicker ul { font-size: 15px; margin: 0px 0px 0px 15px; padding: 0px; }
248
- #jPicker ul li { list-style: disc; padding: 2px 0px; }
253
+ #jPicker { margin: 0 8px; text-align: left; }
254
+ #jPicker ul { font-size: 15px; margin: 0 0 0 15px; padding: 0; }
255
+ #jPicker ul li { list-style: disc; padding: 2px 0; }
249
256
  #jPicker ul li ul { margin-bottom: 10px; }
250
257
  #jPicker ul li ul li { list-style: circle; }
251
- #jPicker p { font-size: 13px; padding: 0px 10px; }
258
+ #jPicker p { font-size: 13px; padding: 0 10px; }
252
259
  #jPicker hr { clear: both; }
253
260
  #jPicker h2.jPicker { font-size: 16px; padding: 20px 10px; }
254
261
  #jPicker code { color: #8bd; font-size: 14px; font-weight: bold; }
@@ -256,5 +263,5 @@ table.jPicker {
256
263
  #jPicker span { font-size: 13px; text-align: center; }
257
264
  #jPicker a { color: #ff8050; }
258
265
  #jPicker input { font-size: 13px; padding: 2px 5px; }
259
- #jPicker h2 { font-size: 16px; margin: 10px 0px; }
266
+ #jPicker h2 { font-size: 16px; margin: 10px 0; }
260
267
  }
@@ -15,7 +15,7 @@
15
15
 
16
16
  var wsCfg = webshims.cfg;
17
17
  var options = wsCfg.mediaelement;
18
- var hasSwf;
18
+ var isIE = navigator.userAgent.indexOf('MSIE') != -1;
19
19
  if(!options){
20
20
  webshims.error("mediaelement wasn't implemented but loaded");
21
21
  return;
@@ -30,7 +30,7 @@
30
30
 
31
31
  webshims.capturingEvents(['play', 'playing', 'waiting', 'paused', 'ended', 'durationchange', 'loadedmetadata', 'canplay', 'volumechange']);
32
32
 
33
- if( !Modernizr.videoBuffered || !supportsLoop || (!Modernizr.mediaDefaultMuted && navigator.userAgent.indexOf('MSIE') != -1 && 'ActiveXObject' in window) ){
33
+ if( !Modernizr.videoBuffered || !supportsLoop || (!Modernizr.mediaDefaultMuted && isIE && 'ActiveXObject' in window) ){
34
34
  webshims.addPolyfill('mediaelement-native-fix', {
35
35
  d: ['dom-support']
36
36
  });
@@ -58,7 +58,7 @@
58
58
  }
59
59
 
60
60
  webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
61
- hasSwf = swfmini.hasFlashPlayerVersion('10.0.3');
61
+ var hasSwf = swfmini.hasFlashPlayerVersion('10.0.3');
62
62
  var mediaelement = webshims.mediaelement;
63
63
 
64
64
  mediaelement.parseRtmp = function(data){
@@ -120,11 +120,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
120
120
  }
121
121
  }
122
122
  }
123
-
124
- if(!src.container){
125
- $(elem).attr('data-wsrecheckmimetype', '');
126
- }
127
-
123
+
128
124
  tmp = elem.attr('media');
129
125
  if(tmp){
130
126
  src.media = tmp;
@@ -254,11 +250,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
254
250
  }
255
251
  };
256
252
 
257
-
258
- $.fn.loadMediaSrc = function(){
259
- webshims.error('loadMediaSrc was removed.');
260
- };
261
-
262
253
  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'];
263
254
 
264
255
  mediaelement.canThirdPlaySrces = function(mediaElem, srces){
@@ -316,7 +307,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
316
307
  message = "can't play sources";
317
308
  }
318
309
  $(elem).pause().data('mediaerror', message);
319
- webshims.error('mediaelementError: '+ message);
310
+ webshims.error('mediaelementError: '+ message +'. Run the following line in your console to get more info: webshim.mediaelement.loadDebugger();');
320
311
  setTimeout(function(){
321
312
  if($(elem).data('mediaerror')){
322
313
  $(elem).addClass('media-error').trigger('mediaerror');
@@ -348,36 +339,49 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
348
339
  }
349
340
  };
350
341
  })();
351
-
352
- var stepSources = function(elem, data, useSwf, _srces, _noLoop){
353
- var ret;
354
- if(useSwf || (useSwf !== false && data && data.isActive == 'third')){
355
- ret = mediaelement.canThirdPlaySrces(elem, _srces);
356
- if(!ret){
357
- if(_noLoop){
358
- mediaelement.setError(elem, false);
359
- } else {
360
- stepSources(elem, data, false, _srces, true);
361
- }
362
- } else {
363
- handleThird(elem, ret, data);
342
+
343
+ var activate = {
344
+ native: function(elem, src, data){
345
+ if(data && data.isActive == 'third') {
346
+ mediaelement.setActive(elem, 'html5', data);
364
347
  }
365
- } else {
366
- ret = mediaelement.canNativePlaySrces(elem, _srces);
367
- if(!ret){
368
- if(_noLoop){
369
- mediaelement.setError(elem, false);
370
- if(data && data.isActive == 'third') {
371
- mediaelement.setActive(elem, 'html5', data);
372
- }
373
- } else {
374
- stepSources(elem, data, true, _srces, true);
375
- }
376
- } else if(data && data.isActive == 'third') {
348
+ },
349
+ third: handleThird
350
+ };
351
+
352
+ var stepSources = function(elem, data, srces){
353
+ var i, src;
354
+ var testOrder = [{test: 'canNativePlaySrces', activate: 'native'}, {test: 'canThirdPlaySrces', activate: 'third'}];
355
+ if(options.preferFlash || (data && data.isActive == 'third') ){
356
+ testOrder.reverse();
357
+ }
358
+ for(i = 0; i < 2; i++){
359
+ src = mediaelement[testOrder[i].test](elem, srces);
360
+ if(src){
361
+ activate[testOrder[i].activate](elem, src, data);
362
+ break;
363
+ }
364
+ }
365
+
366
+ if(!src){
367
+ mediaelement.setError(elem, false);
368
+ if(data && data.isActive == 'third') {
377
369
  mediaelement.setActive(elem, 'html5', data);
378
370
  }
379
371
  }
380
372
  };
373
+ var allowedPreload = {'metadata': 1, 'auto': 1, '': 1};
374
+ var fixPreload = function(elem){
375
+ var preload, img;
376
+ if(elem.getAttribute('preload') == 'none'){
377
+ if(allowedPreload[(preload = $.attr(elem, 'data-preload'))]){
378
+ $.attr(elem, 'preload', preload);
379
+ } else if(hasNative && (preload = elem.getAttribute('poster'))){
380
+ img = document.createElement('img');
381
+ img.src = preload;
382
+ }
383
+ }
384
+ };
381
385
  var stopParent = /^(?:embed|object|datalist)$/i;
382
386
  var selectSource = function(elem, data){
383
387
  var baseData = webshims.data(elem, 'mediaelementBase') || webshims.data(elem, 'mediaelementBase', {});
@@ -393,7 +397,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
393
397
  if(mediaelement.sortMedia){
394
398
  _srces.sort(mediaelement.sortMedia);
395
399
  }
396
- stepSources(elem, data, options.preferFlash || undefined, _srces);
400
+ fixPreload(elem);
401
+ stepSources(elem, data, _srces);
402
+
397
403
  };
398
404
  mediaelement.selectSource = selectSource;
399
405
 
@@ -404,20 +410,22 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
404
410
  setTimeout(function(){
405
411
  if( $.prop(e.target, 'paused') || !$.prop(e.target, 'loop') ){return;}
406
412
  $(e.target).prop('currentTime', 0).play();
407
- }, 1);
413
+ });
408
414
 
409
415
  });
410
416
 
411
417
  var handleMedia = false;
418
+
412
419
  var initMediaElements = function(){
413
420
  var testFixMedia = function(){
421
+
414
422
  if(webshims.implement(this, 'mediaelement')){
415
423
  selectSource(this);
416
424
  if(!Modernizr.mediaDefaultMuted && $.attr(this, 'muted') != null){
417
425
  $.prop(this, 'muted', true);
418
426
  }
427
+
419
428
  }
420
-
421
429
  };
422
430
 
423
431
  webshims.ready('dom-support', function(){
@@ -433,6 +441,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
433
441
  prop: {
434
442
  value: function(){
435
443
  var data = webshims.data(this, 'mediaelement');
444
+
436
445
  selectSource(this, data);
437
446
  if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
438
447
  supLoad.prop._supvalue.apply(this, arguments);
@@ -444,6 +453,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
444
453
  }
445
454
  }
446
455
  });
456
+
447
457
  nativeCanPlayType[nodeName] = webshims.defineNodeNameProperty(nodeName, 'canPlayType', {
448
458
  prop: {
449
459
  value: function(type){
@@ -460,6 +470,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
460
470
  ret = 'maybe';
461
471
  }
462
472
  }
473
+ if(!ret && hasYt && type == 'video/youtube'){
474
+ ret = 'maybe';
475
+ }
463
476
  return ret;
464
477
  }
465
478
  }
@@ -509,8 +522,18 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
509
522
  });
510
523
  }
511
524
  };
512
-
513
525
 
526
+ mediaelement.loadDebugger = function(){
527
+ webshims.ready('dom-support', function(){
528
+ webshims.loader.loadScript('mediaelement-debug');
529
+ });
530
+ };
531
+
532
+ if(({noCombo: 1, media: 1})[webshims.cfg.debug]){
533
+ $(document).on('mediaerror', function(e){
534
+ mediaelement.loadDebugger();
535
+ });
536
+ }
514
537
  //set native implementation ready, before swf api is retested
515
538
  if(hasNative){
516
539
  webshims.isReady('mediaelement-core', true);