| Left: | ||
| Right: |
| OLD | NEW |
|---|---|
| 1 /* This Source Code Form is subject to the terms of the Mozilla Public | 1 /* This Source Code Form is subject to the terms of the Mozilla Public |
| 2 * License, v. 2.0. If a copy of the MPL was not distributed with this file, | 2 * License, v. 2.0. If a copy of the MPL was not distributed with this file, |
| 3 * You can obtain one at http://mozilla.org/MPL/2.0/. */ | 3 * You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| 4 | 4 |
| 5 Cu.import("resource://gre/modules/Services.jsm"); | 5 Cu.import("resource://gre/modules/Services.jsm"); |
| 6 | 6 |
| 7 let {Prefs} = require("prefs"); | 7 let {Prefs} = require("prefs"); |
| 8 let {WindowObserver} = require("windowObserver"); | 8 let {WindowObserver} = require("windowObserver"); |
| 9 | 9 |
| 10 let domains = null; | 10 let domains = null; |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 141 if (!("service" in privateBrowsingEnabled)) | 141 if (!("service" in privateBrowsingEnabled)) |
| 142 privateBrowsingEnabled.service = Cc["@mozilla.org/privatebrowsing;1"].getSer vice(Ci.nsIPrivateBrowsingService); | 142 privateBrowsingEnabled.service = Cc["@mozilla.org/privatebrowsing;1"].getSer vice(Ci.nsIPrivateBrowsingService); |
| 143 | 143 |
| 144 return privateBrowsingEnabled.service.privateBrowsingEnabled; | 144 return privateBrowsingEnabled.service.privateBrowsingEnabled; |
| 145 } | 145 } |
| 146 | 146 |
| 147 function sendAnonymousData() | 147 function sendAnonymousData() |
| 148 { | 148 { |
| 149 if (!Prefs.domainOptIn || (domains.length == 0 && falsePositives.length == 0 & & userCorrections.length == 0) || privateBrowsingEnabled()) | 149 if (!Prefs.domainOptIn || (domains.length == 0 && falsePositives.length == 0 & & userCorrections.length == 0) || privateBrowsingEnabled()) |
| 150 return; | 150 return; |
| 151 | 151 |
| 152 let args = []; | 152 let postData = {}; |
| 153 let savedDomains = domains; | 153 let savedDomains = domains; |
| 154 let savedFalsePositives = falsePositives; | 154 let savedFalsePositives = falsePositives; |
| 155 let savedUserCorrections = userCorrections; | 155 let savedUserCorrections = userCorrections; |
| 156 | 156 |
| 157 if(domains.length > 0) | 157 if(domains.length > 0) |
| 158 { | 158 { |
| 159 args.push(domains.map(function(d) "domains[]=" + encodeURIComponent(d)).join ("&")); | 159 postData.domains = domains; |
|
Wladimir Palant
2012/09/21 14:40:25
Now we are using JSON but not its advantages - the
| |
| 160 domains = []; | 160 domains = []; |
| 161 } | 161 } |
| 162 if(falsePositives.length > 0) | 162 if(falsePositives.length > 0) |
| 163 { | 163 { |
| 164 args.push( | 164 postData.falsePositives = falsePositives; |
| 165 falsePositives.map( | |
| 166 function(fp) | |
| 167 { | |
| 168 return "falsePositives[]=" + encodeURIComponent( | |
| 169 encodeURIComponent(fp[0]) + ((fp[1]) ? "&" + encodeURIComponent(fp[1 ]) : "") | |
| 170 ); | |
| 171 } | |
| 172 ).join("&") | |
| 173 ); | |
| 174 falsePositives = []; | 165 falsePositives = []; |
| 175 } | 166 } |
| 176 if(userCorrections.length > 0) | 167 if(userCorrections.length > 0) |
| 177 { | 168 { |
| 178 args.push( | 169 postData.userCorrections = userCorrections; |
| 179 userCorrections.map( | |
| 180 function(uc) | |
| 181 { | |
| 182 return "userCorrections[]=" + encodeURIComponent( | |
| 183 encodeURIComponent(uc[0]) + ((uc[1]) ? "&" + encodeURIComponent(uc[1 ]) : "") | |
| 184 ); | |
| 185 } | |
| 186 ).join("&") | |
| 187 ); | |
| 188 userCorrections = []; | 170 userCorrections = []; |
| 189 } | 171 } |
| 190 | 172 |
| 191 let request = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Ci. nsIXMLHttpRequest); | 173 let request = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance(Ci. nsIXMLHttpRequest); |
| 192 request.open("POST", "http://typed.it/submitData"); | 174 request.open("POST", "http://typed.it/submitData"); |
| 193 request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); | 175 request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); |
| 194 request.addEventListener("load", function(event) | 176 request.addEventListener("load", function(event) |
| 195 { | 177 { |
| 196 if (event.target.status != 200) | 178 if (event.target.status != 200) |
| 197 { | 179 { |
| 198 domains = domains.concat(savedDomains); | 180 domains = domains.concat(savedDomains); |
| 199 falsePositives = falsePositives.concat(savedFalsePositives); | 181 falsePositives = falsePositives.concat(savedFalsePositives); |
| 200 userCorrections = userCorrections.concat(savedUserCorrections); | 182 userCorrections = userCorrections.concat(savedUserCorrections); |
| 201 } | 183 } |
| 202 }, false); | 184 }, false); |
| 203 request.send(args.join("&")); | 185 request.send("data=" + JSON.stringify(postData)); |
|
Wladimir Palant
2012/09/21 14:40:25
There is little point to send JSON data in pseudo-
| |
| 204 } | 186 } |
| 205 | 187 |
| 206 function initWebUI(event) | 188 function initWebUI(event) |
| 207 { | 189 { |
| 208 if (Prefs.domainOptIn) | 190 if (Prefs.domainOptIn) |
| 209 return; | 191 return; |
| 210 | 192 |
| 211 let container = event.target; | 193 let container = event.target; |
| 212 let source = container.ownerDocument.defaultView.location.hostname; | 194 let source = container.ownerDocument.defaultView.location.hostname; |
| 213 if (!/(^|\.)urlfixer\.org$/.test(source)) | 195 if (!/(^|\.)urlfixer\.org$/.test(source)) |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 226 | 208 |
| 227 Prefs.domainOptInAsk = true; | 209 Prefs.domainOptInAsk = true; |
| 228 Prefs.domainOptIn = true; | 210 Prefs.domainOptIn = true; |
| 229 button.style.display = "none"; | 211 button.style.display = "none"; |
| 230 message.style.display = ""; | 212 message.style.display = ""; |
| 231 }, false); | 213 }, false); |
| 232 | 214 |
| 233 message.style.display = "none"; | 215 message.style.display = "none"; |
| 234 container.style.display = ""; | 216 container.style.display = ""; |
| 235 } | 217 } |
| OLD | NEW |