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

Delta Between Two Patch Sets: lib/abp2blocklist.js

Issue 29337803: Issue 3710 - Unify hostname logic (Closed)
Left Patch Set: Addressed feedback and considered crazy edge cases Created Feb. 27, 2016, 9:27 p.m.
Right Patch Set: Consider the case of | ending a hostname Created March 8, 2016, 12:34 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « abp2blocklist.js ('k') | no next file » | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
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-2016 Eyeo GmbH 3 * Copyright (C) 2006-2016 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 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 let canSafelyMatchAsLowercase = false; 85 let canSafelyMatchAsLowercase = false;
86 86
87 for (let i = 0; i < text.length; i++) 87 for (let i = 0; i < text.length; i++)
88 { 88 {
89 let c = text[i]; 89 let c = text[i];
90 90
91 // If we're currently inside the hostname we have to be careful not to 91 // If we're currently inside the hostname we have to be careful not to
92 // escape any characters until after we have converted it to punycode. 92 // escape any characters until after we have converted it to punycode.
93 if (hostnameStart != null && !hostnameFinished) 93 if (hostnameStart != null && !hostnameFinished)
94 { 94 {
95 let endingChar = (c == "*" || c == "^" || c == "?" || c == "/"); 95 let endingChar = (c == "*" || c == "^" ||
Sebastian Noack 2016/02/27 23:06:16 I know we didn't handle it before, but what's if w
kzar 2016/03/07 17:06:48 So do we want to always consider "|" to end the ho
Sebastian Noack 2016/03/08 09:31:22 I guess, for simplicity we can just assume that an
kzar 2016/03/08 12:36:01 Yea, sounds good to me. Also we already know that
96 c == "?" || c == "/" || c == "|");
96 if (!endingChar && i != lastIndex) 97 if (!endingChar && i != lastIndex)
97 continue; 98 continue;
98 99
99 let hostname = text.substring(hostnameStart, endingChar ? i : i + 1); 100 let hostname = text.substring(hostnameStart, endingChar ? i : i + 1);
100 hostnameFinished = true; 101 hostnameFinished = true;
101 result.push(escapeRegExp(punycode.toASCII(hostname))); 102 result.push(escapeRegExp(punycode.toASCII(hostname)));
102 if (!endingChar) 103 if (!endingChar)
103 break; 104 break;
104 } 105 }
105 106
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 437
437 for (let filter of this.elemhideExceptions) 438 for (let filter of this.elemhideExceptions)
438 addRule(convertFilter(filter, "ignore-previous-rules", false)); 439 addRule(convertFilter(filter, "ignore-previous-rules", false));
439 for (let filter of this.requestFilters) 440 for (let filter of this.requestFilters)
440 addRule(convertFilter(filter, "block", true)); 441 addRule(convertFilter(filter, "block", true));
441 for (let filter of this.requestExceptions) 442 for (let filter of this.requestExceptions)
442 addRule(convertFilter(filter, "ignore-previous-rules", true)); 443 addRule(convertFilter(filter, "ignore-previous-rules", true));
443 444
444 return rules; 445 return rules;
445 }; 446 };
LEFTRIGHT

Powered by Google App Engine
This is Rietveld