Index: chrome/browser/resources/task_manager/includes.js |
diff --git a/chrome/browser/resources/task_manager/includes.js b/chrome/browser/resources/task_manager/includes.js |
index 75708b12c5929a0de7e0b4302400072f983d8e16..eee0d456715109a7d9f9f169b32bb44e25555488 100644 |
--- a/chrome/browser/resources/task_manager/includes.js |
+++ b/chrome/browser/resources/task_manager/includes.js |
@@ -39,7 +39,9 @@ var script = [ |
'cr/ui/table.js', |
'cr/ui/grid.js', |
+]; |
+var scriptDelayed = [ |
'cr/ui/command.js', |
'cr/ui/position_util.js', |
'cr/ui/menu_item.js', |
@@ -47,6 +49,8 @@ var script = [ |
'cr/ui/context_menu_handler.js', |
]; |
+var loadDelayedIncludes; |
+ |
(function() { |
// Switch to 'test harness' mode when loading from a file url. |
var isHarness = document.location.protocol == 'file:'; |
@@ -54,13 +58,33 @@ var script = [ |
// In test harness mode we load resources from relative dirs. |
var prefix = isHarness ? './shared/' : 'chrome://resources/'; |
- for (var i = 0; i < css.length; ++i) { |
+ for (var i = 0; i < css.length; i++) { |
document.write('<link href="' + prefix + 'css/' + css[i] + |
'" rel="stylesheet"></link>'); |
} |
- for (var i = 0; i < script.length; ++i) { |
+ for (var i = 0; i < script.length; i++) { |
document.write('<script src="' + prefix + 'js/' + script[i] + |
'"><\/script>'); |
} |
+ |
+ /** |
+ * Loads delayed scripts. |
+ * This function is called by TaskManager::initalize() in main.js. |
+ */ |
+ loadDelayedIncludes = function(taskmanager) { |
+ // Number of remaining scripts to load. |
+ var remain = scriptDelayed.length; |
+ |
+ // Waits for initialization of task manager. |
+ for (var i = 0; i < scriptDelayed.length; i++) { |
+ var s = document.createElement('script'); |
+ s.onload = function(e) { |
+ if (!--remain) |
+ taskmanager.delayedInitialize(); |
+ }; |
+ s.src = prefix + 'js/' + scriptDelayed[i]; |
+ document.head.appendChild(s); |
+ } |
+ }; |
})(); |