Index: client/site_tests/power_LoadTest/extension/background.html |
diff --git a/client/site_tests/power_LoadTest/extension/background.html b/client/site_tests/power_LoadTest/extension/background.html |
index e1316f9d7abb2f0264d5d6fed27097fc1785d165..cba4a6da23a2286a9b24cb124abb6368111eb64b 100755 |
--- a/client/site_tests/power_LoadTest/extension/background.html |
+++ b/client/site_tests/power_LoadTest/extension/background.html |
@@ -5,6 +5,19 @@ found in the LICENSE file. |
---> |
<html> |
+ |
+<script> |
+// Convert seconds to milliseconds |
+function seconds(s) { |
+ return s * 1000; |
+} |
+ |
+// Convert minutes to milliseconds |
+function minutes(m) { |
+ return seconds(m * 60); |
+} |
+</script> |
+ |
<script src='/urls.js'> |
</script> |
@@ -48,6 +61,47 @@ function testListener(request, sender, sendResponse) { |
} |
} |
+function parseTaskList(tasks_string) { |
+ if (tasks_string == '') |
+ return []; |
+ var task_strings = tasks_string.split('&'); |
+ task_strings_global = task_strings; |
Sameer Nanda
2011/03/31 23:42:22
seems like an unused variable? delete it.
Simon Que
2011/04/01 21:37:15
Done.
|
+ var task_list = []; |
+ var time = 0; |
+ |
+ // Parse each task. |
+ for (var i in task_strings) { |
+ // Extract task parameters. |
+ var params = task_strings[i].split(';'); |
+ var cmd = params[0]; |
+ var urls = params[1].split(','); |
+ var duration = minutes(parseInt(params[2])); |
+ if (params.length > 3) |
+ var delay = minutes(parseInt(params[3])); |
+ |
+ if (cmd == 'single') { |
+ task_list.push( { type: 'window', |
+ start: time, |
+ duration: duration, |
+ focus: true, |
+ tabs: urls } ); |
+ } |
+ else if (cmd == 'repeat') { |
+ task_list.push( { type: 'cycle', |
+ start: time, |
+ duration: duration, |
+ delay: delay, |
+ timeout: seconds(10), |
+ focus: true, |
+ urls: urls } ); |
+ } |
+ // Increment the time to determine the start time of the next task. |
+ time += delay; |
+ } |
+ return task_list; |
+} |
+ |
+var task_list = []; |
chrome.extension.onRequest.addListener( |
function paramsSetupListener(request, sender) { |
@@ -56,7 +110,8 @@ chrome.extension.onRequest.addListener( |
undefined != request._should_scroll_up && |
undefined != request._scroll_loop && |
undefined != request._scroll_interval_ms && |
- undefined != request._scroll_by_pixels) { |
+ undefined != request._scroll_by_pixels && |
+ undefined != request._tasks) { |
// Update test parameters from content script. |
test_time_ms = request._test_time_ms; |
should_scroll = request._should_scroll; |
@@ -64,6 +119,9 @@ chrome.extension.onRequest.addListener( |
scroll_loop = request._scroll_loop; |
scroll_interval_ms = request._scroll_interval_ms; |
scroll_by_pixels = request._scroll_by_pixels; |
+ task_list = parseTaskList(request._tasks); |
+ if (task_list.length != 0) |
+ tasks = task_list; |
time_ratio = 3600 * 1000 / test_time_ms; // default test time is 1 hour |
chrome.extension.onRequest.removeListener(paramsSetupListener); |
chrome.extension.onRequest.addListener(testListener); |