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

Side by Side Diff: options.js

Issue 5655474749833216: Issue 2658 - Got rid of try..catch for filter validation (Closed)
Patch Set: Created June 7, 2015, 2:47 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-2015 Eyeo GmbH 3 * Copyright (C) 2006-2015 Eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 var filterText = "@@||" + domain + "^$document"; 464 var filterText = "@@||" + domain + "^$document";
465 FilterStorage.addFilter(Filter.fromText(filterText)); 465 FilterStorage.addFilter(Filter.fromText(filterText));
466 } 466 }
467 467
468 // Adds filter text that user typed to the selection box 468 // Adds filter text that user typed to the selection box
469 function addTypedFilter(event) 469 function addTypedFilter(event)
470 { 470 {
471 event.preventDefault(); 471 event.preventDefault();
472 472
473 var element = document.getElementById("newFilter"); 473 var element = document.getElementById("newFilter");
474 var filter; 474 var result = parseFilter(element.value);
475 475
476 try 476 if (result.error)
477 { 477 {
478 filter = parseFilter(element.value); 478 alert(result.error);
479 }
480 catch (error)
481 {
482 alert(error);
483 return; 479 return;
484 } 480 }
485 481
486 if (filter) 482 if (result.filter)
487 FilterStorage.addFilter(filter); 483 FilterStorage.addFilter(result.filter);
488 484
489 element.value = ""; 485 element.value = "";
490 } 486 }
491 487
492 // Removes currently selected whitelisted domains 488 // Removes currently selected whitelisted domains
493 function removeSelectedExcludedDomain(event) 489 function removeSelectedExcludedDomain(event)
494 { 490 {
495 event.preventDefault(); 491 event.preventDefault();
496 var excludedDomainsBox = document.getElementById("excludedDomainsBox"); 492 var excludedDomainsBox = document.getElementById("excludedDomainsBox");
497 var remove = []; 493 var remove = [];
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
534 for (var i = 0; i < userFiltersBox.length; i++) 530 for (var i = 0; i < userFiltersBox.length; i++)
535 text += userFiltersBox.options[i].value + "\n"; 531 text += userFiltersBox.options[i].value + "\n";
536 document.getElementById("rawFiltersText").value = text; 532 document.getElementById("rawFiltersText").value = text;
537 } 533 }
538 } 534 }
539 535
540 // Imports filters in the raw text box 536 // Imports filters in the raw text box
541 function importRawFiltersText() 537 function importRawFiltersText()
542 { 538 {
543 var text = document.getElementById("rawFiltersText").value; 539 var text = document.getElementById("rawFiltersText").value;
540 var result = parseFilters(text, true);
544 541
545 var add; 542 if (result.error)
546 try
547 { 543 {
548 add = parseFilters(text, true); 544 alert(result.error);
549 }
550 catch (error)
551 {
552 alert(error);
553 return; 545 return;
554 } 546 }
555 547
556 var seenFilter = Object.create(null); 548 var seenFilter = Object.create(null);
557 for (var i = 0; i < add.length; i++) 549 for (var i = 0; i < result.filters.length; i++)
558 { 550 {
559 var filter = add[i]; 551 var filter = result.filters[i];
560 FilterStorage.addFilter(filter); 552 FilterStorage.addFilter(filter);
561 seenFilter[filter.text] = null; 553 seenFilter[filter.text] = null;
562 } 554 }
563 555
564 var remove = []; 556 var remove = [];
565 for (var i = 0; i < FilterStorage.subscriptions.length; i++) 557 for (var i = 0; i < FilterStorage.subscriptions.length; i++)
566 { 558 {
567 var subscription = FilterStorage.subscriptions[i]; 559 var subscription = FilterStorage.subscriptions[i];
568 if (!(subscription instanceof SpecialSubscription)) 560 if (!(subscription instanceof SpecialSubscription))
569 continue; 561 continue;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 links[i].href = arguments[i + 1]; 635 links[i].href = arguments[i + 1];
644 links[i].setAttribute("target", "_blank"); 636 links[i].setAttribute("target", "_blank");
645 } 637 }
646 else if (typeof arguments[i + 1] == "function") 638 else if (typeof arguments[i + 1] == "function")
647 { 639 {
648 links[i].href = "javascript:void(0);"; 640 links[i].href = "javascript:void(0);";
649 links[i].addEventListener("click", arguments[i + 1], false); 641 links[i].addEventListener("click", arguments[i + 1], false);
650 } 642 }
651 } 643 }
652 } 644 }
OLDNEW

Powered by Google App Engine
This is Rietveld