webshims-rails 1.14.6 → 1.15.2

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 (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;