aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/background.js
blob: 2dd5c88c7a0c2416a308c47c113bd2d8cde27300 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
const identitiesUrl = 'https://alpha.metamask.io/identities/'
const messagingChannelName = 'metamask'

var pendingTxs = []

// setup badge click handler
chrome.browserAction.onClicked.addListener(function(activeTab) {
  chrome.tabs.create({ url: identitiesUrl })
})

// setup page<->plugin messaging
chrome.runtime.onConnect.addListener(function(port) {
  console.assert(port.name == messagingChannelName)
  port.onMessage.addListener(function(msg) {
    addTransaction(msg.payload)
  })
})

// listen to storage changes
// chrome.storage.onChanged.addListener(function(changes, namespace) {
//   for (key in changes) {
//     var storageChange = changes[key]
//     console.log('Storage key "%s" in namespace "%s" changed. ' +
//                 'Old value was "%s", new value is "%s".',
//                 key,
//                 namespace,
//                 storageChange.oldValue,
//                 storageChange.newValue)
//   }
// })

// // Save it using the Chrome extension storage API.
// chrome.storage.sync.set({'zzz': 22}, function() {
//   // Notify that we saved.
//   console.log('Settings saved')
// })

// update badge text
updateBadge()


function addTransaction(tx){
  pendingTxs.push(tx)
  updateBadge()
}

function updateBadge(){
  var label = ''
  if (pendingTxs.length) {
    label = String(pendingTxs.length)
  }
  chrome.browserAction.setBadgeText({text: label})
}