webshims-rails 1.14.6 → 1.15.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/polyfiller.js +145 -139
  4. data/vendor/assets/javascripts/webshims/shims/canvas-blob.js +97 -0
  5. data/vendor/assets/javascripts/webshims/shims/combos/1.js +13 -15
  6. data/vendor/assets/javascripts/webshims/shims/combos/10.js +29 -28
  7. data/vendor/assets/javascripts/webshims/shims/combos/11.js +2 -1
  8. data/vendor/assets/javascripts/webshims/shims/combos/12.js +22 -10
  9. data/vendor/assets/javascripts/webshims/shims/combos/13.js +22 -10
  10. data/vendor/assets/javascripts/webshims/shims/combos/15.js +28 -43
  11. data/vendor/assets/javascripts/webshims/shims/combos/16.js +41 -44
  12. data/vendor/assets/javascripts/webshims/shims/combos/17.js +2 -1
  13. data/vendor/assets/javascripts/webshims/shims/combos/2.js +40 -42
  14. data/vendor/assets/javascripts/webshims/shims/combos/21.js +98 -71
  15. data/vendor/assets/javascripts/webshims/shims/combos/22.js +9 -9
  16. data/vendor/assets/javascripts/webshims/shims/combos/23.js +13 -1
  17. data/vendor/assets/javascripts/webshims/shims/combos/25.js +141 -51
  18. data/vendor/assets/javascripts/webshims/shims/combos/27.js +66 -12
  19. data/vendor/assets/javascripts/webshims/shims/combos/28.js +1 -2
  20. data/vendor/assets/javascripts/webshims/shims/combos/3.js +27 -41
  21. data/vendor/assets/javascripts/webshims/shims/combos/30.js +27 -41
  22. data/vendor/assets/javascripts/webshims/shims/combos/31.js +27 -41
  23. data/vendor/assets/javascripts/webshims/shims/combos/34.js +36 -36
  24. data/vendor/assets/javascripts/webshims/shims/combos/4.js +27 -27
  25. data/vendor/assets/javascripts/webshims/shims/combos/5.js +2 -1
  26. data/vendor/assets/javascripts/webshims/shims/combos/6.js +2 -1
  27. data/vendor/assets/javascripts/webshims/shims/combos/7.js +40 -42
  28. data/vendor/assets/javascripts/webshims/shims/combos/8.js +40 -42
  29. data/vendor/assets/javascripts/webshims/shims/combos/9.js +29 -28
  30. data/vendor/assets/javascripts/webshims/shims/combos/98.js +4 -2
  31. data/vendor/assets/javascripts/webshims/shims/combos/99.js +4 -2
  32. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +27 -27
  33. data/vendor/assets/javascripts/webshims/shims/es6.js +23 -29
  34. data/vendor/assets/javascripts/webshims/shims/{filereader.js → filereader-xhr.js} +66 -12
  35. data/vendor/assets/javascripts/webshims/shims/form-core.js +0 -14
  36. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +2 -1
  37. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +1 -2
  38. data/vendor/assets/javascripts/webshims/shims/form-validation.js +18 -5
  39. data/vendor/assets/javascripts/webshims/shims/form-validators.js +15 -14
  40. data/vendor/assets/javascripts/webshims/shims/geolocation.js +41 -50
  41. data/vendor/assets/javascripts/webshims/shims/jme/controls.css +4 -4
  42. data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +2 -1
  43. data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols.js +4 -2
  44. data/vendor/assets/javascripts/webshims/shims/mediacapture-picker.js +42 -0
  45. data/vendor/assets/javascripts/webshims/shims/mediacapture.js +159 -0
  46. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +13 -1
  47. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +48 -12
  48. data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +20 -8
  49. data/vendor/assets/javascripts/webshims/shims/{combos/26.js → moxie/js/moxie-html4.js} +2121 -1257
  50. data/vendor/assets/javascripts/webshims/shims/moxie/js/{moxie.js → moxie-swf.js} +1125 -1741
  51. data/vendor/assets/javascripts/webshims/shims/sticky.js +585 -0
  52. data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +20 -0
  53. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +23 -0
  54. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +74 -34
  55. data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +78 -31
  56. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +78 -31
  57. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  58. data/vendor/assets/javascripts/webshims/shims/track-ui.js +214 -111
  59. data/vendor/assets/javascripts/webshims/shims/track.js +9 -9
  60. data/vendor/assets/javascripts/webshims/shims/usermedia-core.js +27 -0
  61. data/vendor/assets/javascripts/webshims/shims/usermedia-shim.js +34 -37
  62. metadata +9 -8
  63. data/vendor/assets/javascripts/webshims/shims/jajax.js +0 -1262
  64. data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.cdn.xap +0 -0
  65. data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.min.xap +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5c16961f85118c8f474aa4dfe6dfed31bb9dca18
4
- data.tar.gz: 7d5c4bdc8bad9aec82b6c2f3b4600b42c42794b3
3
+ metadata.gz: 2f32cf0c58c73740c4ae07215137eb7cd5939894
4
+ data.tar.gz: 39dddceb855a261b68dd34e55ec9393b922b47c0
5
5
  SHA512:
6
- metadata.gz: 5e2f592a44627b885a9bef54c36c7b89aeaa52e8c48eed83ad6e31517f36ab54dcfd8a70b89f041264283cdc82c01496042027d50f7d52653ca5b966b80db09d
7
- data.tar.gz: a4af5d272d7b4526915d77f9478a916a107cddf1e254bcd1f37765dfe5cc2d315dedbcf1bea26548ce5c4923f58c09bae1c7a03e487b333a2b5ce9c20416017a
6
+ metadata.gz: 0c62adc500d6c6fedaa87e1458441976fa859a935d8bc3ae0070c6fd4980cd19e412d37a59d7f4db776e002e4bf3fed7e815cfaca722b42b6ba02ef2efa6af5c
7
+ data.tar.gz: 6fd92c1a898dbc234d9a4f43953eff1da259eb9089e8dd555754e6b0c7c3e9d6e9179b8a97728a7b15f46d40e3f61570dba123a67be5616f007ce7825133baa0
@@ -1,6 +1,6 @@
1
1
  module Webshims
2
2
  module Rails
3
- VERSION = "1.14.6"
4
- WEBSHIMS_VERSION = "1.14.6"
3
+ VERSION = "1.15.2"
4
+ WEBSHIMS_VERSION = "1.15.2"
5
5
  end
6
6
  end
@@ -16,7 +16,7 @@
16
16
  factory = function(){return window.webshims;};
17
17
  }
18
18
  };
19
-
19
+
20
20
 
21
21
  window.webshims = {
22
22
  setOptions: function(){
@@ -37,7 +37,7 @@
37
37
  window.asyncWebshims.polyfill = features;
38
38
  },
39
39
  _curScript: (function(){
40
- var scripts, i, scriptUrl;
40
+ var scripts, i, scriptUrl, match, regUrl;
41
41
  //modern browsers: Chrome 29+, Firefox 4+
42
42
  var currentScript = document.currentScript;
43
43
 
@@ -53,8 +53,17 @@
53
53
  } catch (e) {
54
54
  //Safari has sourceURL
55
55
  scriptUrl = (e.sourceURL || e.stack || '').split('\n');
56
- //extract scriptUrl from stack: this is dangerous! All browsers have different string patterns (pattern can even vary between different browser versions). Help to make it bulletproof!!!
57
- scriptUrl = ((scriptUrl[scriptUrl.length - 1] || scriptUrl[scriptUrl.length - 2] || '').match(/(?:fil|htt|wid|abo|app|res)(.)+/i) || [''])[0].replace(/[\:\s\(]+[\d\:\)\(\s]+$/, '');
56
+ regUrl = /(?:fil|htt|wid|abo|app|res)(.)+/i;
57
+
58
+ for(i = 0; i < scriptUrl.length; i++){
59
+ //extract scriptUrl from stack: this is dangerous! All browsers have different string patterns (pattern can even vary between different browser versions). Help to make it bulletproof!!!
60
+ if((match = scriptUrl[i].match(regUrl))){
61
+ scriptUrl = match[0].replace(/[\:\s\(]+[\d\:\)\(\s]+$/, '');
62
+ break;
63
+ }
64
+ }
65
+
66
+
58
67
  }
59
68
 
60
69
  scripts = document.scripts || document.getElementsByTagName('script');
@@ -127,7 +136,7 @@
127
136
  }
128
137
 
129
138
  $.extend(webshims, {
130
- version: '1.14.6',
139
+ version: '1.15.2',
131
140
 
132
141
  cfg: {
133
142
  enhanceAuto: window.Audio && (!window.matchMedia || matchMedia('(min-device-width: 721px)').matches),
@@ -139,15 +148,7 @@
139
148
  wspopover: {appendTo: 'auto', hideOnBlur: true},
140
149
  ajax: {},
141
150
  loadScript: function(src, success){
142
- if(!$.ajax || !$.ajaxSettings.xhr){
143
- if(window.yepnope){
144
- yepnope.injectJs(src, success);
145
- } else if(window.require){
146
- require([src], success);
147
- }
148
- } else {
149
- $.ajax($.extend({}, webCFG.ajax, {url: src, success: success, dataType: 'script', cache: true, global: false, dataFilter: addSource}));
150
- }
151
+ $.ajax($.extend({}, webCFG.ajax, {url: src, success: success, dataType: 'script', cache: true, global: false, dataFilter: addSource}));
151
152
  },
152
153
  basePath: path
153
154
  },
@@ -166,20 +167,6 @@
166
167
  $.extend(true, webCFG, name);
167
168
  }
168
169
  },
169
- getLazyFn: function(fn, modules){
170
- var load = function(){
171
- loadList(modules);
172
- };
173
- onReady('WINDOWLOAD', load);
174
- return function(){
175
- var args = arguments;
176
- var obj = this;
177
- load();
178
- onReady(modules, function(){
179
- obj[fn].apply(obj, args);
180
- });
181
- };
182
- },
183
170
  _getAutoEnhance: getAutoEnhance,
184
171
  addPolyfill: function(name, cfg){
185
172
  cfg = cfg || {};
@@ -192,7 +179,7 @@
192
179
 
193
180
  webshimsFeatures[feature].push(name);
194
181
  cfg.options = $.extend(webCFG[feature], cfg.options);
195
-
182
+
196
183
  addModule(name, cfg);
197
184
  if (cfg.methodNames) {
198
185
  $.each(cfg.methodNames, function(i, methodName){
@@ -207,11 +194,11 @@
207
194
  features = webshims.featureList;
208
195
  WSDEBUG && webshims.warn('loading all features without specifing might be bad for performance');
209
196
  }
210
-
197
+
211
198
  if (typeof features == 'string') {
212
199
  features = features.split(' ');
213
200
  }
214
-
201
+
215
202
  if(WSDEBUG){
216
203
  for(var i = 0; i < features.length; i++){
217
204
  if(loaded[features[i]]){
@@ -233,7 +220,7 @@
233
220
  if(hasFormsExt && $.inArray('forms', features) == -1){
234
221
  features.push('forms');
235
222
  if(WSDEBUG){
236
- webshims.error('need to load forms feature to use forms-ext feature.');
223
+ webshims.warn('need to load forms feature to use forms-ext feature.');
237
224
  }
238
225
  }
239
226
  if(webCFG.loadStyles){
@@ -241,14 +228,14 @@
241
228
  }
242
229
  }
243
230
 
244
-
231
+
245
232
  if (webCFG.waitReady) {
246
233
  $.readyWait++;
247
234
  onReady(features, function(){
248
235
  $.ready(true);
249
236
  });
250
237
  }
251
-
238
+
252
239
  $.each(features, function(i, feature){
253
240
 
254
241
  feature = featureAlias[feature] || feature;
@@ -280,7 +267,7 @@
280
267
  }
281
268
  });
282
269
  },
283
-
270
+
284
271
  /*
285
272
  * handle ready modules
286
273
  */
@@ -294,7 +281,7 @@
294
281
  delete special[readyName];
295
282
  }
296
283
  webshimsFeatures[module.f];
297
-
284
+
298
285
  resList.push(name);
299
286
  }
300
287
  };
@@ -308,13 +295,13 @@
308
295
  };
309
296
  })(),
310
297
  isReady: function(name, _set){
311
-
298
+
312
299
  name = name + 'Ready';
313
300
  if (_set) {
314
301
  if (special[name] && special[name].add) {
315
302
  return true;
316
303
  }
317
-
304
+
318
305
  special[name] = $.extend(special[name] || {}, {
319
306
  add: function(details){
320
307
  details.handler.call(this, name);
@@ -329,7 +316,7 @@
329
316
  if (typeof events == 'string') {
330
317
  events = events.split(' ');
331
318
  }
332
-
319
+
333
320
  if (!_created) {
334
321
  events = $.map($.grep(events, function(evt){
335
322
  return !isReady(evt);
@@ -344,15 +331,15 @@
344
331
  var readyEv = events.shift(), readyFn = function(){
345
332
  onReady(events, fn, true);
346
333
  };
347
-
334
+
348
335
  $(document).one(readyEv, readyFn);
349
336
  },
350
-
337
+
351
338
  /*
352
339
  * basic DOM-/jQuery-Helpers
353
340
  */
354
-
355
-
341
+
342
+
356
343
  capturingEvents: function(names, _maybePrevented){
357
344
  if (!document.addEventListener) {
358
345
  return;
@@ -398,14 +385,14 @@
398
385
  } else {
399
386
  ready();
400
387
  }
401
-
388
+
402
389
  },
403
390
  c: {},
404
391
  /*
405
392
  * loader
406
393
  */
407
394
  loader: {
408
-
395
+
409
396
  addModule: function(name, ext){
410
397
  modules[name] = ext;
411
398
  ext.name = ext.name || name;
@@ -420,7 +407,7 @@
420
407
  });
421
408
  },
422
409
  loadList: (function(){
423
-
410
+
424
411
  var loadedModules = [];
425
412
  var loadScript = function(src, names){
426
413
  if (typeof names == 'string') {
@@ -429,7 +416,7 @@
429
416
  $.merge(loadedModules, names);
430
417
  loader.loadScript(src, false, names);
431
418
  };
432
-
419
+
433
420
  var noNeedToLoad = function(name, list){
434
421
  if (isReady(name) || $.inArray(name, loadedModules) != -1) {
435
422
  return true;
@@ -447,7 +434,7 @@
447
434
  }
448
435
  return true;
449
436
  };
450
-
437
+
451
438
  var setDependencies = function(module, list){
452
439
  if (module.d && module.d.length) {
453
440
  var addDependency = function(i, dependency){
@@ -461,7 +448,7 @@
461
448
  addDependency(i, dependency);
462
449
  }
463
450
  }
464
- else
451
+ else
465
452
  if (webshimsFeatures[dependency]) {
466
453
  $.each(webshimsFeatures[dependency], addDependency);
467
454
  onReady(webshimsFeatures[dependency], function(){
@@ -474,7 +461,7 @@
474
461
  }
475
462
  }
476
463
  };
477
-
464
+
478
465
  return function(list){
479
466
  var module;
480
467
  var loadCombos = [];
@@ -494,7 +481,7 @@
494
481
  return false;
495
482
  }
496
483
  };
497
-
484
+
498
485
  //length of list is dynamically
499
486
  for (i = 0; i < list.length; i++) {
500
487
  module = modules[list[i]];
@@ -507,24 +494,24 @@
507
494
  if (module.css && webCFG.loadStyles) {
508
495
  loader.loadCSS(module.css);
509
496
  }
510
-
497
+
511
498
  if (module.loadInit) {
512
499
  module.loadInit();
513
500
  }
514
-
515
-
501
+
502
+
516
503
  setDependencies(module, list);
517
504
  if(!module.loaded){
518
505
  loadCombos.push(module.name);
519
506
  }
520
507
  module.loaded = true;
521
508
  }
522
-
509
+
523
510
  for(i = 0, len = loadCombos.length; i < len; i++){
524
511
  foundCombo = false;
525
-
512
+
526
513
  module = loadCombos[i];
527
-
514
+
528
515
  if($.inArray(module, loadedModules) == -1){
529
516
  if(webCFG.debug != 'noCombo'){
530
517
  $.each(modules[module].c, loadCombo);
@@ -536,12 +523,12 @@
536
523
  }
537
524
  };
538
525
  })(),
539
-
526
+
540
527
  makePath: function(src){
541
528
  if (src.indexOf('//') != -1 || src.indexOf('/') === 0) {
542
529
  return src;
543
530
  }
544
-
531
+
545
532
  if (src.indexOf('.') == -1) {
546
533
  src += '.js';
547
534
  }
@@ -550,7 +537,7 @@
550
537
  }
551
538
  return webCFG.basePath + src;
552
539
  },
553
-
540
+
554
541
  loadCSS: (function(){
555
542
  var parent, loadedSrcs = {};
556
543
  return function(src){
@@ -565,7 +552,7 @@
565
552
  });
566
553
  };
567
554
  })(),
568
-
555
+
569
556
  loadScript: (function(){
570
557
  var loadedSrcs = {};
571
558
  return function(src, callback, name, noShimPath){
@@ -574,11 +561,11 @@
574
561
  }
575
562
  if (loadedSrcs[src]) {return;}
576
563
  var complete = function(){
577
-
564
+
578
565
  if (callback) {
579
566
  callback();
580
567
  }
581
-
568
+
582
569
  if (name) {
583
570
  if (typeof name == 'string') {
584
571
  name = name.split(' ');
@@ -592,22 +579,22 @@
592
579
  }
593
580
  isReady(!modules[name].noAutoCallback ? name : name + 'FileLoaded', true);
594
581
  });
595
-
582
+
596
583
  }
597
584
  };
598
-
585
+
599
586
  loadedSrcs[src] = 1;
600
587
  webCFG.loadScript(src, complete, $.noop);
601
588
  };
602
589
  })()
603
590
  }
604
591
  });
605
-
592
+
606
593
  /*
607
594
  * shortcuts
608
595
  */
609
596
 
610
-
597
+
611
598
  var webCFG = webshims.cfg;
612
599
  var webshimsFeatures = webshims.features;
613
600
  var isReady = webshims.isReady;
@@ -625,7 +612,7 @@
625
612
  };
626
613
  var $fn = $.fn;
627
614
  var video = create('video');
628
-
615
+
629
616
  webshims.addMethodName = function(name){
630
617
  name = name.split(':');
631
618
  var prop = name[1];
@@ -635,7 +622,7 @@
635
622
  } else {
636
623
  name = name[0];
637
624
  }
638
-
625
+
639
626
  $fn[name] = function(){
640
627
  return this.callProp(prop, arguments);
641
628
  };
@@ -644,11 +631,11 @@
644
631
  $fn.callProp = function(prop, args){
645
632
  var ret;
646
633
  if(!args){
647
- args = [];
634
+ args = [];
648
635
  }
649
636
  this.each(function(){
650
637
  var fn = $.prop(this, prop);
651
-
638
+
652
639
  if (fn && fn.apply) {
653
640
  ret = fn.apply(this, args);
654
641
  if (ret !== undefined) {
@@ -660,8 +647,8 @@
660
647
  });
661
648
  return (ret !== undefined) ? ret : this;
662
649
  };
663
-
664
-
650
+
651
+
665
652
 
666
653
  webshims.activeLang = (function(){
667
654
 
@@ -687,7 +674,7 @@
687
674
  return curLang;
688
675
  };
689
676
  })();
690
-
677
+
691
678
  webshims.errorLog = [];
692
679
  $.each(['log', 'error', 'warn', 'info'], function(i, fn){
693
680
  webshims[fn] = function(message){
@@ -705,21 +692,21 @@
705
692
  webshims.error('Could not detect currentScript! Use basePath to set script path.');
706
693
  }
707
694
  }
708
-
695
+
709
696
  /*
710
697
  * jQuery-plugins for triggering dom updates can be also very usefull in conjunction with non-HTML5 DOM-Changes (AJAX)
711
698
  * Example:
712
- * $.webshims.addReady(function(context, insertedElement){
699
+ * webshim.addReady(function(context, insertedElement){
713
700
  * $('div.tabs', context).add(insertedElement.filter('div.tabs')).tabs();
714
701
  * });
715
- *
702
+ *
716
703
  * $.ajax({
717
704
  * success: function(html){
718
705
  * $('#main').htmlPolyfill(html);
719
706
  * }
720
707
  * });
721
708
  */
722
-
709
+
723
710
  (function(){
724
711
  //Overwrite DOM-Ready and implement a new ready-method
725
712
  $.isDOMReady = $.isReady;
@@ -731,10 +718,10 @@
731
718
  isReady('WINDOWLOAD', true);
732
719
  }, 9999);
733
720
  };
734
-
721
+
735
722
  firstRun = function(){
736
723
  if(!firstRun.run){
737
-
724
+
738
725
  if(webCFG.debug || (!('crossDomain' in webCFG.ajax) && location.protocol.indexOf('http'))){
739
726
  webCFG.ajax.crossDomain = true;
740
727
  }
@@ -750,11 +737,11 @@
750
737
  webshims.error('in a jQuery mobile enviroment: you should change the waitReady to false.')
751
738
  }
752
739
  }
753
-
740
+
754
741
  if (WSDEBUG && webCFG.waitReady && $.isReady) {
755
742
  webshims.warn('Call webshims.polyfill before DOM-Ready or set waitReady to false.');
756
743
  }
757
-
744
+
758
745
  if(!$.isDOMReady && webCFG.waitReady){
759
746
  var $Ready = $.ready;
760
747
  $.ready = function(unwait){
@@ -780,7 +767,7 @@
780
767
  isReady('WINDOWLOAD', true);
781
768
  }, 9);
782
769
  });
783
-
770
+
784
771
  var readyFns = [];
785
772
  var eachTrigger = function(){
786
773
  if(this.nodeType == 1){
@@ -828,11 +815,11 @@
828
815
  }
829
816
  return ret;
830
817
  };
831
-
818
+
832
819
  $fn.jProp = function(){
833
820
  return this.pushStack($($fn.prop.apply(this, arguments) || []));
834
821
  };
835
-
822
+
836
823
  $.each(['after', 'before', 'append', 'prepend', 'replaceWith'], function(i, name){
837
824
  $fn[name+'Polyfill'] = function(a){
838
825
  a = $(a);
@@ -842,9 +829,9 @@
842
829
  }
843
830
  return this;
844
831
  };
845
-
832
+
846
833
  });
847
-
834
+
848
835
  $.each(['insertAfter', 'insertBefore', 'appendTo', 'prependTo', 'replaceAll'], function(i, name){
849
836
  $fn[name.replace(/[A-Z]/, function(c){return "Polyfill"+c;})] = function(){
850
837
  $fn[name].apply(this, arguments);
@@ -854,23 +841,23 @@
854
841
  return this;
855
842
  };
856
843
  });
857
-
844
+
858
845
  $fn.updatePolyfill = function(){
859
846
  if($.isDOMReady){
860
847
  webshims.triggerDomUpdate(this);
861
848
  }
862
849
  return this;
863
850
  };
864
-
851
+
865
852
  $.each(['getNativeElement', 'getShadowElement', 'getShadowFocusElement'], function(i, name){
866
853
  $fn[name] = function(){
867
854
  return this.pushStack(this);
868
855
  };
869
856
  });
870
-
857
+
871
858
  })();
872
-
873
-
859
+
860
+
874
861
  if(WSDEBUG){
875
862
  webCFG.debug = true;
876
863
  }
@@ -891,18 +878,18 @@
891
878
  return o;
892
879
  };
893
880
  }
894
-
895
-
896
881
 
897
-
882
+
883
+
884
+
898
885
  /*
899
- * Start Features
886
+ * Start Features
900
887
  */
901
-
888
+
902
889
  /* general modules */
903
890
  /* change path $.webshims.modules[moduleName].src */
904
-
905
-
891
+
892
+
906
893
  addModule('swfmini', {
907
894
  test: function(){
908
895
  if(window.swfobject && !window.swfmini){
@@ -913,19 +900,18 @@
913
900
  c: [16, 7, 2, 8, 1, 12, 23]
914
901
  });
915
902
  modules.swfmini.test();
916
-
903
+
917
904
  addModule('sizzle', {test: $.expr.filters});
918
- addModule('jajax', {test: $.ajax && $.ajaxSettings.xhr});
919
- /*
920
- * polyfill-Modules
905
+ /*
906
+ * polyfill-Modules
921
907
  */
922
-
908
+
923
909
  // webshims lib uses a of http://github.com/kriskowal/es5-shim/ to implement
924
910
  addPolyfill('es5', {
925
911
  test: !!(support.ES5 && Function.prototype.bind),
926
912
  d: ['sizzle']
927
913
  });
928
-
914
+
929
915
  addPolyfill('dom-extend', {
930
916
  f: DOMSUPPORT,
931
917
  noAutoCallback: true,
@@ -952,15 +938,22 @@
952
938
  });
953
939
  //>
954
940
 
941
+ //<sticky
942
+ addPolyfill('sticky', {
943
+ test: (($(create('b')).attr('style', 'position: -webkit-sticky; position: sticky').css('position') || '').indexOf('sticky') != -1),
944
+ d: ['es5', 'matchMedia']
945
+ });
946
+ //>
947
+
955
948
  //<es6
956
949
  addPolyfill('es6', {
957
950
  test: !!(Math.imul && Number.MIN_SAFE_INTEGER && Object.is && window.Promise && Promise.all),// && window.Map && Map.prototype && typeof Map.prototype.forEach !== 'function' && window.Set
958
951
  d: ['es5']
959
952
  });
960
953
  //>
961
-
954
+
962
955
  //<geolocation
963
-
956
+
964
957
  addPolyfill('geolocation', {
965
958
  test: 'geolocation' in navigator,
966
959
  options: {
@@ -976,17 +969,17 @@
976
969
 
977
970
  addPolyfill('usermedia-core', {
978
971
  f: 'usermedia',
979
- test: userMediaTest,
980
- d: [DOMSUPPORT]
972
+ test: userMediaTest && window.URL,
973
+ d: ['url', DOMSUPPORT]
981
974
  });
982
975
 
983
976
  addPolyfill('usermedia-shim', {
984
977
  f: 'usermedia',
985
- test: !!(userMediaTest || navigator.webkitGetUserMedia || navigator.mozGetUserMedia),
978
+ test: !!(userMediaTest || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia),
986
979
  d: ['url', 'mediaelement', DOMSUPPORT]
987
980
  });
988
981
  //>
989
-
982
+
990
983
  //<canvas
991
984
  (function(){
992
985
  addPolyfill('canvas', {
@@ -994,7 +987,7 @@
994
987
  test: ('getContext' in create('canvas')),
995
988
  options: {type: 'flash'}, //excanvas | flash | flashpro
996
989
  noAutoCallback: true,
997
-
990
+
998
991
  loadInit: function(){
999
992
  var type = this.options.type;
1000
993
  if(type && type.indexOf('flash') !== -1 && (!modules.swfmini.test() || swfmini.hasFlashPlayerVersion('9.0.0'))){
@@ -1006,8 +999,8 @@
1006
999
  });
1007
1000
  })();
1008
1001
  //>
1009
-
1010
-
1002
+
1003
+
1011
1004
  //<forms
1012
1005
  (function(){
1013
1006
  var formExtend, formOptions;
@@ -1092,13 +1085,13 @@
1092
1085
 
1093
1086
 
1094
1087
  webshims.validationMessages = webshims.validityMessages = {
1095
- langSrc: 'i18n/formcfg-',
1088
+ langSrc: 'i18n/formcfg-',
1096
1089
  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(' ')
1097
1090
  };
1098
1091
  webshims.formcfg = $.extend({}, webshims.validationMessages);
1099
-
1092
+
1100
1093
  webshims.inputTypes = {};
1101
-
1094
+
1102
1095
  addPolyfill('form-core', {
1103
1096
  f: 'forms',
1104
1097
  d: ['es5'],
@@ -1124,9 +1117,9 @@
1124
1117
  methodNames: ['setCustomValidity', 'checkValidity', 'setSelectionRange'],
1125
1118
  c: [16, 7, 2, 8, 1, 15, 30, 3, 31]
1126
1119
  });
1127
-
1120
+
1128
1121
  formOptions = webCFG.forms;
1129
-
1122
+
1130
1123
  addPolyfill('form-native-extend', {
1131
1124
  f: 'forms',
1132
1125
  test: function(toLoad){
@@ -1136,7 +1129,7 @@
1136
1129
  d: ['form-core', DOMSUPPORT, 'form-message'],
1137
1130
  c: [6, 5, 14, 29]
1138
1131
  });
1139
-
1132
+
1140
1133
  addPolyfill(fShim, {
1141
1134
  f: 'forms',
1142
1135
  test: function(){
@@ -1146,7 +1139,7 @@
1146
1139
  d: ['form-core', DOMSUPPORT, 'sizzle'],
1147
1140
  c: [16, 15, 28]
1148
1141
  });
1149
-
1142
+
1150
1143
  addPolyfill(fShim+'2', {
1151
1144
  f: 'forms',
1152
1145
  test: function(){
@@ -1156,7 +1149,7 @@
1156
1149
  d: [fShim],
1157
1150
  c: [27]
1158
1151
  });
1159
-
1152
+
1160
1153
  addPolyfill('form-message', {
1161
1154
  f: 'forms',
1162
1155
  test: function(toLoad){
@@ -1187,7 +1180,7 @@
1187
1180
  d: ['forms', DOMSUPPORT],
1188
1181
  c: [6, 5, 17, 14, 28, 29, 33]
1189
1182
  });
1190
-
1183
+
1191
1184
  addModule('range-ui', {
1192
1185
  options: {},
1193
1186
  noAutoCallback: true,
@@ -1197,7 +1190,7 @@
1197
1190
  d: ['es5'],
1198
1191
  c: [6, 5, 9, 10, 17, 11]
1199
1192
  });
1200
-
1193
+
1201
1194
  addPolyfill('form-number-date-ui', {
1202
1195
  f: 'forms-ext',
1203
1196
  test: function(){
@@ -1219,7 +1212,7 @@
1219
1212
  },
1220
1213
  c: [6, 5, 9, 10, 17, 11]
1221
1214
  });
1222
-
1215
+
1223
1216
  addPolyfill('form-datalist', {
1224
1217
  f: 'forms',
1225
1218
  test: function(){
@@ -1234,19 +1227,32 @@
1234
1227
  });
1235
1228
  })();
1236
1229
  //>
1237
-
1230
+
1238
1231
  //<filereader
1239
- webshim.loader.addModule('moxie', {
1240
- src: 'moxie/js/moxie',
1241
- c: [26]
1232
+ var supportFileReader = 'FileReader' in window && 'FormData' in window;
1233
+ addPolyfill('filereader-xhr', {
1234
+ f: 'filereader',
1235
+ test: supportFileReader,
1236
+ d: [DOMSUPPORT, 'swfmini'],
1237
+ c: [25, 27]
1242
1238
  });
1243
- addPolyfill('filereader', {
1244
- test: 'FileReader' in window && 'FormData' in window,
1245
- d: [DOMSUPPORT, 'jajax'],
1246
- c: [25, 26, 27]
1239
+
1240
+ addPolyfill('canvas-blob', {
1241
+ f: 'filereader',
1242
+ methodNames: ['toBlob'],
1243
+ test: !(supportFileReader && !create('canvas').toBlob)
1244
+ });
1245
+ //>
1246
+
1247
+ /*
1248
+ //<mediacapture
1249
+ addPolyfill('mediacapture', {
1250
+ test: 'capture' in create('input'),
1251
+ d: ['swfmini', 'usermedia', DOMSUPPORT, 'filereader', 'forms', 'canvas']
1247
1252
  });
1248
1253
  //>
1249
-
1254
+ */
1255
+
1250
1256
  //<details
1251
1257
  addPolyfill('details', {
1252
1258
  test: ('open' in create('details')),
@@ -1306,7 +1312,7 @@
1306
1312
  c: [16, 7, 2, 8, 1, 12, 13, 23]
1307
1313
  });
1308
1314
 
1309
-
1315
+
1310
1316
  addPolyfill('mediaelement-jaris', {
1311
1317
  f: 'mediaelement',
1312
1318
  d: ['mediaelement-core', DOMSUPPORT],
@@ -1360,18 +1366,18 @@
1360
1366
  addModule('track-ui', {
1361
1367
  d: ['track', DOMSUPPORT]
1362
1368
  });
1363
-
1369
+
1364
1370
  })();
1365
1371
  //>
1366
-
1367
-
1372
+
1373
+
1368
1374
  //>removeCombos<
1369
1375
  addPolyfill('feature-dummy', {
1370
1376
  test: true,
1371
1377
  loaded: true,
1372
1378
  c: removeCombos
1373
1379
  });
1374
-
1380
+
1375
1381
  webshims.$ = $;
1376
1382
  $.webshims = webshims;
1377
1383
  $.webshim = webshim;