1// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Global accessor that the popup uses.
6var addresses = {};
7var selectedAddress = null;
8var selectedId = null;
9
10function updateAddress(tabId) {
11  chrome.tabs.sendRequest(tabId, {}, function(address) {
12    addresses[tabId] = address;
13    if (!address) {
14      chrome.pageAction.hide(tabId);
15    } else {
16      chrome.pageAction.show(tabId);
17      if (selectedId == tabId) {
18        updateSelected(tabId);
19      }
20    }
21  });
22}
23
24function updateSelected(tabId) {
25  selectedAddress = addresses[tabId];
26  if (selectedAddress)
27    chrome.pageAction.setTitle({tabId:tabId, title:selectedAddress});
28}
29
30chrome.tabs.onUpdated.addListener(function(tabId, change, tab) {
31  if (change.status == "complete") {
32    updateAddress(tabId);
33  }
34});
35
36chrome.tabs.onSelectionChanged.addListener(function(tabId, info) {
37  selectedId = tabId;
38  updateSelected(tabId);
39});
40
41// Ensure the current selected tab is set up.
42chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
43  updateAddress(tabs[0].id);
44});
45