summaryrefslogtreecommitdiff
path: root/source/bower_components/modernizr/feature-detects/workers-dataworkers.js
diff options
context:
space:
mode:
Diffstat (limited to 'source/bower_components/modernizr/feature-detects/workers-dataworkers.js')
-rw-r--r--source/bower_components/modernizr/feature-detects/workers-dataworkers.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/source/bower_components/modernizr/feature-detects/workers-dataworkers.js b/source/bower_components/modernizr/feature-detects/workers-dataworkers.js
new file mode 100644
index 0000000..efa95a5
--- /dev/null
+++ b/source/bower_components/modernizr/feature-detects/workers-dataworkers.js
@@ -0,0 +1,34 @@
+// by jussi-kalliokoski
+
+
+// This test is asynchronous. Watch out.
+
+// The test will potentially add garbage to console.
+
+(function(){
+ try {
+ var data = 'Modernizr',
+ worker = new Worker('data:text/javascript;base64,dGhpcy5vbm1lc3NhZ2U9ZnVuY3Rpb24oZSl7cG9zdE1lc3NhZ2UoZS5kYXRhKX0=');
+
+ worker.onmessage = function(e) {
+ worker.terminate();
+ Modernizr.addTest('dataworkers', data === e.data);
+ worker = null;
+ };
+
+ // Just in case...
+ worker.onerror = function() {
+ Modernizr.addTest('dataworkers', false);
+ worker = null;
+ };
+
+ setTimeout(function() {
+ Modernizr.addTest('dataworkers', false);
+ }, 200);
+
+ worker.postMessage(data);
+
+ } catch (e) {
+ Modernizr.addTest('dataworkers', false);
+ }
+}());