tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

idbworker.js (969B)


      1 'use strict';
      2 var db
      3 
      4 self.addEventListener('message', MessageHandler, false)
      5 
      6 function MessageHandler(e)
      7 {
      8    var open_rq, idb = self.indexedDB || self.msIndexedDB || self.webkitIndexedDB || self.mozIndexedDB
      9 
     10    if (!idb)
     11    {
     12        self.postMessage(false)
     13        return
     14    }
     15    else
     16        self.postMessage(true)
     17 
     18    open_rq = idb.open("webworker101", 1)
     19 
     20    open_rq.onupgradeneeded = function(e) {
     21        db = e.target.result
     22        db.createObjectStore("store")
     23          .add("test", 1)
     24    }
     25    open_rq.onsuccess = function(e) {
     26        db = e.target.result
     27        db.onerror = function() { self.postMessage("db.error") }
     28        db.transaction("store", "readonly").objectStore("store").get(1).onsuccess = function(e) {
     29            self.postMessage(e.target.result)
     30            db.close()
     31        }
     32    }
     33    open_rq.onerror = function() { self.postMessage("open.error") }
     34    open_rq.onblocked = function() { self.postMessage("open.blocked") }
     35 }