Index: chrome/browser/resources/backloader/scripts/background.js |
diff --git a/chrome/browser/resources/backloader/scripts/background.js b/chrome/browser/resources/backloader/scripts/background.js |
deleted file mode 100644 |
index 451702e50c5678a86c3c4515412907c8f00838d3..0000000000000000000000000000000000000000 |
--- a/chrome/browser/resources/backloader/scripts/background.js |
+++ /dev/null |
@@ -1,145 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-function Loader(pages) { |
- this.pages_ = pages; |
- this.pagesLoaded_ = false; |
- this.loadedCount_ = false; |
-} |
- |
-// Global instance. |
-Loader.instance_ = null; |
- |
-// static. |
-Loader.getInstance = function() { |
- if (!Loader.instance_) { |
- if (!g_pages) |
- console.log('Warning: Undefined g_pages.'); |
- Loader.instance_ = new Loader(g_pages); |
- } |
- |
- return Loader.instance_; |
-}; |
- |
-Loader.prototype = { |
- // Alarm name. |
- ALARM_NAME: 'CrOSBkgLoaderAlarm', |
- |
- // Initial delay. |
- DELAY_IN_MINUTES: 1, |
- |
- // Periodic wakeup delay. |
- PERIOD_IN_MINUTES: 60, |
- |
- // Delayed closing of the background page once when all iframes are loaded. |
- maxDelayMS_: 10000, |
- |
- // Loader start up. Kicks off alarm initialization if needed. |
- initialize: function() { |
- if (!g_pages || !g_pages.length) { |
- window.close(); |
- return; |
- } |
- |
- chrome.alarms.onAlarm.addListener(this.onAlarm_.bind(this)); |
- // Check if this alarm already exists, if not then create it. |
- chrome.alarms.get(this.ALARM_NAME, function(alarm) { |
- if (!alarm) { |
- chrome.alarms.create(this.ALARM_NAME, |
- {delayInMinutes: this.DELAY_IN_MINUTES}); |
- window.close(); |
- return; |
- } |
- }.bind(this)); |
- }, |
- |
- onAlarm_: function(alarm) { |
- if (alarm.name != this.ALARM_NAME) |
- return; |
- |
- this.preparePages_(); |
- }, |
- |
- onMessage_: function(event) { |
- var msg = event.data; |
- if (msg.method == 'validate') { |
- var replyMsg = { |
- method: 'validationResults', |
- os: 'ChromeOS' |
- }; |
- event.source.postMessage(replyMsg, event.origin); |
- } else { |
- console.log('#### Loader.onMessage_: unknown message'); |
- } |
- }, |
- |
- // Find an extension in the |list| with matching extension |id|. |
- getExtensionById_: function(list, id) { |
- for (var i = 0; i < list.length; i++) { |
- if (list[i].id == id) |
- return list[i]; |
- } |
- return null; |
- }, |
- |
- preparePages_: function() { |
- if (this.pagesLoaded_) |
- return; |
- |
- window.addEventListener('message', this.onMessage_.bind(this), false); |
- chrome.management.getAll(function(list) { |
- // Get total count first. |
- var pagesToLoad = []; |
- for (var i = 0; i < this.pages_.length; i++) { |
- var page = this.pages_[i]; |
- if (page.oneTime && page.initialized) |
- continue; |
- |
- var extension = this.getExtensionById_(list, page.extensionId); |
- if (!extension || !extension.enabled) { |
- page.initialized = true; |
- continue; |
- } |
- |
- page.initialized = true; |
- if (page.unloadDelayMS > this.maxDelayMS_) |
- this.maxDelayMS_ = page.unloadDelayMS; |
- |
- pagesToLoad.push(page); |
- } |
- this.loadFrames_(pagesToLoad); |
- this.pagesLoaded_ = true; |
- }.bind(this)); |
- }, |
- |
- loadFrames_: function(pages) { |
- this.load_target_ = pages.length; |
- for (var i = 0; i < pages.length; i++) { |
- this.loadLuncherFrame_(i, pages[i].pageUrl); |
- } |
- }, |
- |
- incrementLoadCounter_: function() { |
- this.loadedCount_++; |
- if (this.loadedCount_ < this.load_target_) |
- return; |
- |
- // Delay closing. |
- setInterval(function() { |
- window.close(); |
- }.bind(this), this.maxDelayMS_); |
- }, |
- |
- loadLuncherFrame_: function(index, pageUrl) { |
- var iframe = document.createElement('iframe'); |
- iframe.onload = function() { |
- this.incrementLoadCounter_(); |
- }.bind(this); |
- iframe.src = pageUrl; |
- iframe.name = 'frame_' + index; |
- document.body.appendChild(iframe); |
- } |
-}; |
- |
-Loader.getInstance().initialize(); |