Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(325)

Side by Side Diff: components/domain_reliability/google_configs.cc

Issue 1180223006: Domain Reliability: Simplify configs and reports (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase, make requested changes Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "components/domain_reliability/google_configs.h"
6
7 #include "base/memory/scoped_ptr.h"
8 #include "components/domain_reliability/config.h"
9
10 namespace domain_reliability {
11
12 namespace {
13
14 struct GoogleConfigParams {
15 const char* hostname;
16 bool include_subdomains;
17
18 // If true, prepend a collector URL within https://|hostname|/.
19 bool include_origin_specific_collector;
20
21 // If true, also add a config for www.|hostname|.
22 //
23 // |include_subdomains| will be false in the extra config, but
24 // |include_origin_specific_collector| will be respected, and will use the
25 // www subdomain as the origin for the collector so it matches the config.
26 bool duplicate_for_www;
27 };
28
29 const GoogleConfigParams kGoogleConfigs[] = {
30 // Origins with subdomains and same-origin collectors.
31 { "google.ac", true, true, true },
32 { "google.ad", true, true, true },
33 { "google.ae", true, true, true },
34 { "google.af", true, true, true },
35 { "google.ag", true, true, true },
36 { "google.al", true, true, true },
37 { "google.am", true, true, true },
38 { "google.as", true, true, true },
39 { "google.at", true, true, true },
40 { "google.az", true, true, true },
41 { "google.ba", true, true, true },
42 { "google.be", true, true, true },
43 { "google.bf", true, true, true },
44 { "google.bg", true, true, true },
45 { "google.bi", true, true, true },
46 { "google.bj", true, true, true },
47 { "google.bs", true, true, true },
48 { "google.bt", true, true, true },
49 { "google.by", true, true, true },
50 { "google.ca", true, true, true },
51 { "google.cc", true, true, true },
52 { "google.cd", true, true, true },
53 { "google.cf", true, true, true },
54 { "google.cg", true, true, true },
55 { "google.ch", true, true, true },
56 { "google.ci", true, true, true },
57 { "google.cl", true, true, true },
58 { "google.cm", true, true, true },
59 { "google.cn", true, true, true },
60 { "google.co.ao", true, true, true },
61 { "google.co.bw", true, true, true },
62 { "google.co.ck", true, true, true },
63 { "google.co.cr", true, true, true },
64 { "google.co.hu", true, true, true },
65 { "google.co.id", true, true, true },
66 { "google.co.il", true, true, true },
67 { "google.co.im", true, true, true },
68 { "google.co.in", true, true, true },
69 { "google.co.je", true, true, true },
70 { "google.co.jp", true, true, true },
71 { "google.co.ke", true, true, true },
72 { "google.co.kr", true, true, true },
73 { "google.co.ls", true, true, true },
74 { "google.co.ma", true, true, true },
75 { "google.co.mz", true, true, true },
76 { "google.co.nz", true, true, true },
77 { "google.co.th", true, true, true },
78 { "google.co.tz", true, true, true },
79 { "google.co.ug", true, true, true },
80 { "google.co.uk", true, true, true },
81 { "google.co.uz", true, true, true },
82 { "google.co.ve", true, true, true },
83 { "google.co.vi", true, true, true },
84 { "google.co.za", true, true, true },
85 { "google.co.zm", true, true, true },
86 { "google.co.zw", true, true, true },
87 { "google.com", true, true, false },
88 { "google.com.af", true, true, true },
89 { "google.com.ag", true, true, true },
90 { "google.com.ai", true, true, true },
91 { "google.com.ar", true, true, true },
92 { "google.com.au", true, true, true },
93 { "google.com.bd", true, true, true },
94 { "google.com.bh", true, true, true },
95 { "google.com.bn", true, true, true },
96 { "google.com.bo", true, true, true },
97 { "google.com.br", true, true, true },
98 { "google.com.by", true, true, true },
99 { "google.com.bz", true, true, true },
100 { "google.com.cn", true, true, true },
101 { "google.com.co", true, true, true },
102 { "google.com.cu", true, true, true },
103 { "google.com.cy", true, true, true },
104 { "google.com.do", true, true, true },
105 { "google.com.ec", true, true, true },
106 { "google.com.eg", true, true, true },
107 { "google.com.et", true, true, true },
108 { "google.com.fj", true, true, true },
109 { "google.com.ge", true, true, true },
110 { "google.com.gh", true, true, true },
111 { "google.com.gi", true, true, true },
112 { "google.com.gr", true, true, true },
113 { "google.com.gt", true, true, true },
114 { "google.com.hk", true, true, true },
115 { "google.com.iq", true, true, true },
116 { "google.com.jm", true, true, true },
117 { "google.com.jo", true, true, true },
118 { "google.com.kh", true, true, true },
119 { "google.com.kw", true, true, true },
120 { "google.com.lb", true, true, true },
121 { "google.com.ly", true, true, true },
122 { "google.com.mm", true, true, true },
123 { "google.com.mt", true, true, true },
124 { "google.com.mx", true, true, true },
125 { "google.com.my", true, true, true },
126 { "google.com.na", true, true, true },
127 { "google.com.nf", true, true, true },
128 { "google.com.ng", true, true, true },
129 { "google.com.ni", true, true, true },
130 { "google.com.np", true, true, true },
131 { "google.com.nr", true, true, true },
132 { "google.com.om", true, true, true },
133 { "google.com.pa", true, true, true },
134 { "google.com.pe", true, true, true },
135 { "google.com.pg", true, true, true },
136 { "google.com.ph", true, true, true },
137 { "google.com.pk", true, true, true },
138 { "google.com.pl", true, true, true },
139 { "google.com.pr", true, true, true },
140 { "google.com.py", true, true, true },
141 { "google.com.qa", true, true, true },
142 { "google.com.ru", true, true, true },
143 { "google.com.sa", true, true, true },
144 { "google.com.sb", true, true, true },
145 { "google.com.sg", true, true, true },
146 { "google.com.sl", true, true, true },
147 { "google.com.sv", true, true, true },
148 { "google.com.tj", true, true, true },
149 { "google.com.tn", true, true, true },
150 { "google.com.tr", true, true, true },
151 { "google.com.tw", true, true, true },
152 { "google.com.ua", true, true, true },
153 { "google.com.uy", true, true, true },
154 { "google.com.vc", true, true, true },
155 { "google.com.ve", true, true, true },
156 { "google.com.vn", true, true, true },
157 { "google.cv", true, true, true },
158 { "google.cz", true, true, true },
159 { "google.de", true, true, true },
160 { "google.dj", true, true, true },
161 { "google.dk", true, true, true },
162 { "google.dm", true, true, true },
163 { "google.dz", true, true, true },
164 { "google.ee", true, true, true },
165 { "google.es", true, true, true },
166 { "google.fi", true, true, true },
167 { "google.fm", true, true, true },
168 { "google.fr", true, true, true },
169 { "google.ga", true, true, true },
170 { "google.ge", true, true, true },
171 { "google.gg", true, true, true },
172 { "google.gl", true, true, true },
173 { "google.gm", true, true, true },
174 { "google.gp", true, true, true },
175 { "google.gr", true, true, true },
176 { "google.gy", true, true, true },
177 { "google.hk", true, true, true },
178 { "google.hn", true, true, true },
179 { "google.hr", true, true, true },
180 { "google.ht", true, true, true },
181 { "google.hu", true, true, true },
182 { "google.ie", true, true, true },
183 { "google.im", true, true, true },
184 { "google.iq", true, true, true },
185 { "google.ir", true, true, true },
186 { "google.is", true, true, true },
187 { "google.it", true, true, true },
188 { "google.it.ao", true, true, true },
189 { "google.je", true, true, true },
190 { "google.jo", true, true, true },
191 { "google.jp", true, true, true },
192 { "google.kg", true, true, true },
193 { "google.ki", true, true, true },
194 { "google.kz", true, true, true },
195 { "google.la", true, true, true },
196 { "google.li", true, true, true },
197 { "google.lk", true, true, true },
198 { "google.lt", true, true, true },
199 { "google.lu", true, true, true },
200 { "google.lv", true, true, true },
201 { "google.md", true, true, true },
202 { "google.me", true, true, true },
203 { "google.mg", true, true, true },
204 { "google.mk", true, true, true },
205 { "google.ml", true, true, true },
206 { "google.mn", true, true, true },
207 { "google.ms", true, true, true },
208 { "google.mu", true, true, true },
209 { "google.mv", true, true, true },
210 { "google.mw", true, true, true },
211 { "google.ne", true, true, true },
212 { "google.ne.jp", true, true, true },
213 { "google.ng", true, true, true },
214 { "google.nl", true, true, true },
215 { "google.no", true, true, true },
216 { "google.nr", true, true, true },
217 { "google.nu", true, true, true },
218 { "google.off.ai", true, true, true },
219 { "google.pk", true, true, true },
220 { "google.pl", true, true, true },
221 { "google.pn", true, true, true },
222 { "google.ps", true, true, true },
223 { "google.pt", true, true, true },
224 { "google.ro", true, true, true },
225 { "google.rs", true, true, true },
226 { "google.ru", true, true, true },
227 { "google.rw", true, true, true },
228 { "google.sc", true, true, true },
229 { "google.se", true, true, true },
230 { "google.sh", true, true, true },
231 { "google.si", true, true, true },
232 { "google.sk", true, true, true },
233 { "google.sm", true, true, true },
234 { "google.sn", true, true, true },
235 { "google.so", true, true, true },
236 { "google.sr", true, true, true },
237 { "google.st", true, true, true },
238 { "google.td", true, true, true },
239 { "google.tg", true, true, true },
240 { "google.tk", true, true, true },
241 { "google.tl", true, true, true },
242 { "google.tm", true, true, true },
243 { "google.tn", true, true, true },
244 { "google.to", true, true, true },
245 { "google.tt", true, true, true },
246 { "google.us", true, true, true },
247 { "google.uz", true, true, true },
248 { "google.vg", true, true, true },
249 { "google.vu", true, true, true },
250 { "google.ws", true, true, true },
251 { "l.google.com", true, true, true },
252
253 // Origins with subdomains and without same-origin collectors.
254 { "2mdn.net", true, false, false },
255 { "adgoogle.net", true, false, false },
256 { "admeld.com", true, false, false },
257 { "admob.biz", true, false, false },
258 { "admob.co.in", true, false, false },
259 { "admob.co.kr", true, false, false },
260 { "admob.co.nz", true, false, false },
261 { "admob.co.uk", true, false, false },
262 { "admob.co.za", true, false, false },
263 { "admob.com", true, false, false },
264 { "admob.com.br", true, false, false },
265 { "admob.com.es", true, false, false },
266 { "admob.com.fr", true, false, false },
267 { "admob.com.mx", true, false, false },
268 { "admob.com.pt", true, false, false },
269 { "admob.de", true, false, false },
270 { "admob.dk", true, false, false },
271 { "admob.es", true, false, false },
272 { "admob.fi", true, false, false },
273 { "admob.fr", true, false, false },
274 { "admob.gr", true, false, false },
275 { "admob.hk", true, false, false },
276 { "admob.ie", true, false, false },
277 { "admob.in", true, false, false },
278 { "admob.it", true, false, false },
279 { "admob.jp", true, false, false },
280 { "admob.kr", true, false, false },
281 { "admob.mobi", true, false, false },
282 { "admob.no", true, false, false },
283 { "admob.ph", true, false, false },
284 { "admob.pt", true, false, false },
285 { "admob.sg", true, false, false },
286 { "admob.tw", true, false, false },
287 { "admob.us", true, false, false },
288 { "admob.vn", true, false, false },
289 { "adwhirl.com", true, false, false },
290 { "android.com", true, false, false },
291 { "chromecast.com", true, false, false },
292 { "chromeexperiments.com", true, false, false },
293 { "chromestatus.com", true, false, false },
294 { "chromium.org", true, false, false },
295 { "cloudendpointsapis.com", true, false, false },
296 { "dartmotif.com", true, false, false },
297 { "dartsearch.net", true, false, false },
298 { "doubleclick.com", true, false, false },
299 { "doubleclick.ne.jp", true, false, false },
300 { "doubleclick.net", true, false, false },
301 { "doubleclickusercontent.com", true, false, false },
302 { "fls.doubleclick.net", true, false, false },
303 { "g.co", true, false, false },
304 { "g.doubleclick.net", true, false, false },
305 { "ggpht.com", true, false, false },
306 { "gmodules.com", true, false, false },
307 { "goo.gl", true, false, false },
308 { "google-syndication.com", true, false, false },
309 { "google.cat", true, false, false },
310 { "google.info", true, false, false },
311 { "google.jobs", true, false, false },
312 { "google.net", true, false, false },
313 { "google.org", true, false, false },
314 { "googleadapis.com", true, false, false },
315 { "googleadservices.com", true, false, false },
316 { "googleadsserving.cn", true, false, false },
317 { "googlealumni.com", true, false, false },
318 { "googleapis.cn", true, false, false },
319 { "googleapis.com", true, false, false },
320 { "googleapps.com", true, false, false },
321 { "googlecbs.com", true, false, false },
322 { "googlecode.com", true, false, false },
323 { "googlecommerce.com", true, false, false },
324 { "googledrive.com", true, false, false },
325 { "googleenterprise.com", true, false, false },
326 { "googlefiber.com", true, false, false },
327 { "googlefiber.net", true, false, false },
328 { "googlegoro.com", true, false, false },
329 { "googlehosted.com", true, false, false },
330 { "googlepayments.com", true, false, false },
331 { "googlesource.com", true, false, false },
332 { "googlesyndication.com", true, false, false },
333 { "googletagmanager.com", true, false, false },
334 { "googletagservices.com", true, false, false },
335 { "googleusercontent.com", true, false, false },
336 { "gstatic.cn", true, false, false },
337 { "gstatic.com", true, false, false },
338 { "picasa.com", true, false, false },
339 { "recaptcha.net", true, false, false },
340 { "waze.com", true, false, false },
341 { "withgoogle.com", true, false, false },
342 { "youtu.be", true, false, false },
343 { "youtube-3rd-party.com", true, false, false },
344 { "youtube-nocookie.com", true, false, false },
345 { "youtube.ae", true, false, false },
346 { "youtube.al", true, false, false },
347 { "youtube.am", true, false, false },
348 { "youtube.at", true, false, false },
349 { "youtube.az", true, false, false },
350 { "youtube.ba", true, false, false },
351 { "youtube.be", true, false, false },
352 { "youtube.bg", true, false, false },
353 { "youtube.bh", true, false, false },
354 { "youtube.bo", true, false, false },
355 { "youtube.ca", true, false, false },
356 { "youtube.cat", true, false, false },
357 { "youtube.ch", true, false, false },
358 { "youtube.cl", true, false, false },
359 { "youtube.co", true, false, false },
360 { "youtube.co.ae", true, false, false },
361 { "youtube.co.at", true, false, false },
362 { "youtube.co.hu", true, false, false },
363 { "youtube.co.id", true, false, false },
364 { "youtube.co.il", true, false, false },
365 { "youtube.co.in", true, false, false },
366 { "youtube.co.jp", true, false, false },
367 { "youtube.co.ke", true, false, false },
368 { "youtube.co.kr", true, false, false },
369 { "youtube.co.ma", true, false, false },
370 { "youtube.co.nz", true, false, false },
371 { "youtube.co.th", true, false, false },
372 { "youtube.co.ug", true, false, false },
373 { "youtube.co.uk", true, false, false },
374 { "youtube.co.ve", true, false, false },
375 { "youtube.co.za", true, false, false },
376 { "youtube.com", true, false, false },
377 { "youtube.com.ar", true, false, false },
378 { "youtube.com.au", true, false, false },
379 { "youtube.com.az", true, false, false },
380 { "youtube.com.bh", true, false, false },
381 { "youtube.com.bo", true, false, false },
382 { "youtube.com.br", true, false, false },
383 { "youtube.com.by", true, false, false },
384 { "youtube.com.co", true, false, false },
385 { "youtube.com.do", true, false, false },
386 { "youtube.com.ee", true, false, false },
387 { "youtube.com.eg", true, false, false },
388 { "youtube.com.es", true, false, false },
389 { "youtube.com.gh", true, false, false },
390 { "youtube.com.gr", true, false, false },
391 { "youtube.com.gt", true, false, false },
392 { "youtube.com.hk", true, false, false },
393 { "youtube.com.hr", true, false, false },
394 { "youtube.com.jm", true, false, false },
395 { "youtube.com.jo", true, false, false },
396 { "youtube.com.kw", true, false, false },
397 { "youtube.com.lb", true, false, false },
398 { "youtube.com.lv", true, false, false },
399 { "youtube.com.mk", true, false, false },
400 { "youtube.com.mt", true, false, false },
401 { "youtube.com.mx", true, false, false },
402 { "youtube.com.my", true, false, false },
403 { "youtube.com.ng", true, false, false },
404 { "youtube.com.om", true, false, false },
405 { "youtube.com.pe", true, false, false },
406 { "youtube.com.ph", true, false, false },
407 { "youtube.com.pk", true, false, false },
408 { "youtube.com.pt", true, false, false },
409 { "youtube.com.qa", true, false, false },
410 { "youtube.com.ro", true, false, false },
411 { "youtube.com.sa", true, false, false },
412 { "youtube.com.sg", true, false, false },
413 { "youtube.com.tn", true, false, false },
414 { "youtube.com.tr", true, false, false },
415 { "youtube.com.tw", true, false, false },
416 { "youtube.com.ua", true, false, false },
417 { "youtube.com.uy", true, false, false },
418 { "youtube.com.ve", true, false, false },
419 { "youtube.cz", true, false, false },
420 { "youtube.de", true, false, false },
421 { "youtube.dk", true, false, false },
422 { "youtube.ee", true, false, false },
423 { "youtube.es", true, false, false },
424 { "youtube.fi", true, false, false },
425 { "youtube.fr", true, false, false },
426 { "youtube.ge", true, false, false },
427 { "youtube.gr", true, false, false },
428 { "youtube.gt", true, false, false },
429 { "youtube.hk", true, false, false },
430 { "youtube.hr", true, false, false },
431 { "youtube.hu", true, false, false },
432 { "youtube.ie", true, false, false },
433 { "youtube.in", true, false, false },
434 { "youtube.is", true, false, false },
435 { "youtube.it", true, false, false },
436 { "youtube.jo", true, false, false },
437 { "youtube.jp", true, false, false },
438 { "youtube.kr", true, false, false },
439 { "youtube.lk", true, false, false },
440 { "youtube.lt", true, false, false },
441 { "youtube.lv", true, false, false },
442 { "youtube.ma", true, false, false },
443 { "youtube.md", true, false, false },
444 { "youtube.me", true, false, false },
445 { "youtube.mk", true, false, false },
446 { "youtube.mx", true, false, false },
447 { "youtube.my", true, false, false },
448 { "youtube.ng", true, false, false },
449 { "youtube.nl", true, false, false },
450 { "youtube.no", true, false, false },
451 { "youtube.pe", true, false, false },
452 { "youtube.ph", true, false, false },
453 { "youtube.pk", true, false, false },
454 { "youtube.pl", true, false, false },
455 { "youtube.pr", true, false, false },
456 { "youtube.pt", true, false, false },
457 { "youtube.qa", true, false, false },
458 { "youtube.ro", true, false, false },
459 { "youtube.rs", true, false, false },
460 { "youtube.ru", true, false, false },
461 { "youtube.sa", true, false, false },
462 { "youtube.se", true, false, false },
463 { "youtube.sg", true, false, false },
464 { "youtube.si", true, false, false },
465 { "youtube.sk", true, false, false },
466 { "youtube.sn", true, false, false },
467 { "youtube.tn", true, false, false },
468 { "youtube.ua", true, false, false },
469 { "youtube.ug", true, false, false },
470 { "youtube.uy", true, false, false },
471 { "youtube.vn", true, false, false },
472 { "youtubeeducation.com", true, false, false },
473 { "youtubemobilesupport.com", true, false, false },
474 { "ytimg.com", true, false, false },
475
476 // Origins without subdomains and with same-origin collectors.
477 { "accounts.google.com", false, true, false },
478 { "apis.google.com", false, true, false },
479 { "ddm.google.com", false, true, false },
480
481 // Origins without subdomains or same-origin collectors.
482 { "ad.doubleclick.net", false, false, false },
483 { "drive.google.com", false, false, false },
484 { "redirector.googlevideo.com", false, false, false },
485 };
486
487 const char* kGoogleStandardCollectors[] = {
488 "https://beacons.gvt2.com/domainreliability/upload",
489 "https://beacons2.gvt2.com/domainreliability/upload",
490 "https://clients2.google.com/domainreliability/upload",
491 "https://beacons3.gvt2.com/domainreliability/upload",
492 "https://beacons4.gvt2.com/domainreliability/upload"
493 };
494
495 const char* kGoogleOriginSpecificCollectorPathString =
496 "/domainreliability/upload";
497
498 static scoped_ptr<DomainReliabilityConfig>
499 CreateGoogleConfig(const GoogleConfigParams& params, bool is_www) {
500 DCHECK_IMPLIES(is_www, params.duplicate_for_www);
501
502 std::string hostname = (is_www ? "www." : "") + std::string(params.hostname);
503 bool include_subdomains = params.include_subdomains && !is_www;
504
505 scoped_ptr<DomainReliabilityConfig> config(new DomainReliabilityConfig());
506 config->origin = GURL("https://" + hostname + "/");
507 config->include_subdomains = include_subdomains;
508 config->collectors.clear();
509 if (params.include_origin_specific_collector) {
510 GURL::Replacements replacements;
511 replacements.SetPathStr(kGoogleOriginSpecificCollectorPathString);
512 config->collectors.push_back(
513 new GURL(config->origin.ReplaceComponents(replacements)));
514 }
515 for (size_t i = 0; i < arraysize(kGoogleStandardCollectors); i++)
516 config->collectors.push_back(new GURL(kGoogleStandardCollectors[i]));
517 config->success_sample_rate = 0.05;
518 config->failure_sample_rate = 1.00;
519 config->path_prefixes.clear();
520 return config.Pass();
521 }
522
523 } // namespace
524
525 // static
526 void GetAllGoogleConfigs(
527 std::vector<DomainReliabilityConfig*>* configs_out) {
528 configs_out->clear();
529
530 for (auto& params : kGoogleConfigs) {
531 configs_out->push_back(CreateGoogleConfig(params, false).release());
532 if (params.duplicate_for_www)
533 configs_out->push_back(CreateGoogleConfig(params, true).release());
534 }
535 }
536
537 } // namespace domain_reliability
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698