2 * Copyright (c) 2011 The Chromium Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file.
10 var iconFlashTimer = null;
12 var HOUR_MS = 1000 * 60 * 60;
14 // Override from common.js
15 window.stopFlashingIcon = function() {
16 window.clearTimeout(iconFlashTimer);
17 chrome.browserAction.setIcon({'path': 'clock-19.png'});
20 // Override from common.js
21 window.flashIcon = function() {
29 if (flashes % 2 == 0) {
30 chrome.browserAction.setIcon({'path': 'clock-highlighted-19.png'});
32 chrome.browserAction.setIcon({'path': 'clock-19.png'});
35 iconFlashTimer = window.setTimeout(flash, 500);
40 function setTimer(alarmHours, alarmMinutes) {
41 var alarmTime = (alarmHours * 60 + alarmMinutes) * 60 * 1000;
43 var now = d.getHours() * HOUR_MS +
44 d.getMinutes() * 60 * 1000 +
45 d.getSeconds() * 1000;
46 var delta = (alarmTime - now);
48 if (delta >= -5000 && delta < 1000) {
49 ringAlarm(alarmHours, alarmMinutes);
51 port.postMessage({'cmd': 'anim'});
57 delta += HOUR_MS * 24;
60 if (delta > HOUR_MS) {
63 console.log('Timer set for ' + delta + ' ms');
64 return window.setTimeout(resetTimers, delta);
70 function resetTimers() {
72 window.clearTimeout(a1Timer);
76 var a1_on = (localStorage['a1_on'] == 'true');
77 var a1_tt = localStorage['a1_tt'] || DEFAULT_A1_TT;
78 var a1_ampm = localStorage['a1_ampm'] || DEFAULT_A1_AMPM;
80 var alarmHoursMinutes = parseTime(a1_tt, a1_ampm);
81 var alarmHours = alarmHoursMinutes[0];
82 var alarmMinutes = alarmHoursMinutes[1];
83 a1Timer = setTimer(alarmHours, alarmMinutes);
90 var a2_on = (localStorage['a2_on'] == 'true');
91 var a2_tt = localStorage['a2_tt'] || DEFAULT_A2_TT;
92 var a2_ampm = localStorage['a2_ampm'] || DEFAULT_A2_AMPM;
94 var alarmHoursMinutes = parseTime(a2_tt, a2_ampm);
95 var alarmHours = alarmHoursMinutes[0];
96 var alarmMinutes = alarmHoursMinutes[1];
97 a2Timer = setTimer(alarmHours, alarmMinutes);
103 if (a1_on || a2_on) {
104 chrome.browserAction.setIcon({'path': 'clock-19.png'});
106 chrome.browserAction.setIcon({'path': 'clock-disabled-19.png'});
110 function onLocalStorageChange() {
114 function initBackground() {
115 window.addEventListener('storage', onLocalStorageChange, false);
117 chrome.runtime.onConnect.addListener(function(popupPort) {
119 port.onDisconnect.addListener(function() {