webshims-rails 1.14.5 → 1.14.6

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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +2 -0
  3. data/lib/webshims-rails/version.rb +2 -2
  4. data/readme.textile +7 -0
  5. data/vendor/assets/javascripts/webshims/polyfiller.js +38 -6
  6. data/vendor/assets/javascripts/webshims/shims/combos/1.js +26 -20
  7. data/vendor/assets/javascripts/webshims/shims/combos/10.js +54 -19
  8. data/vendor/assets/javascripts/webshims/shims/combos/11.js +32 -15
  9. data/vendor/assets/javascripts/webshims/shims/combos/12.js +45 -21
  10. data/vendor/assets/javascripts/webshims/shims/combos/13.js +45 -21
  11. data/vendor/assets/javascripts/webshims/shims/combos/15.js +22 -4
  12. data/vendor/assets/javascripts/webshims/shims/combos/16.js +48 -24
  13. data/vendor/assets/javascripts/webshims/shims/combos/17.js +32 -15
  14. data/vendor/assets/javascripts/webshims/shims/combos/18.js +18 -81
  15. data/vendor/assets/javascripts/webshims/shims/combos/2.js +48 -24
  16. data/vendor/assets/javascripts/webshims/shims/combos/21.js +286 -179
  17. data/vendor/assets/javascripts/webshims/shims/combos/22.js +19 -1
  18. data/vendor/assets/javascripts/webshims/shims/combos/23.js +26 -20
  19. data/vendor/assets/javascripts/webshims/shims/combos/25.js +311 -199
  20. data/vendor/assets/javascripts/webshims/shims/combos/26.js +22 -17
  21. data/vendor/assets/javascripts/webshims/shims/combos/27.js +22 -17
  22. data/vendor/assets/javascripts/webshims/shims/combos/3.js +22 -4
  23. data/vendor/assets/javascripts/webshims/shims/combos/30.js +22 -4
  24. data/vendor/assets/javascripts/webshims/shims/combos/31.js +22 -4
  25. data/vendor/assets/javascripts/webshims/shims/combos/34.js +41 -5
  26. data/vendor/assets/javascripts/webshims/shims/combos/4.js +22 -4
  27. data/vendor/assets/javascripts/webshims/shims/combos/5.js +32 -15
  28. data/vendor/assets/javascripts/webshims/shims/combos/6.js +32 -15
  29. data/vendor/assets/javascripts/webshims/shims/combos/7.js +48 -24
  30. data/vendor/assets/javascripts/webshims/shims/combos/8.js +48 -24
  31. data/vendor/assets/javascripts/webshims/shims/combos/9.js +54 -19
  32. data/vendor/assets/javascripts/webshims/shims/combos/98.js +24 -7
  33. data/vendor/assets/javascripts/webshims/shims/combos/99.js +24 -7
  34. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +22 -4
  35. data/vendor/assets/javascripts/webshims/shims/es5.js +3 -1
  36. data/vendor/assets/javascripts/webshims/shims/es6.js +1 -5
  37. data/vendor/assets/javascripts/webshims/shims/filereader.js +22 -17
  38. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +32 -15
  39. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +18 -8
  40. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fa.js +1 -1
  41. data/vendor/assets/javascripts/webshims/shims/jme/controls.css +11 -0
  42. data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +16 -0
  43. data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +3 -20
  44. data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols.js +24 -7
  45. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +26 -20
  46. data/vendor/assets/javascripts/webshims/shims/mediaelement-debug.js +9 -1
  47. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +267 -178
  48. data/vendor/assets/javascripts/webshims/shims/picture.js +18 -81
  49. data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +1 -9
  50. data/vendor/assets/javascripts/webshims/shims/sizzle.js +1 -8
  51. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +4 -0
  52. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +5 -0
  53. data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +4 -0
  54. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  55. data/vendor/assets/javascripts/webshims/shims/track.js +19 -1
  56. data/vendor/assets/javascripts/webshims/shims/url.js +316 -0
  57. data/vendor/assets/javascripts/webshims/shims/usermedia-core.js +28 -0
  58. data/vendor/assets/javascripts/webshims/shims/usermedia-shim.js +179 -0
  59. metadata +5 -3
  60. data/vendor/assets/javascripts/webshims/extras/modernizr-custom.js +0 -511
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fb14a14f9a0126a142216b430620a282015327e1
4
- data.tar.gz: a12e38b142fd8fc6a618518d6c6554be12e1af4e
3
+ metadata.gz: 5c16961f85118c8f474aa4dfe6dfed31bb9dca18
4
+ data.tar.gz: 7d5c4bdc8bad9aec82b6c2f3b4600b42c42794b3
5
5
  SHA512:
6
- metadata.gz: b85682625ab66fad121917cd6a5260afec7f5636748a7809c78c74f9221f4e0bbc13bb7320ce14536dbea7060f5fee611375b64f4fa38298552032cff80280e0
7
- data.tar.gz: 4e2b1a4a78dc81fe7db86b52227cc656ca0bad1d56619f4ef64b644170689d4d7a83c434d26bc06bee58f24c4044b85d0145f494967d5c16e42c8b01063094e3
6
+ metadata.gz: 5e2f592a44627b885a9bef54c36c7b89aeaa52e8c48eed83ad6e31517f36ab54dcfd8a70b89f041264283cdc82c01496042027d50f7d52653ca5b966b80db09d
7
+ data.tar.gz: a4af5d272d7b4526915d77f9478a916a107cddf1e254bcd1f37765dfe5cc2d315dedbcf1bea26548ce5c4923f58c09bae1c7a03e487b333a2b5ce9c20416017a
data/Rakefile CHANGED
@@ -1,5 +1,6 @@
1
1
  require "bundler/gem_tasks"
2
2
 
3
+ desc "Update the source from the webshim github [Specify REF and VERSION]."
3
4
  task :update do
4
5
  if ! ENV['REF']
5
6
  raise "No REF value given. Set branch/tag/id, e.g., REF=1.2.2"
@@ -42,6 +43,7 @@ EOT
42
43
  input = STDIN.gets.strip
43
44
  end
44
45
 
46
+ desc "Commit changes, build and push the gem."
45
47
  task :push do
46
48
  if ! ENV['VERSION']
47
49
  raise "No VERSION value given. Set version, e.g., VERSION=1.2.2"
@@ -1,6 +1,6 @@
1
1
  module Webshims
2
2
  module Rails
3
- VERSION = "1.14.5"
4
- WEBSHIMS_VERSION = "1.14.5"
3
+ VERSION = "1.14.6"
4
+ WEBSHIMS_VERSION = "1.14.6"
5
5
  end
6
6
  end
data/readme.textile CHANGED
@@ -41,6 +41,13 @@ Users of previous webshims-rails versions should update their sprockets requires
41
41
  $.webshims.polyfill()
42
42
  </pre>
43
43
 
44
+ h2. Updating
45
+
46
+ There's a quick-and-dirty rake task in the repository to checkout webshims from github, checkout a git ref, and copy the required scripts over.
47
+
48
+ <pre>
49
+ rake update VERSION=1.14.5
50
+ </pre>
44
51
 
45
52
  h2. License
46
53
 
@@ -107,7 +107,8 @@
107
107
  var featureAlias = {
108
108
  matchmedia: 'matchMedia',
109
109
  xhr2: 'filereader',
110
- promise: 'es6'
110
+ promise: 'es6',
111
+ URL: 'url'
111
112
  };
112
113
 
113
114
  clearInterval(webshims.timer);
@@ -126,7 +127,7 @@
126
127
  }
127
128
 
128
129
  $.extend(webshims, {
129
- version: '1.14.5',
130
+ version: '1.14.6',
130
131
 
131
132
  cfg: {
132
133
  enhanceAuto: window.Audio && (!window.matchMedia || matchMedia('(min-device-width: 721px)').matches),
@@ -623,6 +624,7 @@
623
624
  error: 1
624
625
  };
625
626
  var $fn = $.fn;
627
+ var video = create('video');
626
628
 
627
629
  webshims.addMethodName = function(name){
628
630
  name = name.split(':');
@@ -968,6 +970,22 @@
968
970
  c: [21]
969
971
  });
970
972
  //>
973
+
974
+ //<usermedia
975
+ var userMediaTest = ('getUserMedia' in navigator);
976
+
977
+ addPolyfill('usermedia-core', {
978
+ f: 'usermedia',
979
+ test: userMediaTest,
980
+ d: [DOMSUPPORT]
981
+ });
982
+
983
+ addPolyfill('usermedia-shim', {
984
+ f: 'usermedia',
985
+ test: !!(userMediaTest || navigator.webkitGetUserMedia || navigator.mozGetUserMedia),
986
+ d: ['url', 'mediaelement', DOMSUPPORT]
987
+ });
988
+ //>
971
989
 
972
990
  //<canvas
973
991
  (function(){
@@ -1007,6 +1025,7 @@
1007
1025
 
1008
1026
  var initialFormTest = function(){
1009
1027
  var tmp, fieldset;
1028
+ var testValue = '1(';
1010
1029
  var input = create('input');
1011
1030
  fieldset = $('<fieldset><textarea required="" /></fieldset>')[0];
1012
1031
 
@@ -1014,7 +1033,7 @@
1014
1033
 
1015
1034
  $.each(['range', 'date', 'datetime-local', 'month', 'color', 'number'], function(i, type){
1016
1035
  input.setAttribute('type', type);
1017
- inputtypes[type] = (input.type == type && (input.value = '(') && input.value != '(');
1036
+ inputtypes[type] = (input.type == type && (input.value = testValue) && input.value != testValue);
1018
1037
  });
1019
1038
 
1020
1039
  support.datalist = !!(('options' in create('datalist')) && window.HTMLDataListElement);
@@ -1240,10 +1259,23 @@
1240
1259
  });
1241
1260
  //>
1242
1261
 
1262
+ //<url
1263
+ addPolyfill('url', {
1264
+ test: function(){
1265
+ var support = false;
1266
+ try {
1267
+ support = new URL('b', 'http://a');
1268
+ support = !!(support.searchParams && support.href == 'http://a/b');
1269
+ } catch(e){}
1270
+ return support;
1271
+ },
1272
+ d: ['es5']
1273
+ });
1274
+ //>
1275
+
1243
1276
  //<mediaelement
1244
1277
  (function(){
1245
1278
  webshims.mediaelement = {};
1246
- var video = create('video');
1247
1279
  var track = create('track');
1248
1280
  support.mediaelement = ('canPlayType' in video);
1249
1281
  support.texttrackapi = ('addTextTrack' in video);
@@ -1273,7 +1305,7 @@
1273
1305
  d: ['swfmini'],
1274
1306
  c: [16, 7, 2, 8, 1, 12, 13, 23]
1275
1307
  });
1276
-
1308
+
1277
1309
 
1278
1310
  addPolyfill('mediaelement-jaris', {
1279
1311
  f: 'mediaelement',
@@ -1288,7 +1320,7 @@
1288
1320
  if(options.preferFlash && !modules.swfmini.test()){
1289
1321
  options.preferFlash = false;
1290
1322
  }
1291
- return !( options.preferFlash && swfmini.hasFlashPlayerVersion('10.0.3') );
1323
+ return !( options.preferFlash && swfmini.hasFlashPlayerVersion('11.3') );
1292
1324
  },
1293
1325
  c: [21, 25]
1294
1326
  });
@@ -607,7 +607,7 @@ webshims.isReady('swfmini', true);
607
607
  }
608
608
 
609
609
  webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
610
- var hasSwf = swfmini.hasFlashPlayerVersion('10.0.3');
610
+ var hasSwf = swfmini.hasFlashPlayerVersion('11.3');
611
611
  var mediaelement = webshims.mediaelement;
612
612
 
613
613
  mediaelement.parseRtmp = function(data){
@@ -717,6 +717,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
717
717
  loadYt();
718
718
  }
719
719
  };
720
+
720
721
 
721
722
  webshims.addPolyfill('mediaelement-yt', {
722
723
  test: !hasYt,
@@ -761,7 +762,16 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
761
762
  if(src.indexOf('youtube.com/watch?') != -1 || src.indexOf('youtube.com/v/') != -1){
762
763
  return 'video/youtube';
763
764
  }
764
- if(src.indexOf('rtmp') === 0){
765
+
766
+ if(!src.indexOf('mediastream:') || !src.indexOf('blob:http')){
767
+ return 'usermedia';
768
+ }
769
+
770
+ if(!src.indexOf('webshimstream')){
771
+ return 'jarisplayer/stream';
772
+ }
773
+
774
+ if(!src.indexOf('rtmp')){
765
775
  return nodeName+'/rtmp';
766
776
  }
767
777
  src = src.split('?')[0].split('#')[0].split('.');
@@ -778,28 +788,24 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
778
788
  };
779
789
 
780
790
 
781
- mediaelement.srces = function(mediaElem, srces){
791
+ mediaelement.srces = function(mediaElem){
792
+ var srces = [];
782
793
  mediaElem = $(mediaElem);
783
- if(!srces){
784
- srces = [];
785
- var nodeName = mediaElem[0].nodeName.toLowerCase();
786
- var src = getSrcObj(mediaElem, nodeName);
787
-
788
- if(!src.src){
789
- $('source', mediaElem).each(function(){
790
- src = getSrcObj(this, nodeName);
791
- if(src.src){srces.push(src);}
792
- });
793
- } else {
794
- srces.push(src);
795
- }
796
- return srces;
794
+ var nodeName = mediaElem[0].nodeName.toLowerCase();
795
+ var src = getSrcObj(mediaElem, nodeName);
796
+
797
+ if(!src.src){
798
+ $('source', mediaElem).each(function(){
799
+ src = getSrcObj(this, nodeName);
800
+ if(src.src){srces.push(src);}
801
+ });
797
802
  } else {
798
- webshims.error('setting sources was removed.');
803
+ srces.push(src);
799
804
  }
805
+ return srces;
800
806
  };
801
807
 
802
- mediaelement.swfMimeTypes = ['video/3gpp', 'video/x-msvideo', 'video/quicktime', 'video/x-m4v', 'video/mp4', 'video/m4p', 'video/x-flv', 'video/flv', 'audio/mpeg', 'audio/aac', 'audio/mp4', 'audio/x-m4a', 'audio/m4a', 'audio/mp3', 'audio/x-fla', 'audio/fla', 'youtube/flv', 'video/jarisplayer', 'jarisplayer/jarisplayer', 'video/youtube', 'video/rtmp', 'audio/rtmp'];
808
+ mediaelement.swfMimeTypes = ['video/3gpp', 'video/x-msvideo', 'video/quicktime', 'video/x-m4v', 'video/mp4', 'video/m4p', 'video/x-flv', 'video/flv', 'audio/mpeg', 'audio/aac', 'audio/mp4', 'audio/x-m4a', 'audio/m4a', 'audio/mp3', 'audio/x-fla', 'audio/fla', 'youtube/flv', 'video/jarisplayer', 'jarisplayer/jarisplayer', 'jarisplayer/stream', 'video/youtube', 'video/rtmp', 'audio/rtmp'];
803
809
 
804
810
  mediaelement.canThirdPlaySrces = function(mediaElem, srces){
805
811
  var ret = '';
@@ -829,7 +835,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
829
835
  srces = srces || mediaelement.srces(mediaElem);
830
836
 
831
837
  $.each(srces, function(i, src){
832
- if(src.type && nativeCanPlay.call(mediaElem[0], src.type) ){
838
+ if(src.type == 'usermedia' || (src.type && nativeCanPlay.call(mediaElem[0], src.type)) ){
833
839
  ret = src;
834
840
  return false;
835
841
  }
@@ -60,7 +60,6 @@
60
60
  webshims.register('dom-extend', function($, webshims, window, document, undefined){
61
61
  "use strict";
62
62
  var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
63
- var supportGetSetAttribute = !('getSetAttribute' in $.support) || $.support.getSetAttribute;
64
63
  var has = Object.prototype.hasOwnProperty;
65
64
  webshims.assumeARIA = true;
66
65
 
@@ -91,7 +90,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
91
90
  }
92
91
 
93
92
  //shortcus
94
- var modules = webshims.modules;
95
93
  var listReg = /\s*,\s*/;
96
94
 
97
95
  //proxying attribute
@@ -476,8 +474,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
476
474
  (tempCache || $( document.getElementsByTagName(nodeName) )).each(fn);
477
475
  }
478
476
  };
479
-
480
- var elementExtends = {};
477
+
481
478
  return {
482
479
  createTmpCache: function(nodeName){
483
480
  if($.isDOMReady){
@@ -529,6 +526,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
529
526
  };
530
527
 
531
528
  $.extend(webshims, {
529
+ xProps: havePolyfill,
532
530
  getID: (function(){
533
531
  var ID = new Date().getTime();
534
532
  return function(elem){
@@ -542,6 +540,26 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
542
540
  return id;
543
541
  };
544
542
  })(),
543
+ domPrefixes: ["ws", "webkit", "moz", "ms", "o"],
544
+
545
+ prefixed: function (prop, obj){
546
+ var i, testProp;
547
+ var ret = false;
548
+ if(obj[prop]){
549
+ ret = prop;
550
+ }
551
+ if(!ret){
552
+ prop = prop.charAt(0).toUpperCase() + prop.slice(1);
553
+ for(i = 0; i < webshims.domPrefixes.length; i++){
554
+ testProp = webshims.domPrefixes[i]+prop;
555
+ if(testProp in obj){
556
+ ret = testProp;
557
+ break;
558
+ }
559
+ }
560
+ }
561
+ return ret;
562
+ },
545
563
  shadowClass: 'wsshadow-'+(Date.now()),
546
564
  implement: function(elem, type){
547
565
  var data = elementData(elem, 'implemented') || elementData(elem, 'implemented', {});
@@ -2255,22 +2273,36 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2255
2273
  }
2256
2274
  return val;
2257
2275
  },
2258
- time: function(val){
2259
- var fVal;
2260
- if(val && curCfg.meridian){
2276
+ time: function(val, o, noCorrect){
2277
+ var fVal, i;
2278
+ if(val){
2279
+
2261
2280
  val = val.split(':');
2262
- fVal = (val[0] * 1);
2263
- if(fVal && fVal >= 12){
2264
- val[0] = addZero(fVal - 12+'');
2265
- fVal = 1;
2266
-
2267
- } else {
2268
- fVal = 0;
2281
+ if(curCfg.meridian){
2282
+ fVal = (val[0] * 1);
2283
+ if(fVal && fVal >= 12){
2284
+ val[0] = addZero(fVal - 12+'');
2285
+ fVal = 1;
2286
+ } else {
2287
+ fVal = 0;
2288
+ }
2289
+ if(val[0] === '00'){
2290
+ val[0] = '12';
2291
+ }
2292
+ }
2293
+ if(!noCorrect){
2294
+ for(i = 0; i < val.length; i++){
2295
+ val[i] = addZero(val[i]);
2296
+ }
2297
+
2298
+ if(!val[1]){
2299
+ val[1] = '00';
2300
+ }
2269
2301
  }
2270
- if(val[0] === '00'){
2271
- val[0] = '12';
2302
+ val = $.trim(val.join(':'));
2303
+ if(fVal != null && curCfg.meridian){
2304
+ val += ' '+curCfg.meridian[fVal];
2272
2305
  }
2273
- val = $.trim(val.join(':')) + ' '+ curCfg.meridian[fVal];
2274
2306
  }
2275
2307
  return val;
2276
2308
  },
@@ -2359,12 +2391,15 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2359
2391
  var fVal;
2360
2392
  if(val && curCfg.meridian){
2361
2393
  val = val.toUpperCase();
2362
- if(val.substr(0,2) === "12"){
2394
+ if(val.substr(0,2) === "12"){
2363
2395
  val = "00" + val.substr(2);
2364
2396
  }
2397
+
2365
2398
  if(val.indexOf(curCfg.meridian[1]) != -1){
2399
+
2366
2400
  val = val.split(':');
2367
- fVal = (val[0] * 1);
2401
+ fVal = (val[0].replace(curCfg.meridian[1], '') * 1);
2402
+
2368
2403
  if(!isNaN(fVal)){
2369
2404
  val[0] = fVal + 12;
2370
2405
  }
@@ -1042,22 +1042,36 @@
1042
1042
  }
1043
1043
  return val;
1044
1044
  },
1045
- time: function(val){
1046
- var fVal;
1047
- if(val && curCfg.meridian){
1045
+ time: function(val, o, noCorrect){
1046
+ var fVal, i;
1047
+ if(val){
1048
+
1048
1049
  val = val.split(':');
1049
- fVal = (val[0] * 1);
1050
- if(fVal && fVal >= 12){
1051
- val[0] = addZero(fVal - 12+'');
1052
- fVal = 1;
1053
-
1054
- } else {
1055
- fVal = 0;
1050
+ if(curCfg.meridian){
1051
+ fVal = (val[0] * 1);
1052
+ if(fVal && fVal >= 12){
1053
+ val[0] = addZero(fVal - 12+'');
1054
+ fVal = 1;
1055
+ } else {
1056
+ fVal = 0;
1057
+ }
1058
+ if(val[0] === '00'){
1059
+ val[0] = '12';
1060
+ }
1061
+ }
1062
+ if(!noCorrect){
1063
+ for(i = 0; i < val.length; i++){
1064
+ val[i] = addZero(val[i]);
1065
+ }
1066
+
1067
+ if(!val[1]){
1068
+ val[1] = '00';
1069
+ }
1056
1070
  }
1057
- if(val[0] === '00'){
1058
- val[0] = '12';
1071
+ val = $.trim(val.join(':'));
1072
+ if(fVal != null && curCfg.meridian){
1073
+ val += ' '+curCfg.meridian[fVal];
1059
1074
  }
1060
- val = $.trim(val.join(':')) + ' '+ curCfg.meridian[fVal];
1061
1075
  }
1062
1076
  return val;
1063
1077
  },
@@ -1146,12 +1160,15 @@
1146
1160
  var fVal;
1147
1161
  if(val && curCfg.meridian){
1148
1162
  val = val.toUpperCase();
1149
- if(val.substr(0,2) === "12"){
1163
+ if(val.substr(0,2) === "12"){
1150
1164
  val = "00" + val.substr(2);
1151
1165
  }
1166
+
1152
1167
  if(val.indexOf(curCfg.meridian[1]) != -1){
1168
+
1153
1169
  val = val.split(':');
1154
- fVal = (val[0] * 1);
1170
+ fVal = (val[0].replace(curCfg.meridian[1], '') * 1);
1171
+
1155
1172
  if(!isNaN(fVal)){
1156
1173
  val[0] = fVal + 12;
1157
1174
  }
@@ -282,7 +282,7 @@ webshims.isReady('swfmini', true);
282
282
  }
283
283
 
284
284
  webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
285
- var hasSwf = swfmini.hasFlashPlayerVersion('10.0.3');
285
+ var hasSwf = swfmini.hasFlashPlayerVersion('11.3');
286
286
  var mediaelement = webshims.mediaelement;
287
287
 
288
288
  mediaelement.parseRtmp = function(data){
@@ -392,6 +392,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
392
392
  loadYt();
393
393
  }
394
394
  };
395
+
395
396
 
396
397
  webshims.addPolyfill('mediaelement-yt', {
397
398
  test: !hasYt,
@@ -436,7 +437,16 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
436
437
  if(src.indexOf('youtube.com/watch?') != -1 || src.indexOf('youtube.com/v/') != -1){
437
438
  return 'video/youtube';
438
439
  }
439
- if(src.indexOf('rtmp') === 0){
440
+
441
+ if(!src.indexOf('mediastream:') || !src.indexOf('blob:http')){
442
+ return 'usermedia';
443
+ }
444
+
445
+ if(!src.indexOf('webshimstream')){
446
+ return 'jarisplayer/stream';
447
+ }
448
+
449
+ if(!src.indexOf('rtmp')){
440
450
  return nodeName+'/rtmp';
441
451
  }
442
452
  src = src.split('?')[0].split('#')[0].split('.');
@@ -453,28 +463,24 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
453
463
  };
454
464
 
455
465
 
456
- mediaelement.srces = function(mediaElem, srces){
466
+ mediaelement.srces = function(mediaElem){
467
+ var srces = [];
457
468
  mediaElem = $(mediaElem);
458
- if(!srces){
459
- srces = [];
460
- var nodeName = mediaElem[0].nodeName.toLowerCase();
461
- var src = getSrcObj(mediaElem, nodeName);
462
-
463
- if(!src.src){
464
- $('source', mediaElem).each(function(){
465
- src = getSrcObj(this, nodeName);
466
- if(src.src){srces.push(src);}
467
- });
468
- } else {
469
- srces.push(src);
470
- }
471
- return srces;
469
+ var nodeName = mediaElem[0].nodeName.toLowerCase();
470
+ var src = getSrcObj(mediaElem, nodeName);
471
+
472
+ if(!src.src){
473
+ $('source', mediaElem).each(function(){
474
+ src = getSrcObj(this, nodeName);
475
+ if(src.src){srces.push(src);}
476
+ });
472
477
  } else {
473
- webshims.error('setting sources was removed.');
478
+ srces.push(src);
474
479
  }
480
+ return srces;
475
481
  };
476
482
 
477
- mediaelement.swfMimeTypes = ['video/3gpp', 'video/x-msvideo', 'video/quicktime', 'video/x-m4v', 'video/mp4', 'video/m4p', 'video/x-flv', 'video/flv', 'audio/mpeg', 'audio/aac', 'audio/mp4', 'audio/x-m4a', 'audio/m4a', 'audio/mp3', 'audio/x-fla', 'audio/fla', 'youtube/flv', 'video/jarisplayer', 'jarisplayer/jarisplayer', 'video/youtube', 'video/rtmp', 'audio/rtmp'];
483
+ mediaelement.swfMimeTypes = ['video/3gpp', 'video/x-msvideo', 'video/quicktime', 'video/x-m4v', 'video/mp4', 'video/m4p', 'video/x-flv', 'video/flv', 'audio/mpeg', 'audio/aac', 'audio/mp4', 'audio/x-m4a', 'audio/m4a', 'audio/mp3', 'audio/x-fla', 'audio/fla', 'youtube/flv', 'video/jarisplayer', 'jarisplayer/jarisplayer', 'jarisplayer/stream', 'video/youtube', 'video/rtmp', 'audio/rtmp'];
478
484
 
479
485
  mediaelement.canThirdPlaySrces = function(mediaElem, srces){
480
486
  var ret = '';
@@ -504,7 +510,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
504
510
  srces = srces || mediaelement.srces(mediaElem);
505
511
 
506
512
  $.each(srces, function(i, src){
507
- if(src.type && nativeCanPlay.call(mediaElem[0], src.type) ){
513
+ if(src.type == 'usermedia' || (src.type && nativeCanPlay.call(mediaElem[0], src.type)) ){
508
514
  ret = src;
509
515
  return false;
510
516
  }
@@ -1219,11 +1225,29 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
1219
1225
  webshims.error('you must provide a language for track in subtitles state');
1220
1226
  }
1221
1227
  obj.__wsmode = obj.mode;
1228
+
1229
+ webshims.defineProperty(obj, '_wsUpdateMode', {
1230
+ value: function(){
1231
+ $(mediaelem).triggerHandler('updatetrackdisplay');
1232
+ },
1233
+ enumerable: false
1234
+ });
1222
1235
  }
1223
1236
 
1224
1237
  return obj;
1225
1238
  };
1226
1239
 
1240
+ if(!$.propHooks.mode){
1241
+ $.propHooks.mode = {
1242
+ set: function(obj, value){
1243
+ obj.mode = value;
1244
+ if(obj._wsUpdateMode && obj._wsUpdateMode.call){
1245
+ obj._wsUpdateMode();
1246
+ }
1247
+ return obj.mode;
1248
+ }
1249
+ };
1250
+ }
1227
1251
 
1228
1252
  /*
1229
1253
  taken from:
@@ -1474,7 +1498,7 @@ modified for webshims
1474
1498
  var name = copyName[copyProp] || copyProp;
1475
1499
  webshims.onNodeNamesPropertyModify('track', copyProp, function(){
1476
1500
  var trackData = webshims.data(this, 'trackData');
1477
- var track = this;
1501
+
1478
1502
  if(trackData){
1479
1503
  if(copyProp == 'kind'){
1480
1504
  refreshTrack(this, trackData);