Sha256: 6a95fe4c23e936aa5e61b6ee09b19f10b45818734be62aa27d4b59eaea2215de

Contents?: true

Size: 1.53 KB

Versions: 142

Compression:

Stored size: 1.53 KB

Contents

// by jussi-kalliokoski


// This test is asynchronous. Watch out.

// The test will potentially add garbage to console.

(function(){
  try {
    // we're avoiding using Modernizr._domPrefixes as the prefix capitalization on
    // these guys are notoriously peculiar.
    var BlobBuilder = window.MozBlobBuilder || window.WebKitBlobBuilder || window.MSBlobBuilder || window.OBlobBuilder || window.BlobBuilder;
    var URL         = window.MozURL || window.webkitURL || window.MSURL || window.OURL || window.URL;
    var data    = 'Modernizr',
        blob,
        bb,
        worker,
        url,
        timeout,
        scriptText = 'this.onmessage=function(e){postMessage(e.data)}';

    try {
      blob = new Blob([scriptText], {type:'text/javascript'});
    } catch(e) {
      // we'll fall back to the deprecated BlobBuilder
    }
    if (!blob) {
      bb = new BlobBuilder();
      bb.append(scriptText);
      blob = bb.getBlob();
    }

    url = URL.createObjectURL(blob);
    worker = new Worker(url);

    worker.onmessage = function(e) {
      Modernizr.addTest('blobworkers', data === e.data);
      cleanup();
    };

    // Just in case...
    worker.onerror = fail;
    timeout = setTimeout(fail, 200);

    worker.postMessage(data);
  } catch (e) {
    fail();
  }

  function fail() {
    Modernizr.addTest('blobworkers', false);
    cleanup();
  }

  function cleanup() {
    if (url) {
      URL.revokeObjectURL(url);
    }
    if (worker) {
      worker.terminate();
    }
    if (timeout) {
      clearTimeout(timeout);
    }
  }
}());

Version data entries

142 entries across 142 versions & 7 rubygems

Version Path
jekyll-theme-pirati-7.7.1 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-7.7.0 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-7.6.2 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-7.6.1 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-7.6.0 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-7.5.0 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-7.4.0 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-7.3.0 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-7.2.0 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-7.1.1 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-7.0.0 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-6.9.0 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-6.8.0 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-6.7.2 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-6.7.0 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-6.6.2 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-6.6.1 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-6.6.0 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-6.5.0 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js
jekyll-theme-pirati-6.4.0 _sass/foundation-sites/vendor/modernizr/feature-detects/workers-blobworkers.js