OLD | NEW |
(Empty) | |
| 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 var id1 = "iamefpfkojoapidjnbafmgkgncegbkad"; |
| 6 var id2 = "pjpgmfcmabopnnfonnhmdjglfpjjfkbf"; |
| 7 |
| 8 var events = []; |
| 9 |
| 10 var step = 0; |
| 11 |
| 12 var step1_seq = ["install" + id1, "enable" + id1]; |
| 13 var step2_seq = ["install" + id2, "disable" + id1, "enable" + id2]; |
| 14 |
| 15 function arrayEquals(arr1, arr2) { |
| 16 if (arr1.length != arr2.length) { |
| 17 return false; |
| 18 } |
| 19 for (var i = 0; i < arr1.length; i++) { |
| 20 if (arr1[i] != arr2[i]) { |
| 21 return false; |
| 22 } |
| 23 } |
| 24 return true; |
| 25 } |
| 26 |
| 27 function maybeSendMessage() { |
| 28 if (step == 0 && arrayEquals(events, step1_seq)) { |
| 29 step = 1; |
| 30 events = []; |
| 31 chrome.test.sendMessage("step1"); |
| 32 return; |
| 33 } else if (step == 1 && arrayEquals(events, step2_seq)) { |
| 34 step = 2; |
| 35 events = []; |
| 36 chrome.test.sendMessage("step2"); |
| 37 return; |
| 38 } |
| 39 } |
| 40 |
| 41 function makeListener(event_type) { |
| 42 return function(info) { |
| 43 console.log(event_type + " " + JSON.stringify(info)); |
| 44 if (!info.isTheme) { |
| 45 return; |
| 46 } |
| 47 events.push(event_type + info.id); |
| 48 maybeSendMessage(); |
| 49 }; |
| 50 } |
| 51 |
| 52 |
| 53 chrome.management.onInstalled.addListener(makeListener("install")); |
| 54 chrome.management.onEnabled.addListener(makeListener("enable")); |
| 55 chrome.management.onDisabled.addListener(makeListener("disable")); |
| 56 chrome.test.sendMessage("ready"); |
OLD | NEW |