[Pkg-mozext-commits] [adblock-plus] 26/87: Issue 3761 - Don't clear user input when filter validation failed
David Prévot
taffit at moszumanska.debian.org
Sat Apr 30 17:59:04 UTC 2016
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository adblock-plus.
commit 307985257c92dbd0d4a0f79970479ccc032dfa50
Author: Sebastian Noack <sebastian at adblockplus.org>
Date: Wed Mar 9 09:14:47 2016 +0100
Issue 3761 - Don't clear user input when filter validation failed
---
messageResponder.js | 8 ++++----
options.js | 31 ++++++++++++++++++++++---------
2 files changed, 26 insertions(+), 13 deletions(-)
diff --git a/messageResponder.js b/messageResponder.js
index eefeb10..024830b 100644
--- a/messageResponder.js
+++ b/messageResponder.js
@@ -184,10 +184,12 @@
break;
case "filters.add":
var result = require("filterValidation").parseFilter(message.text);
+ var errors = [];
if (result.error)
- sendMessage("app", "error", [result.error.toString()], sender.page);
+ errors.push(result.error.toString());
else if (result.filter)
FilterStorage.addFilter(result.filter);
+ callback(errors);
break;
case "filters.blocked":
var filter = defaultMatcher.matchesAny(message.url, message.requestType,
@@ -237,11 +239,9 @@
errors.push(error.toString());
}
+ callback(errors);
if (errors.length > 0)
- {
- sendMessage("app", "error", errors, sender.page);
return;
- }
var seenFilter = Object.create(null);
for (var i = 0; i < result.filters.length; i++)
diff --git a/options.js b/options.js
index 53000f3..9352887 100644
--- a/options.js
+++ b/options.js
@@ -517,6 +517,17 @@
return null;
}
+ function sendMessageHandleErrors(message, onSuccess)
+ {
+ ext.backgroundPage.sendMessage(message, function(errors)
+ {
+ if (errors.length > 0)
+ alert(errors.join("\n"));
+ else if (onSuccess)
+ onSuccess();
+ });
+ }
+
function onClick(e)
{
var context = document.querySelector(".show-context-menu");
@@ -577,12 +588,15 @@
openDialog(element.getAttribute("data-dialog"));
break;
case "save-custom-filters":
- ext.backgroundPage.sendMessage(
+ sendMessageHandleErrors(
{
type: "filters.importRaw",
text: E("custom-filters-raw").value
+ },
+ function()
+ {
+ E("custom-filters").classList.remove("mode-edit");
});
- E("custom-filters").classList.remove("mode-edit");
break;
case "switch-tab":
document.body.setAttribute("data-tab",
@@ -682,12 +696,15 @@
function addCustomFilters()
{
var filterText = filterTextbox.value;
- ext.backgroundPage.sendMessage(
+ sendMessageHandleErrors(
{
type: "filters.add",
text: filterText
+ },
+ function()
+ {
+ filterTextbox.value = "";
});
- filterTextbox.value = "";
}
E("custom-filters-add").addEventListener("submit", function(e)
{
@@ -807,7 +824,7 @@
var domain = E("whitelisting-textbox");
if (domain.value)
{
- ext.backgroundPage.sendMessage(
+ sendMessageHandleErrors(
{
type: "filters.add",
text: "@@||" + domain.value.toLowerCase() + "^$document"
@@ -993,10 +1010,6 @@
dialog.querySelector(".url").textContent = subscription.url;
openDialog("predefined");
}
- else if (message.action == "error")
- {
- alert(message.args.join("\n"));
- }
break;
case "filters.listen":
onFilterMessage(message.action, message.args[0]);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/adblock-plus.git
More information about the Pkg-mozext-commits
mailing list