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

Unified Diff: chrome/content/crawler.js

Issue 8402021: Crawler frontend (Closed)
Patch Set: Created Sept. 21, 2012, 1:16 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
Index: chrome/content/crawler.js
===================================================================
new file mode 100644
--- /dev/null
+++ b/chrome/content/crawler.js
@@ -0,0 +1,62 @@
+/*
+ * 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/.
+ */
+
Wladimir Palant 2012/09/21 15:36:18 Site-note: I don't think that this manual UI will
+const Cu = Components.utils;
+
+Cu.import("resource://gre/modules/Services.jsm");
+
+let crawling = false;
+
+function require(module)
+{
+ let result = {};
+ result.wrappedJSObject = result;
+ Services.obs.notifyObservers(result, "abpcrawler-require", module);
+ return result.exports;
+}
+
+let {Crawler} = require("crawler");
+
+function onUnload()
+{
+ const fields = ["backend-url", "parallel-tabs"];
+ fields.forEach(function(field)
+ {
+ let control = document.getElementById(field);
+ control.setAttribute("value", control.value);
Wladimir Palant 2012/09/21 15:36:18 Are you trying to make the field values persist? U
+ });
+}
+
+function onClose()
+{
+ return !crawling;
Wladimir Palant 2012/09/21 15:36:18 Maybe show a message why the window cannot be clos
+}
+
+function getBackendUrl()
+{
+ let backendUrlTextBox = document.getElementById("backend-url");
+ return backendUrlTextBox.value;
+}
+
+function getParallelTabs()
+{
+ let parallelTabsTextBox = document.getElementById("parallel-tabs");
+ return parseInt(parallelTabsTextBox.value);
+}
+
+function onAccept()
+{
+ let backendUrl = getBackendUrl();
+ let parallelTabs = getParallelTabs();
+ let dialog = document.getElementById("abpcrawler-crawler");
Wladimir Palant 2012/09/21 15:36:18 How about using document.documentElement here?
+ let acceptButton = dialog.getButton("accept");
+ crawling = acceptButton.disabled = true;
+ Crawler.crawl(backendUrl, parallelTabs, window.opener, function()
Wladimir Palant 2012/09/21 15:36:18 Of course we could have the condition that window.
+ {
+ crawling = acceptButton.disabled = false;
+ });
+ return false;
+}
« no previous file with comments | « chrome.manifest ('k') | chrome/content/crawler.xul » ('j') | chrome/content/crawler.xul » ('J')

Powered by Google App Engine
This is Rietveld