aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Trevor Elliott <trevor@galois.com>2013-06-13 11:12:38 -0700
committerGravatar Trevor Elliott <trevor@galois.com>2013-06-13 11:12:38 -0700
commit2243f840e7562022fe0f3c711d8b41f8550c69d2 (patch)
tree5f5ff1079e06ea965421dbb8e2cd151dfcf57ae2 /src
parentf56fe8d4e4b3a062951f687c71b54945802545c1 (diff)
Remove url-pat.js
Diffstat (limited to 'src')
-rw-r--r--src/js/firefox/build.mk2
-rw-r--r--src/js/fiveui/js/options.js55
-rw-r--r--src/js/fiveui/js/settings.js2
-rw-r--r--src/js/fiveui/js/update-manager.js14
-rw-r--r--src/js/fiveui/js/url-pat.js140
-rw-r--r--src/js/fiveui/js/utils.js13
-rw-r--r--src/js/fiveui/options.html1
-rw-r--r--src/js/tests/PhantomJSJasmineRunner.html1
-rw-r--r--src/js/tests/SpecRunner.html1
-rw-r--r--src/js/tests/build.mk2
10 files changed, 19 insertions, 212 deletions
diff --git a/src/js/firefox/build.mk b/src/js/firefox/build.mk
index 1807a45..0a20a80 100644
--- a/src/js/firefox/build.mk
+++ b/src/js/firefox/build.mk
@@ -58,8 +58,6 @@ quiet_cmd_compilejs = JSC $(call drop-prefix,$@)
$(firefox-build)/data/main.js: \
$(firefox-dir)/lib/main.js \
$(fiveui-dir)/js/set.js \
- $(fiveui-dir)/js/url-pat.js \
- $(fiveui-dir)/js/url-pat.js \
$(fiveui-dir)/js/settings.js \
$(fiveui-dir)/js/messenger.js \
$(fiveui-dir)/js/state.js \
diff --git a/src/js/fiveui/js/options.js b/src/js/fiveui/js/options.js
index 598649f..2a4f00e 100644
--- a/src/js/fiveui/js/options.js
+++ b/src/js/fiveui/js/options.js
@@ -62,50 +62,6 @@ fiveui.options.init = function(port) {
var update = new fiveui.UpdateManager(msg);
ruleSets = new fiveui.RuleSets([], { url: msg });
- urlPats = new fiveui.UrlPats([], { url: msg });
-
-
- /** UrlPat list entries ****************************************************/
-
- var urlPatEntries = jQuery('#urlPatEntries');
- var addUrlPat = jQuery('#addUrlPat');
-
- addUrlPat.prop('disabled', true);
-
- addUrlPat.on('click', function() {
- urlPats.add(new fiveui.UrlPatModel({}, { url : msg }));
- });
-
- // when a new rule set is sync'd, make sure that the add url pattern button is
- // enabled.
- ruleSets.on('sync', function() {
- if(ruleSets.length > 0) {
- addUrlPat.prop('disabled', false);
- }
- });
-
- // when a rule set is destroyed, and the collection is now empty, disable the
- // add url pattern button.
- ruleSets.on('destroy', function(model,col) {
- if(col.length <= 0) {
- addUrlPat.prop('disabled', true);
- }
- });
-
- // handle new url patterns being added to the collection.
- urlPats.on('add', function(model) {
- var view = new fiveui.UrlPatEntry({
- model: model,
- rules: new fiveui.RulesView({ model: ruleSets })
- });
- urlPatEntries.append(view.$el);
-
- if(model.isNew()) {
- view.edit();
- } else {
- view.render();
- }
- });
/** RuleSet list entries ***************************************************/
@@ -129,7 +85,6 @@ fiveui.options.init = function(port) {
if(model.isNew()) {
entry.edit();
} else {
- addUrlPat.prop('disabled', false);
entry.render();
}
});
@@ -198,7 +153,7 @@ fiveui.options.init = function(port) {
setClickHandler(jQuery('#rule-sets'), select('#tab-rule-sets'));
setClickHandler(jQuery('#basics'), select('#tab-basics'));
- // select the url patterns tab by default
+ // select the rule sets tab
selectNav(jQuery('#rule-sets'));
selectSection(jQuery('#tab-rule-sets'));
@@ -209,12 +164,8 @@ fiveui.options.init = function(port) {
jQuery('#windowDisplayDefault').prop('checked', def);
});
- // pre-populate the rule set and url pattern lists
- ruleSets.fetch({
- success:function() {
- urlPats.fetch();
- }
- });
+ // pre-populate the rule sets
+ ruleSets.fetch();
};
diff --git a/src/js/fiveui/js/settings.js b/src/js/fiveui/js/settings.js
index 96ec864..15ccf1b 100644
--- a/src/js/fiveui/js/settings.js
+++ b/src/js/fiveui/js/settings.js
@@ -200,7 +200,7 @@ _.extend(fiveui.Settings.prototype, {
return _.find(this.getRuleSets(), function(rs) {
var pat = _.find(rs.patterns, function(pat) {
- var regex = fiveui.UrlPat.compile(pat);
+ var regex = fiveui.utils.compilePattern(pat);
return regex.test(url);
});
diff --git a/src/js/fiveui/js/update-manager.js b/src/js/fiveui/js/update-manager.js
index 8013d2f..d134c0d 100644
--- a/src/js/fiveui/js/update-manager.js
+++ b/src/js/fiveui/js/update-manager.js
@@ -28,20 +28,6 @@ fiveui.UpdateManager = function(msg) {
// fired when the rule set gets updated
msg.register('updateRuleSet', function(newRuleSet) {
manager.trigger('updateRuleSet.' + newRuleSet.id, false, newRuleSet);
-
- // update the associated url patterns
- msg.send('getRuleSetPatIds', null, function(patIds) {
- _.each(patIds, function(patId) {
- manager.trigger('updateUrlPat.' + patId);
- });
- });
- });
-
- // fired when the url pat gets removed
- msg.register('remUrlPat', function(id) {
- var evt = 'remUrlPat.' + id;
- manager.trigger(evt);
- manager.off(evt);
});
};
diff --git a/src/js/fiveui/js/url-pat.js b/src/js/fiveui/js/url-pat.js
deleted file mode 100644
index d723021..0000000
--- a/src/js/fiveui/js/url-pat.js
+++ /dev/null
@@ -1,140 +0,0 @@
-
-(function() {
-
-/**
- * Create a new Url Pattern to map urls to Rule Sets.
- *
- * @constructor
- * @param {!number} id New id for this UrlPat.
- * @param {!string} regex The pattern that is used to match Urls.
- * @param {!number} rule_id Unique id of the RuleSet to use for matching URLs.
- */
-fiveui.UrlPat = function(id, regex, rule_id) {
- this.id = id;
- this.regex = regex;
- this.rule_id = rule_id;
-};
-
-/**
- * Create a Url Pattern from a JSON object.
- *
- * @param {!number} id The id to use for the restored object.
- * @param {!Object} obj The object to take settings from.
- * @return {!fiveui.UrlPat} A populated UrlPat object.
- */
-fiveui.UrlPat.fromJSON = function(id, obj) {
- return new fiveui.UrlPat(id, obj.regex, obj.rule_id);
-};
-
-/**
- * Create a regular expression from a globbed pattern.
- *
- * @param {!string} str The globbed url.
- * @return {!RegExp} A compiled regular expression.
- */
-fiveui.UrlPat.compile = function(str) {
- var regex = str.replace(/\./g, '\.')
- .replace(/\*/g, '.*');
- return new RegExp(regex);
-};
-
-/**
- * Test a string Url against the regular expression held in a Url Pattern.
- *
- * @param {!string} url The Url the string to test.
- * @return {!boolean} If the Url matched the regular expression.
- */
-fiveui.UrlPat.prototype.match = function(url) {
- var pat = fiveui.UrlPat.compile(this.regex);
- return pat.test(url);
-};
-
-
-
-fiveui.UrlPatModel = Backbone.Model.extend({
-
- defaults: {
- id: null,
- regex: '',
- rule_id: null,
- },
-
- sync:function(method, model, options) {
- _.defaults(options, {
- success:function() {},
- error:function() {}
- });
-
- var msg = model.url;
- var id = model.get('id');
-
- switch(method) {
- case 'read':
- msg.send('getUrlPat', id, function(pat) {
- model.set(pat);
- options.success();
- });
- break;
-
- case 'update':
- msg.send('updateUrlPat', _.clone(model.attributes), options.success);
- break;
-
- case 'create':
- msg.send('addUrlPat', _.clone(model.attributes), options.success);
- break;
-
- case 'delete':
- msg.send('remUrlPat', id, function(res) {
- if(res) {
- options.success({});
- } else {
- options.error({});
- }
- });
- break;
- }
- }
-
-}, {
-
- fromUrlPat: function(pat, msg) {
- return new fiveui.UrlPatModel({
- id: pat.id,
- regex: pat.regex,
- rule_id: pat.rule_id
- }, { url : msg });
- }
-
-});
-
-
-fiveui.UrlPats = Backbone.Collection.extend({
-
- model: fiveui.UrlPatModel,
-
- sync:function(method, collection, options) {
-
- _.defaults(options, {
- success:function() {},
- error:function() {}
- });
-
- var msg = this.url;
-
- switch(method) {
-
- case 'read':
- msg.send('getUrlPats', null, function(pats) {
- options.success(_.map(pats, function(pat) {
- return fiveui.UrlPatModel.fromUrlPat(pat, msg);
- }));
- });
- break;
- }
-
- }
-
-});
-
-})();
diff --git a/src/js/fiveui/js/utils.js b/src/js/fiveui/js/utils.js
index 0ab3128..204d961 100644
--- a/src/js/fiveui/js/utils.js
+++ b/src/js/fiveui/js/utils.js
@@ -76,6 +76,19 @@ fiveui.utils.getNewId = function(list) {
/**
+ * Create a regular expression from a globbed pattern.
+ *
+ * @param {!string} str The globbed url.
+ * @return {!RegExp} A compiled regular expression.
+ */
+fiveui.utils.compilePattern = function(str) {
+ var regex = str.replace(/\./g, '\.')
+ .replace(/\*/g, '.*');
+ return new RegExp(regex);
+};
+
+
+/**
* Remove c-style comments
*
* There's probably a faster way to do this.
diff --git a/src/js/fiveui/options.html b/src/js/fiveui/options.html
index 0115368..1d07eb1 100644
--- a/src/js/fiveui/options.html
+++ b/src/js/fiveui/options.html
@@ -39,7 +39,6 @@
<script src="js/update-manager.js"></script>
<script src="js/utils.js"></script>
<script src="js/rules.js"></script>
- <script src="js/url-pat.js"></script>
<script src="js/platform-ajax.js"></script>
<script src="js/platform-options.js"></script>
</head>
diff --git a/src/js/tests/PhantomJSJasmineRunner.html b/src/js/tests/PhantomJSJasmineRunner.html
index e8e07e6..606a251 100644
--- a/src/js/tests/PhantomJSJasmineRunner.html
+++ b/src/js/tests/PhantomJSJasmineRunner.html
@@ -23,7 +23,6 @@
<script type="text/javascript" src="../fiveui/js/chan.js"></script>
<script type="text/javascript" src="../fiveui/js/rules.js"></script>
<script type="text/javascript" src="../fiveui/js/messenger.js"></script>
- <script type="text/javascript" src="../fiveui/js/url-pat.js"></script>
<script type="text/javascript" src="../fiveui/js/settings.js"></script>
<script type="text/javascript" src="../fiveui/js/state.js"></script>
<script type="text/javascript" src="../fiveui/injected/prelude.js"></script>
diff --git a/src/js/tests/SpecRunner.html b/src/js/tests/SpecRunner.html
index 3469bfd..606967e 100644
--- a/src/js/tests/SpecRunner.html
+++ b/src/js/tests/SpecRunner.html
@@ -21,7 +21,6 @@
<script type="text/javascript" src="../fiveui/js/chan.js"></script>
<script type="text/javascript" src="../fiveui/js/rules.js"></script>
<script type="text/javascript" src="../fiveui/js/messenger.js"></script>
- <script type="text/javascript" src="../fiveui/js/url-pat.js"></script>
<script type="text/javascript" src="../fiveui/js/settings.js"></script>
<script type="text/javascript" src="../fiveui/js/state.js"></script>
<script type="text/javascript" src="../fiveui/injected/prelude.js"></script>
diff --git a/src/js/tests/build.mk b/src/js/tests/build.mk
index 3ab79c0..8facda7 100644
--- a/src/js/tests/build.mk
+++ b/src/js/tests/build.mk
@@ -12,6 +12,8 @@ $(call strict-error,"phantomjs not found: unable to run javascript tests")
else
test: test-js
+
+.PHONY: test-js
test-js:
cd $(topdir)/src/js && $(phantomjs-cmd) \
lib/phantomjs_jasmine/phantomjs_jasminexml_runner.js \