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 |