Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: chrome/content/task_test_ui.js

Issue 10233013: Crawler, second version (Closed)
Patch Set: Created April 12, 2013, 1:38 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/content/sandbox_ui.js ('k') | chrome/locale/en-US/crawler.dtd » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/content/task_test_ui.js
===================================================================
new file mode 100644
--- /dev/null
+++ b/chrome/content/task_test_ui.js
@@ -0,0 +1,109 @@
+/*
+ * This Source Code is subject to the terms of the Mozilla Public License
+ * version 2.0 (the "License"). You can obtain a copy of the License at
+ * http://mozilla.org/MPL/2.0/.
+ */
+
+var {Long_Task} = require( "task" );
+var {Counting_Task} = require( "counter_task" );
+let {Logger} = require( "logger" );
+
+var current_task = null;
+
+function update_status( s, perform_log )
+{
+ var status_field = document.getElementById( "task_status" );
+ if ( status_field.childNodes.length > 0 )
+ {
+ status_field.removeChild( status_field.childNodes[0] );
+ }
+ status_field.appendChild( document.createTextNode( s ) );
+ if ( arguments.length >= 2 && perform_log )
+ {
+ log( s );
+ }
+}
+
+function update_button( b )
+{
+ var button = document.getElementById( "task_go" );
+ if ( b )
+ {
+ button.label = "Cancel"
+ } else
+ {
+ button.label = "Start"
+ }
+
+}
+
+function task_finished()
+{
+ if ( current_task.cancelled )
+ {
+ var status = "Cancelled";
+ }
+ else
+ {
+ status = "Finished";
+ }
+ update_status( status );
+ update_button( false );
+ current_task = null;
+}
+
+function task_count( n )
+{
+ update_status( "Count " + n, false );
+}
+
+/*
+ * We're overloading the start button also to handle cancellation.
+ */
+function task_start_click()
+{
+ if ( !current_task )
+ {
+ log( "Clicked start" );
+ if ( !Counting_Task )
+ {
+ log( "No Counting_Task" );
+ }
+ if ( !Long_Task )
+ {
+ log( "No Long_Task" );
+ }
+ log( "require counter_task: " + require( "counter_task" ).toString() );
+
+ let count = document.getElementById( "task_count" ).value;
+ let limit = document.getElementById( "task_limit" ).value;
+ var variant;
+ switch ( document.getElementById( "counting_variant" ).selectedIndex )
+ {
+ case 0:
+ variant = { type: "continuous" };
+ break;
+ case 1:
+ variant = { type: "segmented fast" };
+ break;
+ case 2:
+ variant = { type: "segmented slow", interval: document.getElementById( "slow_interval" ).value};
+ break;
+ default:
+ log( "Unknown variant. This is an implementation defect." );
+ throw "bad variant";
+ }
+ current_task = new Long_Task( new Counting_Task( count, task_count, task_finished, variant ), false, limit );
+ update_status( "Started" );
+ update_button( true );
+ current_task.run();
+ }
+ else
+ {
+ current_task.cancel();
+ update_button( false );
+ // We have a running task, so cancel it.
+ }
+}
+
+var log = (new Logger( "task_ui" )).make_log();
« no previous file with comments | « chrome/content/sandbox_ui.js ('k') | chrome/locale/en-US/crawler.dtd » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld