webshims-rails 1.11.6.1 → 1.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/polyfiller.js +126 -72
  4. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/canvas2png.js +9 -4
  5. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.js +32 -26
  6. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.swf +0 -0
  7. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/proxy.php +25 -4
  8. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/save.php +9 -3
  9. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/canvas2png.js +9 -4
  10. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash10canvas.swf +0 -0
  11. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash9canvas.swf +0 -0
  12. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flashcanvas.js +36 -30
  13. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/proxy.php +25 -4
  14. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/save.php +9 -3
  15. data/vendor/assets/javascripts/webshims/shims/combos/1.js +13 -6
  16. data/vendor/assets/javascripts/webshims/shims/combos/10.js +156 -143
  17. data/vendor/assets/javascripts/webshims/shims/combos/11.js +97 -84
  18. data/vendor/assets/javascripts/webshims/shims/combos/12.js +2 -4
  19. data/vendor/assets/javascripts/webshims/shims/combos/13.js +1 -2
  20. data/vendor/assets/javascripts/webshims/shims/combos/14.js +956 -2819
  21. data/vendor/assets/javascripts/webshims/shims/combos/15.js +73 -67
  22. data/vendor/assets/javascripts/webshims/shims/combos/16.js +75 -71
  23. data/vendor/assets/javascripts/webshims/shims/combos/17.js +118 -89
  24. data/vendor/assets/javascripts/webshims/shims/combos/18.js +119 -91
  25. data/vendor/assets/javascripts/webshims/shims/combos/19.js +62 -65
  26. data/vendor/assets/javascripts/webshims/shims/combos/2.js +73 -67
  27. data/vendor/assets/javascripts/webshims/shims/combos/20.js +61 -63
  28. data/vendor/assets/javascripts/webshims/shims/combos/21.js +3 -6
  29. data/vendor/assets/javascripts/webshims/shims/combos/22.js +1 -2
  30. data/vendor/assets/javascripts/webshims/shims/combos/23.js +1 -2
  31. data/vendor/assets/javascripts/webshims/shims/combos/24.js +22 -12
  32. data/vendor/assets/javascripts/webshims/shims/combos/25.js +63 -67
  33. data/vendor/assets/javascripts/webshims/shims/combos/26.js +59 -59
  34. data/vendor/assets/javascripts/webshims/shims/combos/27.js +1 -2
  35. data/vendor/assets/javascripts/webshims/shims/combos/28.js +1915 -0
  36. data/vendor/assets/javascripts/webshims/shims/combos/29.js +817 -0
  37. data/vendor/assets/javascripts/webshims/shims/combos/3.js +71 -63
  38. data/vendor/assets/javascripts/webshims/shims/combos/30.js +72 -65
  39. data/vendor/assets/javascripts/webshims/shims/combos/31.js +71 -63
  40. data/vendor/assets/javascripts/webshims/shims/combos/32.js +2343 -0
  41. data/vendor/assets/javascripts/webshims/shims/combos/33.js +897 -0
  42. data/vendor/assets/javascripts/webshims/shims/combos/4.js +59 -59
  43. data/vendor/assets/javascripts/webshims/shims/combos/5.js +119 -91
  44. data/vendor/assets/javascripts/webshims/shims/combos/6.js +120 -93
  45. data/vendor/assets/javascripts/webshims/shims/combos/7.js +74 -69
  46. data/vendor/assets/javascripts/webshims/shims/combos/8.js +73 -67
  47. data/vendor/assets/javascripts/webshims/shims/combos/9.js +157 -145
  48. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +58 -57
  49. data/vendor/assets/javascripts/webshims/shims/form-combat.js +0 -1
  50. data/vendor/assets/javascripts/webshims/shims/form-core.js +12 -3
  51. data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +4 -3
  52. data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +20 -3
  53. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +78 -71
  54. data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +21 -10
  55. data/vendor/assets/javascripts/webshims/shims/form-validation.js +39 -27
  56. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +173 -128
  57. data/vendor/assets/javascripts/webshims/shims/i18n/{formcfg-ch-ZN.js → formcfg-ch-CN.js} +0 -0
  58. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.js +0 -2
  59. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-CN.js +65 -0
  60. data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +1 -1
  61. data/vendor/assets/javascripts/webshims/shims/range-ui.js +18 -11
  62. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +221 -153
  63. data/vendor/assets/javascripts/webshims/shims/styles/progress.gif +0 -0
  64. data/vendor/assets/javascripts/webshims/shims/styles/progress.png +0 -0
  65. data/vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss +5 -0
  66. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +273 -177
  67. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +113 -98
  68. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +114 -88
  69. data/vendor/assets/javascripts/webshims/shims/track-ui.js +2 -2
  70. metadata +10 -7
  71. data/vendor/assets/javascripts/webshims/extras/mousepress.js +0 -60
  72. data/vendor/assets/javascripts/webshims/shims/jpicker/images/Thumbs.db +0 -0
  73. data/vendor/assets/javascripts/webshims/shims/json-storage.js +0 -316
  74. data/vendor/assets/javascripts/webshims/shims/mediagroup.js +0 -29
@@ -1444,8 +1444,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
1444
1444
  })(webshims.$, webshims);
1445
1445
 
1446
1446
 
1447
-
1448
- //DOM-Extension helper
1447
+ ;//DOM-Extension helper
1449
1448
  webshims.register('dom-extend', function($, webshims, window, document, undefined){
1450
1449
  "use strict";
1451
1450
  var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
@@ -1487,34 +1486,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1487
1486
  webshims.ready('WINDOWLOAD', switch$);
1488
1487
 
1489
1488
  }
1490
- // (function(){
1491
- // var hostNames = {
1492
- // 'afarkas.github.io': 1,
1493
- // localhost: 1,
1494
- // '127.0.0.1': 1
1495
- // };
1496
- //
1497
- // if( webshims.cfg.debug && (hostNames[location.hostname] || location.protocol == 'file:') ){
1498
- // var list = $('<ul class="webshims-debug-list" />');
1499
- // webshims.errorLog.push = function(message){
1500
- // list.appendTo('body');
1501
- // $('<li style="display: none;">'+ message +'</li>')
1502
- // .appendTo(list)
1503
- // .slideDown()
1504
- // .delay(3000)
1505
- // .slideUp(function(){
1506
- // $(this).remove();
1507
- // if(!$('li', list).length){
1508
- // list.detach();
1509
- // }
1510
- // })
1511
- // ;
1512
- // };
1513
- // $.each(webshims.errorLog, function(i, message){
1514
- // webshims.errorLog.push(message);
1515
- // });
1516
- // }
1517
- // })();
1518
1489
 
1519
1490
  //shortcus
1520
1491
  var modules = webshims.modules;
@@ -1956,11 +1927,22 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1956
1927
  });
1957
1928
  },
1958
1929
  getOptions: (function(){
1930
+ var normalName = /\-([a-z])/g;
1959
1931
  var regs = {};
1932
+ var nameRegs = {};
1960
1933
  var regFn = function(f, upper){
1961
1934
  return upper.toLowerCase();
1962
1935
  };
1963
- return function(elem, name, bases){
1936
+ var nameFn = function(f, dashed){
1937
+ return dashed.toUpperCase();
1938
+ };
1939
+ return function(elem, name, bases, stringAllowed){
1940
+ if(nameRegs[name]){
1941
+ name = nameRegs[name];
1942
+ } else {
1943
+ nameRegs[name] = name.replace(normalName, nameFn);
1944
+ name = nameRegs[name];
1945
+ }
1964
1946
  var data = elementData(elem, 'cfg'+name);
1965
1947
  var dataName;
1966
1948
  var cfg = {};
@@ -1969,7 +1951,12 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1969
1951
  return data;
1970
1952
  }
1971
1953
  data = $(elem).data();
1972
-
1954
+ if(data && typeof data[name] == 'string'){
1955
+ if(stringAllowed){
1956
+ return elementData(elem, 'cfg'+name, data[name]);
1957
+ }
1958
+ webshims.error('data-'+ name +' attribute has to be a valid JSON, was: '+ data[name]);
1959
+ }
1973
1960
  if(!bases){
1974
1961
  bases = [true, {}];
1975
1962
  } else if(!Array.isArray(bases)){
@@ -1978,12 +1965,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1978
1965
  bases.unshift(true, {});
1979
1966
  }
1980
1967
 
1981
- if(data && data[name]){
1982
- if(typeof data[name] == 'object'){
1983
- bases.push(data[name]);
1984
- } else {
1985
- webshims.error('data-'+ name +' attribute has to be a valid JSON, was: '+ data[name]);
1986
- }
1968
+ if(data && typeof data[name] == 'object'){
1969
+ bases.push(data[name]);
1987
1970
  }
1988
1971
 
1989
1972
  if(!regs[name]){
@@ -1996,7 +1979,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1996
1979
  }
1997
1980
  }
1998
1981
  bases.push(cfg);
1999
-
2000
1982
  return elementData(elem, 'cfg'+name, $.extend.apply($, bases));
2001
1983
  };
2002
1984
  })(),
@@ -2026,7 +2008,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2026
2008
  var resizeTimer;
2027
2009
  var lastHeight;
2028
2010
  var lastWidth;
2029
-
2011
+ var $window = $(window);
2030
2012
  var docObserve = {
2031
2013
  init: false,
2032
2014
  runs: 0,
@@ -2046,25 +2028,36 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2046
2028
  docObserve.runs = 0;
2047
2029
  }
2048
2030
  },
2049
- handler: function(e){
2050
- clearTimeout(resizeTimer);
2051
- resizeTimer = setTimeout(function(){
2052
- if(e.type == 'resize'){
2053
- var width = $(window).width();
2054
- var height = $(window).width();
2055
- if(height == lastHeight && width == lastWidth){
2056
- return;
2031
+ handler: (function(){
2032
+ var trigger = function(){
2033
+ $(document).triggerHandler('updateshadowdom');
2034
+ };
2035
+ return function(e){
2036
+ clearTimeout(resizeTimer);
2037
+ resizeTimer = setTimeout(function(){
2038
+ if(e.type == 'resize'){
2039
+ var width = $window.width();
2040
+ var height = $window.width();
2041
+
2042
+ if(height == lastHeight && width == lastWidth){
2043
+ return;
2044
+ }
2045
+ lastHeight = height;
2046
+ lastWidth = width;
2047
+
2048
+ docObserve.height = docObserve.getHeight();
2049
+ docObserve.width = docObserve.getWidth();
2050
+ }
2051
+
2052
+ if(window.requestAnimationFrame){
2053
+ requestAnimationFrame(trigger);
2054
+ } else {
2055
+ setTimeout(trigger, 0);
2057
2056
  }
2058
- lastHeight = height;
2059
- lastWidth = width;
2060
-
2061
- docObserve.height = docObserve.getHeight();
2062
- docObserve.width = docObserve.getWidth();
2063
2057
 
2064
- }
2065
- $(document).triggerHandler('updateshadowdom');
2066
- }, (e.type == 'resize') ? 50 : 9);
2067
- },
2058
+ }, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 0);
2059
+ };
2060
+ })(),
2068
2061
  _create: function(){
2069
2062
  $.each({ Height: "getHeight", Width: "getWidth" }, function(name, type){
2070
2063
  var body = document.body;
@@ -2402,13 +2395,17 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2402
2395
  webshims.defineNodeNamesProperty(elementNames, prop, {
2403
2396
  attr: {
2404
2397
  set: function(val){
2405
- this.setAttribute(prop, val);
2398
+ if(descs.useContentAttribute){
2399
+ webshims.contentAttr(this, prop, val);
2400
+ } else {
2401
+ this.setAttribute(prop, val);
2402
+ }
2406
2403
  if(descs.set){
2407
2404
  descs.set.call(this, true);
2408
2405
  }
2409
2406
  },
2410
2407
  get: function(){
2411
- var ret = this.getAttribute(prop);
2408
+ var ret = (descs.useContentAttribute) ? webshims.contentAttr(this, prop) : this.getAttribute(prop);
2412
2409
  return (ret == null) ? undefined : prop;
2413
2410
  }
2414
2411
  },
@@ -2465,6 +2462,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2465
2462
  });
2466
2463
  }
2467
2464
  };
2465
+
2468
2466
  var select = function(obj){
2469
2467
  var oldLang = obj.__active;
2470
2468
  var selectLang = function(i, lang){
@@ -2472,6 +2470,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2472
2470
  if(obj[lang] || obj.availableLangs.indexOf(lang) != -1){
2473
2471
  if(obj[lang]){
2474
2472
  obj.__active = obj[lang];
2473
+ obj.__activeName = lang;
2475
2474
  } else {
2476
2475
  load(obj.langSrc+lang, obj, curLang.join());
2477
2476
  }
@@ -2481,6 +2480,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2481
2480
  $.each(curLang, selectLang);
2482
2481
  if(!obj.__active){
2483
2482
  obj.__active = obj[''];
2483
+ obj.__activeName = '';
2484
2484
  }
2485
2485
  if(oldLang != obj.__active){
2486
2486
  $(obj).trigger('change');
@@ -2585,8 +2585,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2585
2585
  }
2586
2586
  });
2587
2587
 
2588
- })(webshims.$, document);
2589
- (function(Modernizr, webshims){
2588
+ })(webshims.$, document);;(function(Modernizr, webshims){
2590
2589
  "use strict";
2591
2590
  var $ = webshims.$;
2592
2591
  var hasNative = Modernizr.audio && Modernizr.video;
@@ -3279,8 +3278,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
3279
3278
  }
3280
3279
  webshims.ready('track', loadTrackUi);
3281
3280
  });
3282
- })(Modernizr, webshims);
3283
- webshims.register('mediaelement-jaris', function($, webshims, window, document, undefined, options){
3281
+ })(Modernizr, webshims);;webshims.register('mediaelement-jaris', function($, webshims, window, document, undefined, options){
3284
3282
  "use strict";
3285
3283
 
3286
3284
  var mediaelement = webshims.mediaelement;
@@ -178,8 +178,7 @@
178
178
  });
179
179
  webshims.isReady('geolocation', true);
180
180
  })(webshims.$);
181
-
182
- webshims.register('details', function($, webshims, window, doc, undefined, options){
181
+ ;webshims.register('details', function($, webshims, window, doc, undefined, options){
183
182
  var isInterActiveSummary = function(summary){
184
183
  var details = $(summary).parent('details');
185
184
  if(details[0] && details.children(':first').get(0) === summary){
@@ -327,8 +326,7 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
327
326
  initDetails = false;
328
327
  });
329
328
  });
330
-
331
- webshims.register('mediaelement-jaris', function($, webshims, window, document, undefined, options){
329
+ ;webshims.register('mediaelement-jaris', function($, webshims, window, document, undefined, options){
332
330
  "use strict";
333
331
 
334
332
  var mediaelement = webshims.mediaelement;
@@ -1536,8 +1534,7 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
1536
1534
  })();
1537
1535
  }
1538
1536
 
1539
- });
1540
- webshims.register('track', function($, webshims, window, document, undefined){
1537
+ });;webshims.register('track', function($, webshims, window, document, undefined){
1541
1538
  "use strict";
1542
1539
  var mediaelement = webshims.mediaelement;
1543
1540
  var id = new Date().getTime();
@@ -146,8 +146,7 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
146
146
  initDetails = false;
147
147
  });
148
148
  });
149
-
150
- webshims.register('track', function($, webshims, window, document, undefined){
149
+ ;webshims.register('track', function($, webshims, window, document, undefined){
151
150
  "use strict";
152
151
  var mediaelement = webshims.mediaelement;
153
152
  var id = new Date().getTime();
@@ -449,8 +449,7 @@ var swfmini = function() {
449
449
  }
450
450
  };
451
451
  }();
452
-
453
- (function(Modernizr, webshims){
452
+ ;(function(Modernizr, webshims){
454
453
  "use strict";
455
454
  var $ = webshims.$;
456
455
  var hasNative = Modernizr.audio && Modernizr.video;
@@ -792,8 +792,7 @@ switch(desc.proptype) {
792
792
  webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors);
793
793
 
794
794
  }); //webshims.ready end
795
-
796
- webshims.register('form-shim-extend2', function($, webshims, window, document, undefined, options){
795
+ ;webshims.register('form-shim-extend2', function($, webshims, window, document, undefined, options){
797
796
  "use strict";
798
797
  var emptyJ = $([]);
799
798
  var isNumber = function(string){
@@ -820,6 +819,8 @@ var getGroupElements = function(elem){
820
819
  }
821
820
  return ret;
822
821
  };
822
+ //support getSetAttribute
823
+ var supportGetSetAttribute = !(('getSetAttribute' in $.support) && !$.support.getSetAttribute);
823
824
  //submitbubbles for IE6-IE8
824
825
  var supportSubmitBubbles = !('submitBubbles' in $.support) || $.support.submitBubbles;
825
826
  var addSubmitBubbles = function(form){
@@ -961,7 +962,7 @@ if( !('maxLength' in document.createElement('textarea')) ){
961
962
  });
962
963
  }
963
964
 
964
- if(('getSetAttribute' in $.support) && !$.support.getSetAttribute && $('<form novalidate></form>').attr('novalidate') == null){
965
+ if(!supportGetSetAttribute && $('<form novalidate></form>').attr('novalidate') == null){
965
966
  webshims.defineNodeNameProperty('form', 'novalidate', {
966
967
  attr: {
967
968
  set: function(val){
@@ -980,20 +981,21 @@ if(!Modernizr.formattribute || !Modernizr.fieldsetdisabled || !Modernizr.fieldse
980
981
  (function(){
981
982
  if(!Modernizr.fieldsetdisabled){
982
983
  var isFieldsetGroup = /^(?:fieldset)$/i;
984
+ var disableElementsSel = 'input, textarea, select, button';
983
985
  $.extend($.expr[":"], {
984
986
  "enabled": function( elem ) {
985
- return elem.disabled === false || (isFieldsetGroup.test(elem.nodeName) && elem.getAttribute('disabled') == null && !$(elem).is('fieldset[disabled] *')) ;
987
+ return elem.disabled === false || (isFieldsetGroup.test(elem.nodeName) && webshims.contentAttr(elem, 'disabled') == null && !$(elem).is('fieldset[disabled] *')) ;
986
988
  },
987
989
 
988
990
  "disabled": function( elem ) {
989
- return elem.disabled === true || (isFieldsetGroup.test(elem.nodeName) && (elem.getAttribute('disabled') != null || $(elem).is('fieldset[disabled] *')));
991
+ return elem.disabled === true || (isFieldsetGroup.test(elem.nodeName) && (webshims.contentAttr(elem, 'disabled') != null || $(elem).is('fieldset[disabled] *')));
990
992
  }
991
993
  });
992
994
 
993
995
 
994
996
  var groupControl = {
995
997
  getElements: function(group){
996
- $('input, textarea, select, button', group).each(groupControl.disable);
998
+ $(disableElementsSel, group).each(groupControl.disable);
997
999
  },
998
1000
  disable: function(){
999
1001
  if(!this.disabled){
@@ -1010,24 +1012,27 @@ if(!Modernizr.formattribute || !Modernizr.fieldsetdisabled || !Modernizr.fieldse
1010
1012
  };
1011
1013
 
1012
1014
  $(window).on('unload', function(){
1013
- $('input, textarea, select, button').each(groupControl.enable);
1015
+ $(disableElementsSel).each(groupControl.enable);
1014
1016
  });
1015
1017
 
1016
1018
  webshims.defineNodeNamesBooleanProperty(['fieldset'], 'disabled', {
1017
1019
  set: function(value){
1018
1020
 
1019
1021
  if(value){
1020
- $('input, textarea, select, button', this).each(groupControl.disable);
1022
+ $(disableElementsSel, this).each(groupControl.disable);
1021
1023
  } else if(!$(this).is('fieldset[disabled] *')){
1022
1024
  var nested = $('fieldset[disabled]', this);
1023
- var elements = $('input, textarea, select, button', this);
1025
+ var elements = $(disableElementsSel, this);
1026
+
1024
1027
  if(nested.length){
1025
- elements = elements.filter(':not(fieldset[disabled] *');
1028
+ elements = elements.not('fieldset[disabled] *');
1026
1029
  }
1030
+
1027
1031
  elements.each(groupControl.enable);
1028
1032
  }
1029
1033
  },
1030
- initAttr: true
1034
+ initAttr: true,
1035
+ useContentAttribute: true
1031
1036
  });
1032
1037
 
1033
1038
  ['input', 'textarea', 'select', 'button'].forEach(function(nodeName){
@@ -1059,7 +1064,12 @@ if(!Modernizr.formattribute || !Modernizr.fieldsetdisabled || !Modernizr.fieldse
1059
1064
  });
1060
1065
 
1061
1066
  webshims.addReady(function(context){
1062
- $(context).filter('fieldset[disabled], fieldset[disabled] *').each(groupControl.disable);
1067
+
1068
+ $(context)
1069
+ .filter('fieldset[disabled], fieldset[disabled] *')
1070
+ .find(disableElementsSel)
1071
+ .each(groupControl.disable)
1072
+ ;
1063
1073
  });
1064
1074
  }
1065
1075
 
@@ -449,8 +449,7 @@ var swfmini = function() {
449
449
  }
450
450
  };
451
451
  }();
452
-
453
- // Copyright 2009-2012 by contributors, MIT License
452
+ ;// Copyright 2009-2012 by contributors, MIT License
454
453
  // vim: ts=4 sts=4 sw=4 expandtab
455
454
 
456
455
  (function () {
@@ -1896,8 +1895,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
1896
1895
  })(webshims.$, webshims);
1897
1896
 
1898
1897
 
1899
-
1900
- //DOM-Extension helper
1898
+ ;//DOM-Extension helper
1901
1899
  webshims.register('dom-extend', function($, webshims, window, document, undefined){
1902
1900
  "use strict";
1903
1901
  var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
@@ -1939,34 +1937,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1939
1937
  webshims.ready('WINDOWLOAD', switch$);
1940
1938
 
1941
1939
  }
1942
- // (function(){
1943
- // var hostNames = {
1944
- // 'afarkas.github.io': 1,
1945
- // localhost: 1,
1946
- // '127.0.0.1': 1
1947
- // };
1948
- //
1949
- // if( webshims.cfg.debug && (hostNames[location.hostname] || location.protocol == 'file:') ){
1950
- // var list = $('<ul class="webshims-debug-list" />');
1951
- // webshims.errorLog.push = function(message){
1952
- // list.appendTo('body');
1953
- // $('<li style="display: none;">'+ message +'</li>')
1954
- // .appendTo(list)
1955
- // .slideDown()
1956
- // .delay(3000)
1957
- // .slideUp(function(){
1958
- // $(this).remove();
1959
- // if(!$('li', list).length){
1960
- // list.detach();
1961
- // }
1962
- // })
1963
- // ;
1964
- // };
1965
- // $.each(webshims.errorLog, function(i, message){
1966
- // webshims.errorLog.push(message);
1967
- // });
1968
- // }
1969
- // })();
1970
1940
 
1971
1941
  //shortcus
1972
1942
  var modules = webshims.modules;
@@ -2408,11 +2378,22 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2408
2378
  });
2409
2379
  },
2410
2380
  getOptions: (function(){
2381
+ var normalName = /\-([a-z])/g;
2411
2382
  var regs = {};
2383
+ var nameRegs = {};
2412
2384
  var regFn = function(f, upper){
2413
2385
  return upper.toLowerCase();
2414
2386
  };
2415
- return function(elem, name, bases){
2387
+ var nameFn = function(f, dashed){
2388
+ return dashed.toUpperCase();
2389
+ };
2390
+ return function(elem, name, bases, stringAllowed){
2391
+ if(nameRegs[name]){
2392
+ name = nameRegs[name];
2393
+ } else {
2394
+ nameRegs[name] = name.replace(normalName, nameFn);
2395
+ name = nameRegs[name];
2396
+ }
2416
2397
  var data = elementData(elem, 'cfg'+name);
2417
2398
  var dataName;
2418
2399
  var cfg = {};
@@ -2421,7 +2402,12 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2421
2402
  return data;
2422
2403
  }
2423
2404
  data = $(elem).data();
2424
-
2405
+ if(data && typeof data[name] == 'string'){
2406
+ if(stringAllowed){
2407
+ return elementData(elem, 'cfg'+name, data[name]);
2408
+ }
2409
+ webshims.error('data-'+ name +' attribute has to be a valid JSON, was: '+ data[name]);
2410
+ }
2425
2411
  if(!bases){
2426
2412
  bases = [true, {}];
2427
2413
  } else if(!Array.isArray(bases)){
@@ -2430,12 +2416,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2430
2416
  bases.unshift(true, {});
2431
2417
  }
2432
2418
 
2433
- if(data && data[name]){
2434
- if(typeof data[name] == 'object'){
2435
- bases.push(data[name]);
2436
- } else {
2437
- webshims.error('data-'+ name +' attribute has to be a valid JSON, was: '+ data[name]);
2438
- }
2419
+ if(data && typeof data[name] == 'object'){
2420
+ bases.push(data[name]);
2439
2421
  }
2440
2422
 
2441
2423
  if(!regs[name]){
@@ -2448,7 +2430,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2448
2430
  }
2449
2431
  }
2450
2432
  bases.push(cfg);
2451
-
2452
2433
  return elementData(elem, 'cfg'+name, $.extend.apply($, bases));
2453
2434
  };
2454
2435
  })(),
@@ -2478,7 +2459,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2478
2459
  var resizeTimer;
2479
2460
  var lastHeight;
2480
2461
  var lastWidth;
2481
-
2462
+ var $window = $(window);
2482
2463
  var docObserve = {
2483
2464
  init: false,
2484
2465
  runs: 0,
@@ -2498,25 +2479,36 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2498
2479
  docObserve.runs = 0;
2499
2480
  }
2500
2481
  },
2501
- handler: function(e){
2502
- clearTimeout(resizeTimer);
2503
- resizeTimer = setTimeout(function(){
2504
- if(e.type == 'resize'){
2505
- var width = $(window).width();
2506
- var height = $(window).width();
2507
- if(height == lastHeight && width == lastWidth){
2508
- return;
2482
+ handler: (function(){
2483
+ var trigger = function(){
2484
+ $(document).triggerHandler('updateshadowdom');
2485
+ };
2486
+ return function(e){
2487
+ clearTimeout(resizeTimer);
2488
+ resizeTimer = setTimeout(function(){
2489
+ if(e.type == 'resize'){
2490
+ var width = $window.width();
2491
+ var height = $window.width();
2492
+
2493
+ if(height == lastHeight && width == lastWidth){
2494
+ return;
2495
+ }
2496
+ lastHeight = height;
2497
+ lastWidth = width;
2498
+
2499
+ docObserve.height = docObserve.getHeight();
2500
+ docObserve.width = docObserve.getWidth();
2501
+ }
2502
+
2503
+ if(window.requestAnimationFrame){
2504
+ requestAnimationFrame(trigger);
2505
+ } else {
2506
+ setTimeout(trigger, 0);
2509
2507
  }
2510
- lastHeight = height;
2511
- lastWidth = width;
2512
-
2513
- docObserve.height = docObserve.getHeight();
2514
- docObserve.width = docObserve.getWidth();
2515
2508
 
2516
- }
2517
- $(document).triggerHandler('updateshadowdom');
2518
- }, (e.type == 'resize') ? 50 : 9);
2519
- },
2509
+ }, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 0);
2510
+ };
2511
+ })(),
2520
2512
  _create: function(){
2521
2513
  $.each({ Height: "getHeight", Width: "getWidth" }, function(name, type){
2522
2514
  var body = document.body;
@@ -2854,13 +2846,17 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2854
2846
  webshims.defineNodeNamesProperty(elementNames, prop, {
2855
2847
  attr: {
2856
2848
  set: function(val){
2857
- this.setAttribute(prop, val);
2849
+ if(descs.useContentAttribute){
2850
+ webshims.contentAttr(this, prop, val);
2851
+ } else {
2852
+ this.setAttribute(prop, val);
2853
+ }
2858
2854
  if(descs.set){
2859
2855
  descs.set.call(this, true);
2860
2856
  }
2861
2857
  },
2862
2858
  get: function(){
2863
- var ret = this.getAttribute(prop);
2859
+ var ret = (descs.useContentAttribute) ? webshims.contentAttr(this, prop) : this.getAttribute(prop);
2864
2860
  return (ret == null) ? undefined : prop;
2865
2861
  }
2866
2862
  },
@@ -2917,6 +2913,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2917
2913
  });
2918
2914
  }
2919
2915
  };
2916
+
2920
2917
  var select = function(obj){
2921
2918
  var oldLang = obj.__active;
2922
2919
  var selectLang = function(i, lang){
@@ -2924,6 +2921,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2924
2921
  if(obj[lang] || obj.availableLangs.indexOf(lang) != -1){
2925
2922
  if(obj[lang]){
2926
2923
  obj.__active = obj[lang];
2924
+ obj.__activeName = lang;
2927
2925
  } else {
2928
2926
  load(obj.langSrc+lang, obj, curLang.join());
2929
2927
  }
@@ -2933,6 +2931,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2933
2931
  $.each(curLang, selectLang);
2934
2932
  if(!obj.__active){
2935
2933
  obj.__active = obj[''];
2934
+ obj.__activeName = '';
2936
2935
  }
2937
2936
  if(oldLang != obj.__active){
2938
2937
  $(obj).trigger('change');
@@ -3037,8 +3036,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
3037
3036
  }
3038
3037
  });
3039
3038
 
3040
- })(webshims.$, document);
3041
- webshims.register('filereader', function( $, webshims ){
3039
+ })(webshims.$, document);;webshims.register('filereader', function( $, webshims ){
3042
3040
  "use strict";
3043
3041
  /**
3044
3042
  * Code is based on https://github.com/Jahdrien/FileReader
@@ -3427,8 +3425,7 @@ webshims.register('filereader', function( $, webshims ){
3427
3425
  });
3428
3426
  });
3429
3427
  });
3430
-
3431
- (function(Modernizr, webshims){
3428
+ ;(function(Modernizr, webshims){
3432
3429
  "use strict";
3433
3430
  var $ = webshims.$;
3434
3431
  var hasNative = Modernizr.audio && Modernizr.video;
@@ -4121,8 +4118,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
4121
4118
  }
4122
4119
  webshims.ready('track', loadTrackUi);
4123
4120
  });
4124
- })(Modernizr, webshims);
4125
- webshims.register('mediaelement-jaris', function($, webshims, window, document, undefined, options){
4121
+ })(Modernizr, webshims);;webshims.register('mediaelement-jaris', function($, webshims, window, document, undefined, options){
4126
4122
  "use strict";
4127
4123
 
4128
4124
  var mediaelement = webshims.mediaelement;