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

Delta Between Two Patch Sets: assets/js/start.js

Issue 8482109: ABP/Android JavaScript code (Closed)
Left Patch Set: Created Oct. 5, 2012, 9:23 a.m.
Right Patch Set: ABP/Android JavaScript code Created Nov. 13, 2012, 9:44 a.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 | « assets/js/punycode.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 Source Code is subject to the terms of the Mozilla Public License 2 * This Source Code is subject to the terms of the Mozilla Public License
3 * version 2.0 (the "License"). You can obtain a copy of the License at 3 * version 2.0 (the "License"). You can obtain a copy of the License at
4 * http://mozilla.org/MPL/2.0/. 4 * http://mozilla.org/MPL/2.0/.
5 */ 5 */
6 6
7 function removeTrailingDots(string)
8 {
9 return string.replace(/\.+$/, "");
10 }
11
7 /** 12 /**
8 * Checks whether a request is third party for the given document, uses 13 * Checks whether a request is third party for the given document, uses
9 * information from the public suffix list to determine the effective domain 14 * information from the public suffix list to determine the effective domain
10 * name for the document. 15 * name for the document.
11 */ 16 */
12 function isThirdParty(requestHost, documentHost) 17 function isThirdParty(requestHost, documentHost)
13 { 18 {
14 // Remove trailing dots 19 requestHost = removeTrailingDots(requestHost);
15 requestHost = requestHost.replace(/\.+$/, ""); 20 documentHost = removeTrailingDots(documentHost);
Felix Dahlke 2012/11/09 14:59:16 Bit of a nit pick, but how about having a function
Andrey Novikov 2012/11/12 09:33:12 Done.
16 documentHost = documentHost.replace(/\.+$/, "");
17 21
18 // Extract domain name - leave IP addresses unchanged, otherwise leave only ba se domain 22 // Extract domain name - leave IP addresses unchanged, otherwise leave only ba se domain
19 var documentDomain = getBaseDomain(documentHost); 23 var documentDomain = getBaseDomain(documentHost);
20 if (requestHost.length > documentDomain.length) 24 if (requestHost.length > documentDomain.length)
21 return (requestHost.substr(requestHost.length - documentDomain.length - 1) ! = "." + documentDomain); 25 return (requestHost.substr(requestHost.length - documentDomain.length - 1) ! = "." + documentDomain);
22 else 26 else
23 return (requestHost != documentDomain); 27 return (requestHost != documentDomain);
24 } 28 }
25 29
26 function reportError(exp) 30 function reportError(exp)
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 if (file instanceof FakeInputStream) 306 if (file instanceof FakeInputStream)
303 this.lines = file.lines; 307 this.lines = file.lines;
304 else 308 else
305 this.lines = Android.fileRead(file.path).split(/\n/); 309 this.lines = Android.fileRead(file.path).split(/\n/);
306 }, 310 },
307 readLine: function(line) 311 readLine: function(line)
308 { 312 {
309 if (this.currentIndex < this.lines.length) 313 if (this.currentIndex < this.lines.length)
310 line.value = this.lines[this.currentIndex]; 314 line.value = this.lines[this.currentIndex];
311 this.currentIndex++; 315 this.currentIndex++;
312 return (this.currentIndex < this.lines.length); 316 return (this.currentIndex < this.lines.length);
Felix Dahlke 2012/11/09 14:59:16 This check is done twice, temp variable?
Andrey Novikov 2012/11/12 09:33:12 No, currentIndex is plusplused after first check.
Felix Dahlke 2012/11/13 07:53:14 OK, didn't notice.
313 }, 317 },
314 close: function() {}, 318 close: function() {},
315 QueryInterface: function() 319 QueryInterface: function()
316 { 320 {
317 return this; 321 return this;
318 } 322 }
319 }; 323 };
320 324
321 function FakeOutputStream() 325 function FakeOutputStream()
322 { 326 {
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 } 526 }
523 527
524 function stopInteractive() 528 function stopInteractive()
525 { 529 {
526 FilterNotifier.removeListener(onFilterChange); 530 FilterNotifier.removeListener(onFilterChange);
527 } 531 }
528 532
529 function matchesAny(url, query, reqHost, refHost, accept) 533 function matchesAny(url, query, reqHost, refHost, accept)
530 { 534 {
531 var contentType = null; 535 var contentType = null;
532 var thirdParty = false; 536 var thirdParty = true;
533 537
534 if (accept != "") 538 if (accept != "")
535 { 539 {
536 if (accept.indexOf("text/css") != -1) 540 if (accept.indexOf("text/css") != -1)
537 contentType = "STYLESHEET"; 541 contentType = "STYLESHEET";
538 else if (accept.indexOf("image/*" != -1)) 542 else if (accept.indexOf("image/*" != -1))
539 contentType = "IMAGE"; 543 contentType = "IMAGE";
540 } 544 }
541 545
542 if (contentType == null) 546 if (contentType == null)
(...skipping 12 matching lines...) Expand all
555 contentType = "OTHER"; 559 contentType = "OTHER";
556 560
557 if (refHost != "") 561 if (refHost != "")
558 { 562 {
559 thirdParty = isThirdParty(reqHost, refHost); 563 thirdParty = isThirdParty(reqHost, refHost);
560 } 564 }
561 565
562 if (query != "") 566 if (query != "")
563 url = url + "?" + query; 567 url = url + "?" + query;
564 568
565 return defaultMatcher.matchesAny(url, contentType, null, thirdParty) != null; 569 var filter = defaultMatcher.matchesAny(url, contentType, null, thirdParty);
570
571 return (filter != null && !(filter instanceof WhitelistFilter));
566 } 572 }
567 573
568 Android.load("XMLHttpRequest.jsm"); 574 Android.load("XMLHttpRequest.jsm");
569 Android.load("FilterNotifier.jsm"); 575 Android.load("FilterNotifier.jsm");
570 Android.load("FilterClasses.jsm"); 576 Android.load("FilterClasses.jsm");
571 Android.load("SubscriptionClasses.jsm"); 577 Android.load("SubscriptionClasses.jsm");
572 Android.load("FilterStorage.jsm"); 578 Android.load("FilterStorage.jsm");
573 Android.load("FilterListener.jsm"); 579 Android.load("FilterListener.jsm");
574 Android.load("Matcher.jsm"); 580 Android.load("Matcher.jsm");
575 Android.load("ElemHide.jsm"); 581 Android.load("ElemHide.jsm");
576 Android.load("Synchronizer.jsm"); 582 Android.load("Synchronizer.jsm");
577 583
578 FilterListener.startup(); 584 FilterListener.startup();
579 Synchronizer.startup(); 585 Synchronizer.startup();
580 586
581 Android.load("publicSuffixList.js"); 587 Android.load("publicSuffixList.js");
582 Android.load("punycode.js"); 588 Android.load("punycode.js");
583 Android.load("basedomain.js"); 589 Android.load("basedomain.js");
LEFTRIGHT

Powered by Google App Engine
This is Rietveld