Home | History | Annotate | Download | only in mappy
      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.
      6 var addresses = {};
      7 var selectedAddress = null;
      8 var selectedId = null;
      9 
     10 function 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 
     24 function updateSelected(tabId) {
     25   selectedAddress = addresses[tabId];
     26   if (selectedAddress)
     27     chrome.pageAction.setTitle({tabId:tabId, title:selectedAddress});
     28 }
     29 
     30 chrome.tabs.onUpdated.addListener(function(tabId, change, tab) {
     31   if (change.status == "complete") {
     32     updateAddress(tabId);
     33   }
     34 });
     35 
     36 chrome.tabs.onSelectionChanged.addListener(function(tabId, info) {
     37   selectedId = tabId;
     38   updateSelected(tabId);
     39 });
     40 
     41 // Ensure the current selected tab is set up.
     42 chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
     43   updateAddress(tabs[0].id);
     44 });
     45