Есть расщепление chrome, написанное на AngularJS. Нужно менять иконку на панеле, в зависимости от данных в переменной item.weather[0].icon, где название иконки содержится в item.weather[0].icon.
chrome.browserAction.setIcon({ path: "icons/13d.png"});
Конструкция типа
chrome.browserAction.setIcon({ path: "icons/{item.weather[0].icon}.png" });
не срабатывает.
chrome.alarms.onAlarm.addListener(function( alarm ) {
  // события по будильнику.
  console.log("Got an alarm!");
   alert('great1');
   chrome.browserAction.setIcon({ path: "icons/13d.png" });
   chrome.alarms.create({'delayInMinutes': 1});
   location.reload();
});
// создаем будильник
chrome.alarms.create({'delayInMinutes': 1});
Также, по хорошему этот background скрипт надо сделать на AngularJS, но там даже вывод не работает:
(function(angular){
      'use strict';
    angular.module('backskrip',[]).controller('BackController',['$scope',function($scope){
    chrome.alarms.onAlarm.addListener(function(alarm) {
      // события по будильнику.
       console.log("Got an alarm!");
       alert('great1');
       chrome.browserAction.setIcon({ path: "icons/{{vm.data.list[0].weather[0].icon}}.png" });
       chrome.alarms.create({'delayInMinutes': 1});
       location.reload();
    });
    // создаем будильник
    chrome.alarms.create({'delayInMinutes': 1});
    }]);
    })(window.angular);