webshims-rails 1.10.10 → 1.10.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +8 -8
  2. data/MIT_LICENSE.txt +3 -1
  3. data/lib/webshims-rails/version.rb +2 -2
  4. data/vendor/assets/javascripts/webshims/polyfiller.js +8 -9
  5. data/vendor/assets/javascripts/webshims/shims/combos/1.js +91 -58
  6. data/vendor/assets/javascripts/webshims/shims/combos/10.js +247 -101
  7. data/vendor/assets/javascripts/webshims/shims/combos/11.js +241 -96
  8. data/vendor/assets/javascripts/webshims/shims/combos/12.js +79 -58
  9. data/vendor/assets/javascripts/webshims/shims/combos/13.js +79 -12
  10. data/vendor/assets/javascripts/webshims/shims/combos/14.js +6 -5
  11. data/vendor/assets/javascripts/webshims/shims/combos/15.js +68 -75
  12. data/vendor/assets/javascripts/webshims/shims/combos/16.js +147 -133
  13. data/vendor/assets/javascripts/webshims/shims/combos/17.js +288 -143
  14. data/vendor/assets/javascripts/webshims/shims/combos/18.js +288 -143
  15. data/vendor/assets/javascripts/webshims/shims/combos/19.js +85 -63
  16. data/vendor/assets/javascripts/webshims/shims/combos/2.js +97 -91
  17. data/vendor/assets/javascripts/webshims/shims/combos/20.js +85 -17
  18. data/vendor/assets/javascripts/webshims/shims/combos/21.js +17 -17
  19. data/vendor/assets/javascripts/webshims/shims/combos/23.js +79 -58
  20. data/vendor/assets/javascripts/webshims/shims/combos/24.js +17 -16
  21. data/vendor/assets/javascripts/webshims/shims/combos/25.js +85 -63
  22. data/vendor/assets/javascripts/webshims/shims/combos/26.js +6 -5
  23. data/vendor/assets/javascripts/webshims/shims/combos/27.js +0 -46
  24. data/vendor/assets/javascripts/webshims/shims/combos/28.js +6 -5
  25. data/vendor/assets/javascripts/webshims/shims/combos/29.js +13 -6
  26. data/vendor/assets/javascripts/webshims/shims/combos/3.js +47 -31
  27. data/vendor/assets/javascripts/webshims/shims/combos/30.js +47 -59
  28. data/vendor/assets/javascripts/webshims/shims/combos/31.js +18 -33
  29. data/vendor/assets/javascripts/webshims/shims/combos/4.js +35 -31
  30. data/vendor/assets/javascripts/webshims/shims/combos/5.js +304 -157
  31. data/vendor/assets/javascripts/webshims/shims/combos/6.js +304 -185
  32. data/vendor/assets/javascripts/webshims/shims/combos/7.js +126 -117
  33. data/vendor/assets/javascripts/webshims/shims/combos/8.js +126 -89
  34. data/vendor/assets/javascripts/webshims/shims/combos/9.js +247 -129
  35. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +6 -5
  36. data/vendor/assets/javascripts/webshims/shims/form-core.js +12 -0
  37. data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +3 -0
  38. data/vendor/assets/javascripts/webshims/shims/form-datalist.js +0 -28
  39. data/vendor/assets/javascripts/webshims/shims/form-message.js +29 -26
  40. data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +16 -14
  41. data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +47 -47
  42. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +241 -96
  43. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +21 -16
  44. data/vendor/assets/javascripts/webshims/shims/form-validation.js +17 -16
  45. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +173 -41
  46. data/vendor/assets/javascripts/webshims/shims/geolocation.js +17 -17
  47. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ar.js +35 -33
  48. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-ZN.js +32 -30
  49. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.txt +17 -13
  50. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-el.js +32 -30
  51. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.txt +4 -1
  52. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-es.js +30 -28
  53. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fr.js +35 -32
  54. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-he.js +32 -30
  55. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hi.js +32 -30
  56. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hu.js +32 -30
  57. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-it.js +32 -30
  58. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ja.js +32 -30
  59. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-lt.js +37 -36
  60. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +32 -30
  61. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pl.js +5 -2
  62. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-PT.js +33 -30
  63. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ru.js +3 -1
  64. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js +32 -30
  65. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +79 -12
  66. data/vendor/assets/javascripts/webshims/shims/styles/forms.png +0 -0
  67. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +126 -121
  68. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +100 -111
  69. data/vendor/assets/javascripts/webshims/shims/swfmini.js +0 -46
  70. data/vendor/assets/javascripts/webshims/shims/track-ui.js +13 -6
  71. data/webshims-rails.gemspec +1 -0
  72. metadata +4 -3
@@ -165,52 +165,6 @@ var swfmini = function() {
165
165
  }
166
166
 
167
167
 
168
- /* Functions to abstract and display alternative content
169
- */
170
- function displayAltContent(obj) {
171
- if (ua.ie && ua.win && obj.readyState != 4) {
172
- // IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it,
173
- // because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
174
- var el = createElement("div");
175
- obj.parentNode.insertBefore(el, obj); // insert placeholder div that will be replaced by the alternative content
176
- el.parentNode.replaceChild(abstractAltContent(obj), el);
177
- obj.style.display = "none";
178
- (function(){
179
- if (obj.readyState == 4) {
180
- obj.parentNode.removeChild(obj);
181
- }
182
- else {
183
- setTimeout(arguments.callee, 10);
184
- }
185
- })();
186
- }
187
- else {
188
- obj.parentNode.replaceChild(abstractAltContent(obj), obj);
189
- }
190
- }
191
-
192
- function abstractAltContent(obj) {
193
- var ac = createElement("div");
194
- if (ua.win && ua.ie) {
195
- ac.innerHTML = obj.innerHTML;
196
- }
197
- else {
198
- var nestedObj = obj.getElementsByTagName(OBJECT)[0];
199
- if (nestedObj) {
200
- var c = nestedObj.childNodes;
201
- if (c) {
202
- var cl = c.length;
203
- for (var i = 0; i < cl; i++) {
204
- if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) {
205
- ac.appendChild(c[i].cloneNode(true));
206
- }
207
- }
208
- }
209
- }
210
- }
211
- return ac;
212
- }
213
-
214
168
  /* Cross-browser dynamic SWF creation
215
169
  */
216
170
  function createSWF(attObj, parObj, id) {
@@ -499,8 +453,9 @@ var swfmini = function() {
499
453
  //DOM-Extension helper
500
454
  webshims.register('dom-extend', function($, webshims, window, document, undefined){
501
455
  "use strict";
502
-
503
- webshims.assumeARIA = $.support.getSetAttribute || Modernizr.canvas || Modernizr.video || Modernizr.boxsizing;
456
+ var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
457
+ var supportGetSetAttribute = !('getSetAttribute' in $.support) || $.support.getSetAttribute;
458
+ webshims.assumeARIA = supportGetSetAttribute || Modernizr.canvas || Modernizr.video || Modernizr.boxsizing;
504
459
 
505
460
  if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
506
461
  webshims.error("IE browser modes are busted in IE10. Please test your HTML/CSS/JS with a real IE version or at least IETester or similiar tools");
@@ -510,8 +465,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
510
465
  webshims.error("Webshims needs jQuery 1.8+ to work properly. Please update your jQuery version or downgrade webshims.");
511
466
  }
512
467
 
513
- if(webshims.cfg.extendNative === 1){
514
- webshims.warn("extendNative configuration will be set to false by default with next release. In case you rely on it set it to 'true' otherwise to 'false'. See http://bit.ly/16OOTQO");
468
+ if(webshims.cfg.extendNative === undefined){
469
+ webshims.warn("extendNative configuration was set to false by default with this release. In case you rely on it set it to 'true' otherwise to 'false'. See http://bit.ly/16OOTQO");
515
470
  }
516
471
 
517
472
  if (!webshims.cfg.no$Switch) {
@@ -1183,7 +1138,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1183
1138
 
1184
1139
  anchor.setAttribute('href', href+'' );
1185
1140
 
1186
- if(!$.support.hrefNormalized){
1141
+ if(!supportHrefNormalized){
1187
1142
  try {
1188
1143
  $(anchor).insertAfter(this);
1189
1144
  ret = anchor.getAttribute('href', 4);
@@ -1624,6 +1579,10 @@ webshims.register('form-core', function($, webshims, window, document, undefined
1624
1579
  options.customMessages = true;
1625
1580
  toLoad.push('form-message');
1626
1581
  }
1582
+ if(options.customDatalist){
1583
+ options.fD = true;
1584
+ toLoad.push('form-datalist');
1585
+ }
1627
1586
  if(options.addValidators){
1628
1587
  toLoad.push('form-validators');
1629
1588
  }
@@ -1762,6 +1721,14 @@ webshims.register('form-core', function($, webshims, window, document, undefined
1762
1721
  return false;
1763
1722
  }
1764
1723
  });
1724
+ if(typeof message == 'object'){
1725
+ if(validity.typeMismatch && message.badInput){
1726
+ message = message.badInput;
1727
+ }
1728
+ if(validity.badInput && message.typeMismatch){
1729
+ message = message.typeMismatch;
1730
+ }
1731
+ }
1765
1732
  }
1766
1733
  }
1767
1734
 
@@ -1917,6 +1884,7 @@ var validityPrototype = {
1917
1884
  customError: false,
1918
1885
 
1919
1886
  typeMismatch: false,
1887
+ badInput: false,
1920
1888
  rangeUnderflow: false,
1921
1889
  rangeOverflow: false,
1922
1890
  stepMismatch: false,
@@ -1976,20 +1944,6 @@ var validityRules = {
1976
1944
  tooLong: function(){
1977
1945
  return false;
1978
1946
  },
1979
- typeMismatch: function (input, val, cache){
1980
- if(val === '' || cache.nodeName == 'select'){return false;}
1981
- var ret = false;
1982
- if(!('type' in cache)){
1983
- cache.type = getType(input[0]);
1984
- }
1985
-
1986
- if(typeModels[cache.type] && typeModels[cache.type].mismatch){
1987
- ret = typeModels[cache.type].mismatch(val, input);
1988
- } else if('validity' in input[0]){
1989
- ret = input[0].validity.typeMismatch;
1990
- }
1991
- return ret;
1992
- },
1993
1947
  patternMismatch: function(input, val, cache) {
1994
1948
  if(val === '' || cache.nodeName == 'select'){return false;}
1995
1949
  var pattern = input.attr('pattern');
@@ -2006,6 +1960,23 @@ var validityRules = {
2006
1960
  }
2007
1961
  ;
2008
1962
 
1963
+ $.each({typeMismatch: 'mismatch', badInput: 'bad'}, function(name, fn){
1964
+ validityRules[name] = function (input, val, cache){
1965
+ if(val === '' || cache.nodeName == 'select'){return false;}
1966
+ var ret = false;
1967
+ if(!('type' in cache)){
1968
+ cache.type = getType(input[0]);
1969
+ }
1970
+
1971
+ if(typeModels[cache.type] && typeModels[cache.type][fn]){
1972
+ ret = typeModels[cache.type][fn](val, input);
1973
+ } else if('validity' in input[0] && ('name' in input[0].validity)){
1974
+ ret = input[0].validity[name] || false;
1975
+ }
1976
+ return ret;
1977
+ };
1978
+ });
1979
+
2009
1980
  webshims.addValidityRule = function(type, fn){
2010
1981
  validityRules[type] = fn;
2011
1982
  };
@@ -2051,8 +2022,9 @@ $.event.special.invalid = {
2051
2022
  }
2052
2023
  };
2053
2024
 
2025
+ var supportSubmitBubbles = !('submitBubbles' in $.support) || $.support.submitBubbles;
2054
2026
  var addSubmitBubbles = function(form){
2055
- if (!$.support.submitBubbles && form && typeof form == 'object' && !form._submit_attached ) {
2027
+ if (!supportSubmitBubbles && form && typeof form == 'object' && !form._submit_attached ) {
2056
2028
 
2057
2029
  $.event.add( form, 'submit._submit', function( event ) {
2058
2030
  event._submit_bubble = true;
@@ -2061,7 +2033,7 @@ var addSubmitBubbles = function(form){
2061
2033
  form._submit_attached = true;
2062
2034
  }
2063
2035
  };
2064
- if(!$.support.submitBubbles && $.event.special.submit){
2036
+ if(!supportSubmitBubbles && $.event.special.submit){
2065
2037
  $.event.special.submit.setup = function() {
2066
2038
  // Only need this for delegated form submit events
2067
2039
  if ( $.nodeName( this, "form" ) ) {
@@ -3630,9 +3602,8 @@ try {
3630
3602
 
3631
3603
  webshims.register('form-message', function($, webshims, window, document, undefined, options){
3632
3604
  "use strict";
3633
- if(options.overrideMessages){
3605
+ if(options.lazyCustomMessages){
3634
3606
  options.customMessages = true;
3635
- webshims.error('overrideMessages is deprecated. use customMessages instead.');
3636
3607
  }
3637
3608
  var validityMessages = webshims.validityMessages;
3638
3609
 
@@ -3642,7 +3613,10 @@ webshims.register('form-message', function($, webshims, window, document, undefi
3642
3613
  typeMismatch: {
3643
3614
  defaultMessage: 'Please enter a valid value.',
3644
3615
  email: 'Please enter an email address.',
3645
- url: 'Please enter a URL.',
3616
+ url: 'Please enter a URL.'
3617
+ },
3618
+ badInput: {
3619
+ defaultMessage: 'Please enter a valid value.',
3646
3620
  number: 'Please enter a number.',
3647
3621
  date: 'Please enter a date.',
3648
3622
  time: 'Please enter a time.',
@@ -3695,13 +3669,16 @@ webshims.register('form-message', function($, webshims, window, document, undefi
3695
3669
  typeMismatch: {
3696
3670
  defaultMessage: '{%value} ist in diesem Feld nicht zulässig.',
3697
3671
  email: '{%value} ist keine gültige E-Mail-Adresse.',
3698
- url: '{%value} ist kein(e) gültige(r) Webadresse/Pfad.',
3699
- number: '{%value} ist keine Nummer.',
3700
- date: '{%value} ist kein Datum.',
3701
- time: '{%value} ist keine Uhrzeit.',
3702
- month: '{%value} ist in diesem Feld nicht zulässig.',
3703
- range: '{%value} ist keine Nummer.',
3704
- "datetime-local": '{%value} ist kein Datum-Uhrzeit Format.'
3672
+ url: '{%value} ist kein(e) gültige(r) Webadresse/Pfad.'
3673
+ },
3674
+ badInput: {
3675
+ defaultMessage: 'Geben Sie einen zulässigen Wert ein.',
3676
+ number: 'Geben Sie eine Nummer ein.',
3677
+ date: 'Geben Sie ein Datum ein.',
3678
+ time: 'Geben Sie eine Uhrzeit ein.',
3679
+ month: 'Geben Sie einen Monat mit Jahr ein.',
3680
+ range: 'Geben Sie eine Nummer.',
3681
+ "datetime-local": 'Geben Sie ein Datum mit Uhrzeit ein.'
3705
3682
  },
3706
3683
  rangeUnderflow: {
3707
3684
  defaultMessage: '{%value} ist zu niedrig. {%min} ist der unterste Wert, den Sie benutzen können.'
@@ -3749,11 +3726,17 @@ webshims.register('form-message', function($, webshims, window, document, undefi
3749
3726
 
3750
3727
  webshims.createValidationMessage = function(elem, name){
3751
3728
  var widget;
3752
- var message = getMessageFromObj(currentValidationMessage[name], elem);
3753
3729
  var type = $.prop(elem, 'type');
3730
+ var message = getMessageFromObj(currentValidationMessage[name], elem);
3731
+ if(!message && name == 'badInput'){
3732
+ message = getMessageFromObj(currentValidationMessage.typeMismatch, elem);
3733
+ }
3734
+ if(!message && name == 'typeMismatch'){
3735
+ message = getMessageFromObj(currentValidationMessage.badInput, elem);
3736
+ }
3754
3737
  if(!message){
3755
3738
  message = getMessageFromObj(validityMessages[''][name], elem) || $.prop(elem, 'validationMessage');
3756
- webshims.info('could not find errormessage for: '+ name +' / '+ type +'. in language: '+$.webshims.activeLang());
3739
+ webshims.info('could not find errormessage for: '+ name +' / '+ type +'. in language: '+webshims.activeLang());
3757
3740
  }
3758
3741
  if(message){
3759
3742
  ['value', 'min', 'max', 'title', 'maxlength', 'label'].forEach(function(attr){
@@ -3796,20 +3779,14 @@ webshims.register('form-message', function($, webshims, window, document, undefi
3796
3779
  webshims.activeLang({
3797
3780
  register: 'form-core',
3798
3781
  callback: function(val){
3799
- $.each(validityMessages, function(i, val){
3800
- if(validityMessages[val]){
3801
- currentValidationMessage = validityMessages[val];
3802
- return false;
3803
- }
3804
- });
3782
+ if(validityMessages[val]){
3783
+ currentValidationMessage = validityMessages[val];
3784
+ }
3805
3785
  }
3806
3786
  });
3807
3787
 
3808
3788
  implementProperties.forEach(function(messageProp){
3809
- var skipNames = {
3810
- valid: 1,
3811
- badInput: 1
3812
- };
3789
+
3813
3790
  webshims.defineNodeNamesProperty(['fieldset', 'output', 'button'], messageProp, {
3814
3791
  prop: {
3815
3792
  value: '',
@@ -3838,16 +3815,14 @@ webshims.register('form-message', function($, webshims, window, document, undefi
3838
3815
  if(message){return message;}
3839
3816
  }
3840
3817
  $.each(validity, function(name, prop){
3841
- if(skipNames[name] || !prop){return;}
3818
+ if(name == 'valid' || !prop){return;}
3842
3819
 
3843
3820
  message = webshims.createValidationMessage(elem, name);
3844
3821
  if(message){
3845
3822
  return false;
3846
3823
  }
3847
3824
  });
3848
- if(!message && validity.badInput){
3849
- message = webshims.createValidationMessage(elem, 'typeMismatch') || webshims.createValidationMessage(elem, 'valueMissing');
3850
- }
3825
+
3851
3826
  return message || '';
3852
3827
  },
3853
3828
  writeable: false
@@ -3956,34 +3931,6 @@ webshims.register('form-datalist', function($, webshims, window, document, undef
3956
3931
  }
3957
3932
  };
3958
3933
 
3959
- if(formsCFG.customDatalist && (!listSupport || !('selectedOption' in $('<input />')[0]))){
3960
- //currently not supported x-browser (FF4 has not implemented and is not polyfilled )
3961
- inputListProto.selectedOption = {
3962
- prop: {
3963
- writeable: false,
3964
- get: function(){
3965
- var elem = this;
3966
- var list = $.prop(elem, 'list');
3967
- var ret = null;
3968
- var value, options;
3969
- if(!list){return ret;}
3970
- value = $.prop(elem, 'value');
3971
- if(!value){return ret;}
3972
- options = $.prop(list, 'options');
3973
- if(!options.length){return ret;}
3974
- $.each(options, function(i, option){
3975
- if(value == $.prop(option, 'value')){
3976
- ret = option;
3977
- return false;
3978
- }
3979
- });
3980
- return ret;
3981
- }
3982
- }
3983
- };
3984
- }
3985
-
3986
-
3987
3934
  if(listSupport){
3988
3935
  //options only return options, if option-elements are rooted: but this makes this part of HTML5 less backwards compatible
3989
3936
  if(!($('<datalist><select><option></option></select></datalist>').prop('options') || []).length ){
@@ -4162,7 +4109,8 @@ webshims.register('form-datalist', function($, webshims, window, document, undef
4162
4109
  }
4163
4110
  });
4164
4111
  };
4165
- var options = webshims.cfg.mediaelement;
4112
+ var wsCfg = webshims.cfg;
4113
+ var options = wsCfg.mediaelement;
4166
4114
  var hasFullTrackSupport;
4167
4115
  var hasSwf;
4168
4116
  if(!options){
@@ -4249,7 +4197,7 @@ webshims.register('form-datalist', function($, webshims, window, document, undef
4249
4197
  }
4250
4198
  hasFullTrackSupport = Modernizr.track && !bugs.track;
4251
4199
 
4252
- webshims.register('mediaelement-core', function($, webshims, window, document, undefined){
4200
+ webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
4253
4201
  hasSwf = swfmini.hasFlashPlayerVersion('9.0.115');
4254
4202
  $('html').addClass(hasSwf ? 'swf' : 'no-swf');
4255
4203
  var mediaelement = webshims.mediaelement;
@@ -4333,11 +4281,21 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
4333
4281
  var loadTrackUi = function(){
4334
4282
  if(loadTrackUi.loaded){return;}
4335
4283
  loadTrackUi.loaded = true;
4336
- webshims.ready('WINDOWLOAD', function(){
4337
- loadThird();
4338
- webshims.loader.loadList(['track-ui']);
4339
- });
4284
+ if(!options.noAutoTrack){
4285
+ webshims.ready('WINDOWLOAD', function(){
4286
+ loadThird();
4287
+ webshims.loader.loadList(['track-ui']);
4288
+ });
4289
+ }
4340
4290
  };
4291
+ // var loadMediaGroup = function(){
4292
+ // if(!loadMediaGroup.loaded){
4293
+ // loadMediaGroup.loaded = true;
4294
+ // webshims.ready(window.MediaController ? 'WINDOWLOAD' : 'DOM', function(){
4295
+ // webshims.loader.loadList(['mediagroup']);
4296
+ // });
4297
+ // }
4298
+ // };
4341
4299
  var loadYt = (function(){
4342
4300
  var loaded;
4343
4301
  return function(){
@@ -4362,6 +4320,11 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
4362
4320
  d: ['dom-support']
4363
4321
  });
4364
4322
 
4323
+
4324
+ // webshims.addModule('mediagroup', {
4325
+ // d: ['mediaelement', 'dom-support']
4326
+ // });
4327
+
4365
4328
  mediaelement.mimeTypes = {
4366
4329
  audio: {
4367
4330
  //ogm shouldn´t be used!
@@ -4660,8 +4623,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
4660
4623
 
4661
4624
  };
4662
4625
 
4663
-
4664
-
4665
4626
  webshims.ready('dom-support', function(){
4666
4627
  handleMedia = true;
4667
4628
 
@@ -4670,7 +4631,8 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
4670
4631
  }
4671
4632
 
4672
4633
  ['audio', 'video'].forEach(function(nodeName){
4673
- var supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
4634
+ var supLoad, supController;
4635
+ supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
4674
4636
  prop: {
4675
4637
  value: function(){
4676
4638
  var data = webshims.data(this, 'mediaelement');
@@ -4701,7 +4663,59 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
4701
4663
  }
4702
4664
  }
4703
4665
  });
4666
+
4667
+ // supController = webshims.defineNodeNameProperty(nodeName, 'controller', {
4668
+ // prop: {
4669
+ // get: function(type){
4670
+ // if(!loadMediaGroup.loaded){
4671
+ // loadMediaGroup();
4672
+ // }
4673
+ // if(mediaelement.controller){
4674
+ // return mediaelement.controller[nodeName].get.apply(this, arguments);
4675
+ // }
4676
+ // return supController.prop._supget && supController.prop._supget.apply(this, arguments);
4677
+ // },
4678
+ // set: function(){
4679
+ // var that = this;
4680
+ // var args = arguments;
4681
+ // if(!loadMediaGroup.loaded){
4682
+ // loadMediaGroup();
4683
+ // }
4684
+ // if(mediaelement.controller){
4685
+ // return mediaelement.controller[nodeName].set.apply(that, args);
4686
+ // } else {
4687
+ // webshims.ready('mediagroup', function(){
4688
+ // mediaelement.controller[nodeName].set.apply(that, args);
4689
+ // });
4690
+ // }
4691
+ // return supController.prop._supset && supController.prop._supset.apply(this, arguments);
4692
+ // }
4693
+ // }
4694
+ // });
4695
+
4696
+ // webshims.ready('mediagroup', function(){
4697
+ // mediaelement.controller[nodeName].sup = supController;
4698
+ // });
4704
4699
  });
4700
+
4701
+ // webshims.onNodeNamesPropertyModify(['audio', 'video'], ['mediaGroup'], {
4702
+ // set: function(){
4703
+ // var that = this;
4704
+ // var args = arguments;
4705
+ // if(!loadMediaGroup.loaded){
4706
+ // loadMediaGroup();
4707
+ // }
4708
+ // if(mediaelement.mediagroup){
4709
+ // mediaelement.mediagroup.set.apply(that, args);
4710
+ // } else {
4711
+ // webshims.ready('mediagroup', function(){
4712
+ // mediaelement.mediagroup.set.apply(that, args);
4713
+ // });
4714
+ // }
4715
+ // },
4716
+ // initAttr: true
4717
+ // });
4718
+
4705
4719
  webshims.onNodeNamesPropertyModify(['audio', 'video'], ['src', 'poster'], {
4706
4720
  set: function(){
4707
4721
  var elem = this;
@@ -4723,6 +4737,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
4723
4737
  if(!loadTrackUi.loaded && $('track', media).length){
4724
4738
  loadTrackUi();
4725
4739
  }
4740
+ // if(!loadMediaGroup.loaded && this.getAttribute('mediagroup')){
4741
+ // loadMediaGroup();
4742
+ // }
4726
4743
  media = null;
4727
4744
  });
4728
4745
  });
@@ -4738,9 +4755,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
4738
4755
  handleMedia = true;
4739
4756
  return false;
4740
4757
  }
4741
- if((!hasFullTrackSupport || webshims.modules.track.options.override) && !loadTrackUi.loaded && $('track', this).length){
4742
- loadTrackUi();
4743
- }
4744
4758
  })
4745
4759
  ;
4746
4760
  }