all-add-trk-prefixes-to-possibly-evil-connections.patch 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809
  1. From cf98027e6f671068371d33e89db26d8bfcd6caff Mon Sep 17 00:00:00 2001
  2. From: Jan Engelhardt <jengelh@inai.de>
  3. Date: Mon, 3 Nov 2014 10:52:56 +0100
  4. Subject: [PATCH 64/66] all: add trk: prefixes to possibly evil connections
  5. Prefix URLs to Google services with trk: so that whenever something
  6. tries to load them, the developer will be informed via printf and
  7. dialog about this infraction.
  8. If you see such dialog, we know that (a) either the URL needs to be
  9. whitelisted, or (b) the feature that triggered it needs to be disabled
  10. by default.
  11. ---
  12. build/mac/tweak_info_plist.py | 2 +-
  13. .../chromeos/customization/customization_document.cc | 2 +-
  14. .../extensions/file_manager/private_api_drive.cc | 2 +-
  15. .../extensions/file_manager/private_api_misc.cc | 2 +-
  16. .../extensions/file_manager/private_api_strings.cc | 12 ++++++------
  17. .../api/cryptotoken_private/cryptotoken_private_api.cc | 4 ++--
  18. chrome/browser/extensions/install_signer.cc | 2 +-
  19. chrome/browser/media/media_url_constants.cc | 2 +-
  20. chrome/browser/nacl_host/nacl_infobar_delegate.cc | 2 +-
  21. chrome/browser/net/predictor.cc | 2 +-
  22. chrome/browser/profiles/profile_avatar_downloader.cc | 2 +-
  23. .../chromeos/chromevox/chromevox/background/prefs.js | 4 ++--
  24. .../resources/default_apps/external_extensions.json | 6 +++---
  25. .../safe_browsing/client_side_detection_service.cc | 4 ++--
  26. chrome/browser/safe_browsing/download_feedback.cc | 2 +-
  27. .../browser/safe_search_api/safe_search_url_checker.cc | 2 +-
  28. .../spellchecker/spellcheck_hunspell_dictionary.cc | 2 +-
  29. .../browser/supervised_user/supervised_user_service.cc | 2 +-
  30. chrome/browser/tracing/crash_service_uploader.cc | 2 +-
  31. .../browser/ui/views/outdated_upgrade_bubble_view.cc | 2 +-
  32. chrome/browser/ui/webui/ntp/ntp_resource_cache.cc | 8 ++++----
  33. chrome/common/extensions/chrome_extensions_client.cc | 4 ++--
  34. chrome/common/extensions/extension_constants.cc | 2 +-
  35. chrome/common/url_constants.cc | 6 +++---
  36. chrome/installer/util/google_chrome_distribution.cc | 2 +-
  37. chromecast/browser/service/cast_service_simple.cc | 2 +-
  38. chromeos/geolocation/simple_geolocation_provider.cc | 2 +-
  39. components/cloud_devices/common/cloud_devices_urls.cc | 8 ++++----
  40. components/crash/content/app/breakpad_linux.cc | 2 +-
  41. components/drive/service/drive_api_service.cc | 8 ++++----
  42. components/feedback/feedback_uploader.cc | 2 +-
  43. components/gcm_driver/gcm_account_tracker.cc | 4 ++--
  44. components/google/core/browser/google_url_tracker.cc | 2 +-
  45. components/history/core/browser/web_history_service.cc | 6 +++---
  46. components/invalidation/impl/gcm_network_channel.cc | 2 +-
  47. components/invalidation/impl/p2p_invalidator.cc | 2 +-
  48. components/metrics/url_constants.cc | 4 ++--
  49. .../password_manager/core/browser/password_store.cc | 8 ++++----
  50. components/policy/core/common/policy_loader_win.cc | 2 +-
  51. components/policy/resources/policy_templates.json | 4 ++--
  52. components/rappor/rappor_service_impl.cc | 2 +-
  53. components/search_engines/prepopulated_engines.json | 2 +-
  54. .../translate/core/browser/translate_url_fetcher.cc | 1 +
  55. components/translate/core/common/translate_util.cc | 2 +-
  56. components/variations/variations_url_constants.cc | 2 +-
  57. content/browser/speech/speech_recognition_engine.cc | 2 +-
  58. content/shell/browser/shell_browser_main_parts.cc | 2 +-
  59. google_apis/gaia/gaia_constants.cc | 18 +++++++++---------
  60. google_apis/gaia/google_service_auth_error.cc | 2 +-
  61. google_apis/gcm/engine/gservices_settings.cc | 6 +++---
  62. jingle/notifier/base/gaia_token_pre_xmpp_auth.cc | 2 +-
  63. remoting/base/breakpad_mac.mm | 2 +-
  64. remoting/protocol/jingle_messages.cc | 2 +-
  65. remoting/webapp/base/js/xmpp_login_handler.js | 2 +-
  66. remoting/webapp/crd/manifest.json.jinja2 | 2 +-
  67. rlz/lib/lib_values.cc | 2 +-
  68. ui/app_list/demo/app_list_demo_views.cc | 2 +-
  69. ui/views/examples/webview_example.cc | 2 +-
  70. 61 files changed, 101 insertions(+), 100 deletions(-)
  71. --- a/build/mac/tweak_info_plist.py
  72. +++ b/build/mac/tweak_info_plist.py
  73. @@ -211,7 +211,7 @@ def _AddKeystoneKeys(plist, bundle_ident
  74. also requires the |bundle_identifier| argument (com.example.product)."""
  75. plist['KSVersion'] = plist['CFBundleShortVersionString']
  76. plist['KSProductID'] = bundle_identifier
  77. - plist['KSUpdateURL'] = 'https://tools.google.com/service/update2'
  78. + plist['KSUpdateURL'] = 'trk:132:https://tools.google.com/service/update2'
  79. _RemoveKeys(plist, 'KSChannelID')
  80. for tag_suffix in _TagSuffixes():
  81. --- a/chrome/browser/chromeos/customization/customization_document.cc
  82. +++ b/chrome/browser/chromeos/customization/customization_document.cc
  83. @@ -173,7 +173,7 @@ std::string ReadFileInBackground(const b
  84. // Template URL where to fetch OEM services customization manifest from.
  85. const char ServicesCustomizationDocument::kManifestUrl[] =
  86. - "https://ssl.gstatic.com/chrome/chromeos-customization/%s.json";
  87. + "trk:151:https://ssl.gstatic.com/chrome/chromeos-customization/%s.json";
  88. // A custom extensions::ExternalLoader that the ServicesCustomizationDocument
  89. // creates and uses to publish OEM default apps to the extensions system.
  90. --- a/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc
  91. +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc
  92. @@ -1045,7 +1045,7 @@ void FileManagerPrivateInternalGetDownlo
  93. const CoreAccountId& account_id =
  94. identity_manager->GetPrimaryAccountId(signin::ConsentLevel::kNotRequired);
  95. std::vector<std::string> scopes;
  96. - scopes.emplace_back("https://www.googleapis.com/auth/drive.readonly");
  97. + scopes.emplace_back("trk:208:https://www.googleapis.com/auth/drive.readonly");
  98. scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory =
  99. content::BrowserContext::GetDefaultStoragePartition(
  100. --- a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
  101. +++ b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
  102. @@ -83,7 +83,7 @@ namespace {
  103. using api::file_manager_private::ProfileInfo;
  104. -const char kCWSScope[] = "https://www.googleapis.com/auth/chromewebstore";
  105. +const char kCWSScope[] = "trk:209:https://www.googleapis.com/auth/chromewebstore";
  106. // Thresholds for mountCrostini() API.
  107. constexpr base::TimeDelta kMountCrostiniSlowOperationThreshold =
  108. --- a/chrome/browser/chromeos/file_manager/file_manager_string_util.cc
  109. +++ b/chrome/browser/chromeos/file_manager/file_manager_string_util.cc
  110. @@ -19,21 +19,21 @@ namespace {
  111. // Location of the page to buy more storage for Google Drive.
  112. const char kGoogleDriveBuyStorageUrl[] =
  113. - "https://www.google.com/settings/storage";
  114. + "trk:210:https://www.google.com/settings/storage";
  115. // Location of the overview page about Google Drive.
  116. const char kGoogleDriveOverviewUrl[] =
  117. - "https://support.google.com/chromebook/?p=filemanager_drive";
  118. + "trk:210:https://support.google.com/chromebook/?p=filemanager_drive";
  119. // Location of Google Drive specific help.
  120. const char kGoogleDriveHelpUrl[] =
  121. - "https://support.google.com/chromebook/?p=filemanager_drivehelp";
  122. + "trk:212:https://support.google.com/chromebook/?p=filemanager_drivehelp";
  123. // Location of Google Drive root.
  124. -const char kGoogleDriveRootUrl[] = "https://drive.google.com";
  125. +const char kGoogleDriveRootUrl[] = "trk:213:https://drive.google.com";
  126. // Printf format
  127. -const char kHelpURLFormat[] = "https://support.google.com/chromebook/answer/%d";
  128. +const char kHelpURLFormat[] = "trk:214:https://support.google.com/chromebook/answer/%d";
  129. // Location of the help page for low space warning in the downloads directory.
  130. const int kDownloadsLowSpaceWarningHelpNumber = 1061547;
  131. --- a/chrome/browser/extensions/api/cryptotoken_private/cryptotoken_private_api.cc
  132. +++ b/chrome/browser/extensions/api/cryptotoken_private/cryptotoken_private_api.cc
  133. @@ -60,8 +60,8 @@ enum class U2FAttestationPromptResult {
  134. const char kGoogleDotCom[] = "google.com";
  135. constexpr const char* kGoogleGstaticAppIds[] = {
  136. - "https://www.gstatic.com/securitykey/origins.json",
  137. - "https://www.gstatic.com/securitykey/a/google.com/origins.json"};
  138. + "trk:273:https://www.gstatic.com/securitykey/origins.json",
  139. + "trk:274:https://www.gstatic.com/securitykey/a/google.com/origins.json"};
  140. // ContainsAppIdByHash returns true iff the SHA-256 hash of one of the
  141. // elements of |list| equals |hash|.
  142. --- a/chrome/browser/extensions/install_signer.cc
  143. +++ b/chrome/browser/extensions/install_signer.cc
  144. @@ -66,7 +66,7 @@ const int kSignatureFormatVersion = 2;
  145. const size_t kSaltBytes = 32;
  146. const char kBackendUrl[] =
  147. - "https://www.googleapis.com/chromewebstore/v1.1/items/verify";
  148. + "trk:222:https://www.googleapis.com/chromewebstore/v1.1/items/verify";
  149. const char kPublicKeyPEM[] = \
  150. "-----BEGIN PUBLIC KEY-----" \
  151. --- a/chrome/browser/nacl_host/nacl_infobar_delegate.cc
  152. +++ b/chrome/browser/nacl_host/nacl_infobar_delegate.cc
  153. @@ -32,7 +32,7 @@ base::string16 NaClInfoBarDelegate::GetL
  154. }
  155. GURL NaClInfoBarDelegate::GetLinkURL() const {
  156. - return GURL("https://support.google.com/chrome/?p=ib_nacl");
  157. + return GURL("trk:143:https://support.google.com/chrome/?p=ib_nacl");
  158. }
  159. base::string16 NaClInfoBarDelegate::GetMessageText() const {
  160. --- a/chrome/browser/profiles/profile_avatar_downloader.cc
  161. +++ b/chrome/browser/profiles/profile_avatar_downloader.cc
  162. @@ -18,7 +18,7 @@
  163. namespace {
  164. const char kHighResAvatarDownloadUrlPrefix[] =
  165. - "https://www.gstatic.com/chrome/profile_avatars/";
  166. + "trk:271:https://www.gstatic.com/chrome/profile_avatars/";
  167. }
  168. ProfileAvatarDownloader::ProfileAvatarDownloader(size_t icon_index,
  169. --- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/prefs.js
  170. +++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/prefs.js
  171. @@ -218,9 +218,9 @@ ChromeVoxPrefs.DEFAULT_PREFS = {
  172. 'position': '{}',
  173. 'siteSpecificEnhancements': true,
  174. 'siteSpecificScriptBase':
  175. - 'https://ssl.gstatic.com/accessibility/javascript/ext/',
  176. + 'trk:152:https://ssl.gstatic.com/accessibility/javascript/ext/',
  177. 'siteSpecificScriptLoader':
  178. - 'https://ssl.gstatic.com/accessibility/javascript/ext/loader.js',
  179. + 'trk:153:https://ssl.gstatic.com/accessibility/javascript/ext/loader.js',
  180. 'speakTextUnderMouse': false,
  181. 'sticky': false,
  182. 'typingEcho': 0,
  183. --- a/chrome/browser/resources/default_apps/external_extensions.json
  184. +++ b/chrome/browser/resources/default_apps/external_extensions.json
  185. @@ -24,15 +24,15 @@
  186. },
  187. // Google Sheets
  188. "aapocclcgogkmnckokdopfmhonfmgoek" : {
  189. - "external_update_url": "https://clients2.google.com/service/update2/crx"
  190. + "external_update_url": "trk:03:https://clients2.google.com/service/update2/crx"
  191. },
  192. // Google Slides
  193. "felcaaldnbdncclmgdcncolpebgiejap" : {
  194. - "external_update_url": "https://clients2.google.com/service/update2/crx"
  195. + "external_update_url": "trk:04:https://clients2.google.com/service/update2/crx"
  196. },
  197. // Drive extension
  198. "ghbmnnjooekpmoecnnnilnnbdlolhkhi" : {
  199. - "external_update_url": "https://clients2.google.com/service/update2/crx"
  200. + "external_update_url": "trk:04:https://clients2.google.com/service/update2/crx"
  201. }
  202. }
  203. --- a/chrome/browser/safe_browsing/client_side_detection_service.cc
  204. +++ b/chrome/browser/safe_browsing/client_side_detection_service.cc
  205. @@ -56,7 +56,7 @@ const int ClientSideDetectionService::kN
  206. const int ClientSideDetectionService::kPositiveCacheIntervalMinutes = 30;
  207. const char ClientSideDetectionService::kClientReportPhishingUrl[] =
  208. - "https://sb-ssl.google.com/safebrowsing/clientreport/phishing";
  209. + "trk:148:https://sb-ssl.google.com/safebrowsing/clientreport/phishing";
  210. struct ClientSideDetectionService::ClientPhishingReportInfo {
  211. std::unique_ptr<network::SimpleURLLoader> loader;
  212. --- a/chrome/browser/safe_browsing/download_protection/download_feedback.cc
  213. +++ b/chrome/browser/safe_browsing/download_protection/download_feedback.cc
  214. @@ -256,7 +256,7 @@ const int64_t DownloadFeedback::kMaxUplo
  215. // static
  216. const char DownloadFeedback::kSbFeedbackURL[] =
  217. - "https://safebrowsing.google.com/safebrowsing/uploads/chrome";
  218. + "trk:164:https://safebrowsing.google.com/safebrowsing/uploads/chrome";
  219. // static
  220. DownloadFeedbackFactory* DownloadFeedback::factory_ = nullptr;
  221. --- a/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
  222. +++ b/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
  223. @@ -254,7 +254,7 @@ GURL SpellcheckHunspellDictionary::GetDi
  224. DCHECK(!bdict_file.empty());
  225. static const char kDownloadServerUrl[] =
  226. - "https://redirector.gvt1.com/edgedl/chrome/dict/";
  227. + "trk:173:https://redirector.gvt1.com/edgedl/chrome/dict/";
  228. return GURL(std::string(kDownloadServerUrl) +
  229. base::ToLowerASCII(bdict_file));
  230. --- a/chrome/browser/supervised_user/supervised_user_service.cc
  231. +++ b/chrome/browser/supervised_user/supervised_user_service.cc
  232. @@ -86,7 +86,7 @@ namespace {
  233. // The URL from which to download a host blacklist if no local one exists yet.
  234. const char kBlacklistURL[] =
  235. - "https://www.gstatic.com/chrome/supervised_user/blacklist-20141001-1k.bin";
  236. + "trk:272:https://www.gstatic.com/chrome/supervised_user/blacklist-20141001-1k.bin";
  237. // The filename under which we'll store the blacklist (in the user data dir).
  238. const char kBlacklistFilename[] = "su-blacklist.bin";
  239. --- a/chrome/browser/tracing/crash_service_uploader.cc
  240. +++ b/chrome/browser/tracing/crash_service_uploader.cc
  241. @@ -41,7 +41,7 @@ using std::string;
  242. namespace {
  243. -const char kUploadURL[] = "https://clients2.google.com/cr/report";
  244. +const char kUploadURL[] = "trk:109:https://clients2.google.com/cr/report";
  245. const char kCrashUploadContentType[] = "multipart/form-data";
  246. const char kCrashMultipartBoundary[] =
  247. "----**--yradnuoBgoLtrapitluMklaTelgooG--**----";
  248. --- a/chrome/browser/ui/views/outdated_upgrade_bubble_view.cc
  249. +++ b/chrome/browser/ui/views/outdated_upgrade_bubble_view.cc
  250. @@ -35,7 +35,7 @@ namespace {
  251. // The URL to be used to re-install Chrome when auto-update failed for too long.
  252. constexpr char kDownloadChromeUrl[] =
  253. - "https://www.google.com/chrome/?&brand=CHWL"
  254. + "trk:242:https://www.google.com/chrome/?&brand=CHWL"
  255. "&utm_campaign=en&utm_source=en-et-na-us-chrome-bubble&utm_medium=et";
  256. // The maximum number of ignored bubble we track in the NumLaterPerReinstall
  257. --- a/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
  258. +++ b/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
  259. @@ -79,17 +79,17 @@ namespace {
  260. // The URL for the the Learn More page shown on incognito new tab.
  261. const char kLearnMoreIncognitoUrl[] =
  262. #if defined(OS_CHROMEOS)
  263. - "https://support.google.com/chromebook/?p=incognito";
  264. + "trk:246:https://support.google.com/chromebook/?p=incognito";
  265. #else
  266. - "https://support.google.com/chrome/?p=incognito";
  267. + "trk:247:https://support.google.com/chrome/?p=incognito";
  268. #endif
  269. // The URL for the Learn More page shown on guest session new tab.
  270. const char kLearnMoreGuestSessionUrl[] =
  271. #if defined(OS_CHROMEOS)
  272. - "https://support.google.com/chromebook/?p=chromebook_guest";
  273. + "trk:248:https://support.google.com/chromebook/?p=chromebook_guest";
  274. #else
  275. - "https://support.google.com/chrome/?p=ui_guest";
  276. + "trk:261:https://support.google.com/chrome/?p=ui_guest";
  277. #endif
  278. SkColor GetThemeColor(const ui::ThemeProvider& tp, int id) {
  279. --- a/chrome/common/extensions/chrome_extensions_client.cc
  280. +++ b/chrome/common/extensions/chrome_extensions_client.cc
  281. @@ -46,9 +46,9 @@ namespace {
  282. // TODO(battre): Delete the HTTP URL once the blacklist is downloaded via HTTPS.
  283. const char kExtensionBlocklistUrlPrefix[] =
  284. - "http://www.gstatic.com/chrome/extensions/blacklist";
  285. + "trk:269:http://www.gstatic.com/chrome/extensions/blacklist";
  286. const char kExtensionBlocklistHttpsUrlPrefix[] =
  287. - "https://www.gstatic.com/chrome/extensions/blacklist";
  288. + "trk:270:https://www.gstatic.com/chrome/extensions/blacklist";
  289. const char kThumbsWhiteListedExtension[] = "khopmbdjffemhegeeobelklnbglcdgfh";
  290. --- a/chrome/common/url_constants.cc
  291. +++ b/chrome/common/url_constants.cc
  292. @@ -268,7 +268,7 @@ const char kSyncErrorsHelpURL[] =
  293. "https://support.google.com/chrome/?p=settings_sync_error";
  294. const char kSyncGoogleDashboardURL[] =
  295. - "https://www.google.com/settings/chrome/sync/";
  296. + "trk:251:https://www.google.com/settings/chrome/sync/";
  297. const char kSyncLearnMoreURL[] =
  298. "https://support.google.com/chrome/?p=settings_sign_in";
  299. @@ -388,7 +388,7 @@ const char kNaturalScrollHelpURL[] =
  300. const char kOemEulaURLPath[] = "oem";
  301. const char kOnlineEulaURLPath[] =
  302. - "https://policies.google.com/terms/embedded?hl=%s";
  303. + "trk:250:https://policies.google.com/terms/embedded?hl=%s";
  304. const char kAdditionalToSOnlineURLPath[] =
  305. "https://www.google.com/intl/%s/chrome/terms/";
  306. --- a/chrome/installer/setup/google_chrome_behaviors.cc
  307. +++ b/chrome/installer/setup/google_chrome_behaviors.cc
  308. @@ -44,7 +44,7 @@ base::string16 LocalizeUrl(const wchar_t
  309. base::string16 GetUninstallSurveyUrl() {
  310. static constexpr wchar_t kSurveyUrl[] =
  311. - L"https://support.google.com/chrome/contact/chromeuninstall3?hl=$1";
  312. + L"trk:253:https://support.google.com/chrome/contact/chromeuninstall3?hl=$1";
  313. return LocalizeUrl(kSurveyUrl);
  314. }
  315. --- a/chromecast/browser/service/cast_service_simple.cc
  316. +++ b/chromecast/browser/service/cast_service_simple.cc
  317. @@ -27,7 +27,7 @@ GURL GetStartupURL() {
  318. const base::CommandLine::StringVector& args = command_line->GetArgs();
  319. if (args.empty())
  320. - return GURL("http://www.google.com/");
  321. + return GURL("trk:255:http://www.google.com/");
  322. GURL url(args[0]);
  323. if (url.is_valid() && url.has_scheme())
  324. --- a/chromeos/geolocation/simple_geolocation_provider.cc
  325. +++ b/chromeos/geolocation/simple_geolocation_provider.cc
  326. @@ -20,7 +20,7 @@ namespace chromeos {
  327. namespace {
  328. const char kDefaultGeolocationProviderUrl[] =
  329. - "https://www.googleapis.com/geolocation/v1/geolocate?";
  330. + "trk:215:https://www.googleapis.com/geolocation/v1/geolocate?";
  331. } // namespace
  332. --- a/cloud_print/virtual_driver/win/port_monitor/port_monitor.cc
  333. +++ b/cloud_print/virtual_driver/win/port_monitor/port_monitor.cc
  334. @@ -40,7 +40,7 @@ namespace {
  335. const wchar_t kIePath[] = L"Internet Explorer\\iexplore.exe";
  336. const char kChromeInstallUrl[] =
  337. - "https://google.com/cloudprint/learn/chrome.html";
  338. + "trk:252:https://google.com/cloudprint/learn/chrome.html";
  339. const wchar_t kCloudPrintRegKey[] = L"Software\\Google\\CloudPrint";
  340. --- a/components/cloud_devices/common/cloud_devices_urls.cc
  341. +++ b/components/cloud_devices/common/cloud_devices_urls.cc
  342. @@ -14,20 +14,20 @@
  343. namespace cloud_devices {
  344. const char kCloudPrintAuthScope[] =
  345. - "https://www.googleapis.com/auth/cloudprint";
  346. + "trk:197:https://www.googleapis.com/auth/cloudprint";
  347. const char kCloudPrintLearnMoreURL[] =
  348. - "https://www.google.com/support/cloudprint";
  349. + "trk:199:https://www.google.com/support/cloudprint";
  350. const char kCloudPrintTestPageURL[] =
  351. - "http://www.google.com/landing/cloudprint/enable.html?print=true";
  352. + "trk:200:http://www.google.com/landing/cloudprint/enable.html?print=true";
  353. namespace {
  354. // Url must not be matched by "urls" section of
  355. // cloud_print_app/manifest.json. If it's matched, print driver dialog will
  356. // open sign-in page in separate window.
  357. -const char kCloudPrintURL[] = "https://www.google.com/cloudprint";
  358. +const char kCloudPrintURL[] = "trk:201:https://www.google.com/cloudprint";
  359. }
  360. --- a/components/crash/core/app/breakpad_linux.cc
  361. +++ b/components/crash/core/app/breakpad_linux.cc
  362. @@ -103,7 +103,7 @@ namespace {
  363. // while we do have functions to deal with uint64_t's.
  364. uint64_t g_crash_loop_before_time = 0;
  365. #else
  366. -const char kUploadURL[] = "https://clients2.google.com/cr/report";
  367. +const char kUploadURL[] = "trk:06:https://clients2.google.com/cr/report";
  368. #endif
  369. bool g_is_crash_reporter_enabled = false;
  370. --- a/components/drive/service/drive_api_service.cc
  371. +++ b/components/drive/service/drive_api_service.cc
  372. @@ -74,10 +74,10 @@ namespace drive {
  373. namespace {
  374. // OAuth2 scopes for Drive API.
  375. -const char kDriveScope[] = "https://www.googleapis.com/auth/drive";
  376. +const char kDriveScope[] = "trk:217:https://www.googleapis.com/auth/drive";
  377. const char kDriveAppsReadonlyScope[] =
  378. - "https://www.googleapis.com/auth/drive.apps.readonly";
  379. -const char kDriveAppsScope[] = "https://www.googleapis.com/auth/drive.apps";
  380. + "trk:218:https://www.googleapis.com/auth/drive.apps.readonly";
  381. +const char kDriveAppsScope[] = "trk:219:https://www.googleapis.com/auth/drive.apps";
  382. // Mime type to create a directory.
  383. const char kFolderMimeType[] = "application/vnd.google-apps.folder";
  384. --- a/components/feedback/feedback_uploader.cc
  385. +++ b/components/feedback/feedback_uploader.cc
  386. @@ -25,7 +25,7 @@ constexpr base::FilePath::CharType kFeed
  387. FILE_PATH_LITERAL("Feedback Reports");
  388. constexpr char kFeedbackPostUrl[] =
  389. - "https://www.google.com/tools/feedback/chrome/__submit";
  390. + "trk:232:https://www.google.com/tools/feedback/chrome/__submit";
  391. constexpr char kProtoBufMimeType[] = "application/x-protobuf";
  392. --- a/components/gcm_driver/gcm_account_tracker.cc
  393. +++ b/components/gcm_driver/gcm_account_tracker.cc
  394. @@ -27,9 +27,9 @@ namespace gcm {
  395. namespace {
  396. // Scopes needed by the OAuth2 access tokens.
  397. -const char kGCMGroupServerScope[] = "https://www.googleapis.com/auth/gcm";
  398. +const char kGCMGroupServerScope[] = "trk:230:https://www.googleapis.com/auth/gcm";
  399. const char kGCMCheckinServerScope[] =
  400. - "https://www.googleapis.com/auth/android_checkin";
  401. + "trk:231:https://www.googleapis.com/auth/android_checkin";
  402. // Name of the GCM account tracker for fetching access tokens.
  403. const char kGCMAccountTrackerName[] = "gcm_account_tracker";
  404. // Minimum token validity when sending to GCM groups server.
  405. --- a/components/history/core/browser/web_history_service.cc
  406. +++ b/components/history/core/browser/web_history_service.cc
  407. @@ -41,13 +41,13 @@ namespace history {
  408. namespace {
  409. const char kHistoryOAuthScope[] =
  410. - "https://www.googleapis.com/auth/chromesync";
  411. + "trk:138:https://www.googleapis.com/auth/chromesync";
  412. const char kHistoryQueryHistoryUrl[] =
  413. - "https://history.google.com/history/api/lookup?client=chrome";
  414. + "trk:139:https://history.google.com/history/api/lookup?client=chrome";
  415. const char kHistoryDeleteHistoryUrl[] =
  416. - "https://history.google.com/history/api/delete?client=chrome";
  417. + "trk:140:https://history.google.com/history/api/delete?client=chrome";
  418. const char kHistoryAudioHistoryUrl[] =
  419. "https://history.google.com/history/api/lookup?client=audio";
  420. --- a/components/metrics/url_constants.cc
  421. +++ b/components/metrics/url_constants.cc
  422. @@ -7,12 +7,12 @@
  423. namespace metrics {
  424. const char kNewMetricsServerUrl[] =
  425. - "https://clientservices.googleapis.com/uma/v2";
  426. + "trk:265:https://clientservices.googleapis.com/uma/v2";
  427. const char kNewMetricsServerUrlInsecure[] =
  428. - "http://clientservices.googleapis.com/uma/v2";
  429. + "trk:265:http://clientservices.googleapis.com/uma/v2";
  430. -const char kOldMetricsServerUrl[] = "https://clients4.google.com/uma/v2";
  431. +const char kOldMetricsServerUrl[] = "trk:265:https://clients4.google.com/uma/v2";
  432. const char kDefaultMetricsMimeType[] = "application/vnd.chrome.uma";
  433. --- a/components/password_manager/core/browser/password_store.cc
  434. +++ b/components/password_manager/core/browser/password_store.cc
  435. @@ -258,10 +258,10 @@ void PasswordStore::GetLogins(const Form
  436. // TODO(mdm): actually delete them at some point, say M24 or so.
  437. base::Time cutoff; // the null time
  438. if (form.scheme == PasswordForm::Scheme::kHtml &&
  439. - (form.signon_realm == "http://www.google.com" ||
  440. - form.signon_realm == "http://www.google.com/" ||
  441. - form.signon_realm == "https://www.google.com" ||
  442. - form.signon_realm == "https://www.google.com/")) {
  443. + (form.signon_realm == "trk:187:http://www.google.com" ||
  444. + form.signon_realm == "trk:188:http://www.google.com/" ||
  445. + form.signon_realm == "trk:189:https://www.google.com" ||
  446. + form.signon_realm == "trk:190:https://www.google.com/")) {
  447. static const base::Time::Exploded exploded_cutoff = {
  448. 2012, 1, 0, 1, 0, 0, 0, 0}; // 00:00 Jan 1 2012
  449. base::Time out_time;
  450. --- a/components/policy/core/common/policy_loader_win.cc
  451. +++ b/components/policy/core/common/policy_loader_win.cc
  452. @@ -56,7 +56,7 @@ const char kKeyThirdParty[] = "3rdparty"
  453. // The web store url that is the only trusted source for extensions.
  454. const char kExpectedWebStoreUrl[] =
  455. - ";https://clients2.google.com/service/update2/crx";
  456. + ";trk:15:https://clients2.google.com/service/update2/crx";
  457. // String to be prepended to each blocked entry.
  458. const char kBlockedExtensionPrefix[] = "[BLOCKED]";
  459. --- a/components/policy/resources/policy_templates.json
  460. +++ b/components/policy/resources/policy_templates.json
  461. @@ -4043,7 +4043,7 @@
  462. 'dynamic_refresh': True,
  463. 'per_profile': True,
  464. },
  465. - 'example_value': ['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;https://clients2.google.com/service/update2/crx', 'abcdefghijklmnopabcdefghijklmnop'],
  466. + 'example_value': ['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;trk:16:https://clients2.google.com/service/update2/crx', 'abcdefghijklmnopabcdefghijklmnop'],
  467. 'id': 34,
  468. 'caption': '''Configure the list of force-installed apps and extensions''',
  469. 'tags': ['full-admin-access'],
  470. @@ -8496,7 +8496,7 @@
  471. 'features': {
  472. 'dynamic_refresh': True,
  473. },
  474. - 'example_value': [ '{ "extension-id": "khgabmflimjjbclkmljlpmgaleanedem", "update-url": "https://clients2.google.com/service/update2/crx" }' ],
  475. + 'example_value': [ '{ "extension-id": "khgabmflimjjbclkmljlpmgaleanedem", "update-url": "trk:18:https://clients2.google.com/service/update2/crx" }' ],
  476. 'id': 135,
  477. 'caption': '''List of AppPack extensions''',
  478. 'tags': [],
  479. --- a/components/rappor/rappor_service_impl.cc
  480. +++ b/components/rappor/rappor_service_impl.cc
  481. @@ -32,7 +32,7 @@ const char kMimeType[] = "application/vn
  482. const char kRapporDailyEventHistogram[] = "Rappor.DailyEvent.IntervalType";
  483. // The rappor server's URL.
  484. -const char kDefaultServerUrl[] = "https://clients4.google.com/rappor";
  485. +const char kDefaultServerUrl[] = "trk:266:https://clients4.google.com/rappor";
  486. } // namespace
  487. --- a/components/safe_search_api/safe_search/safe_search_url_checker_client.cc
  488. +++ b/components/safe_search_api/safe_search/safe_search_url_checker_client.cc
  489. @@ -30,7 +30,7 @@ namespace safe_search_api {
  490. namespace {
  491. const char kSafeSearchApiUrl[] =
  492. - "https://safesearch.googleapis.com/v1:classify";
  493. + "trk:238:https://safesearch.googleapis.com/v1:classify";
  494. const char kDataContentType[] = "application/x-www-form-urlencoded";
  495. const char kDataFormat[] = "key=%s&urls=%s";
  496. --- a/components/search_engines/prepopulated_engines.json
  497. +++ b/components/search_engines/prepopulated_engines.json
  498. @@ -115,7 +115,7 @@
  499. "google": {
  500. "name": "Google",
  501. "keyword": "google.com",
  502. - "favicon_url": "https://www.google.com/images/branding/product/ico/googleg_lodp.ico",
  503. + "favicon_url": "trk:186:https://www.google.com/images/branding/product/ico/googleg_lodp.ico",
  504. "search_url": "{google:baseURL}search?q={searchTerms}&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:iOSSearchLanguage}{google:searchClient}{google:sourceId}{google:contextualSearchVersion}ie={inputEncoding}",
  505. "suggest_url": "{google:baseSuggestURL}search?{google:searchFieldtrialParameter}client={google:suggestClient}&gs_ri={google:suggestRid}&xssi=t&q={searchTerms}&{google:inputType}{google:omniboxFocusType}{google:cursorPosition}{google:currentPageUrl}{google:pageClassification}{google:searchVersion}{google:sessionToken}{google:prefetchQuery}sugkey={google:suggestAPIKeyParameter}",
  506. "image_url": "{google:baseURL}searchbyimage/upload",
  507. --- a/components/translate/core/browser/translate_url_fetcher.cc
  508. +++ b/components/translate/core/browser/translate_url_fetcher.cc
  509. @@ -113,6 +113,7 @@ bool TranslateURLFetcher::Request(const
  510. max_retry_on_5xx_, network::SimpleURLLoader::RetryMode::RETRY_ON_5XX);
  511. }
  512. + fprintf(stderr, "translator: fetching something from %s\n", url_.spec().c_str());
  513. simple_loader_->DownloadToStringOfUnboundedSizeUntilCrashAndDie(
  514. url_loader_factory,
  515. base::BindOnce(&TranslateURLFetcher::OnSimpleLoaderComplete,
  516. --- a/components/translate/core/common/translate_util.cc
  517. +++ b/components/translate/core/common/translate_util.cc
  518. @@ -18,7 +18,7 @@
  519. namespace translate {
  520. -const char kSecurityOrigin[] = "https://translate.googleapis.com/";
  521. +const char kSecurityOrigin[] = "trk:220:https://translate.googleapis.com/";
  522. GURL GetTranslateSecurityOrigin() {
  523. std::string security_origin(kSecurityOrigin);
  524. --- a/components/variations/variations_url_constants.cc
  525. +++ b/components/variations/variations_url_constants.cc
  526. @@ -8,7 +8,7 @@ namespace variations {
  527. // Default server of Variations seed info.
  528. const char kDefaultServerUrl[] =
  529. - "https://clientservices.googleapis.com/chrome-variations/seed";
  530. + "trk:142:https://clientservices.googleapis.com/chrome-variations/seed";
  531. const char kDefaultInsecureServerUrl[] =
  532. "http://clientservices.googleapis.com/chrome-variations/seed";
  533. --- a/content/browser/speech/speech_recognition_engine.cc
  534. +++ b/content/browser/speech/speech_recognition_engine.cc
  535. @@ -32,7 +32,7 @@ namespace content {
  536. namespace {
  537. const char kWebServiceBaseUrl[] =
  538. - "https://www.google.com/speech-api/full-duplex/v1";
  539. + "trk:184:https://www.google.com/speech-api/full-duplex/v1";
  540. const char kDownstreamUrl[] = "/down?";
  541. const char kUpstreamUrl[] = "/up?";
  542. --- a/content/shell/browser/shell_browser_main_parts.cc
  543. +++ b/content/shell/browser/shell_browser_main_parts.cc
  544. @@ -71,7 +71,7 @@ GURL GetStartupURL() {
  545. #else
  546. const base::CommandLine::StringVector& args = command_line->GetArgs();
  547. if (args.empty())
  548. - return GURL("https://www.google.com/");
  549. + return GURL("trk:183:https://www.google.com/");
  550. GURL url(args[0]);
  551. if (url.is_valid() && url.has_scheme())
  552. --- a/extensions/browser/updater/safe_manifest_parser.cc
  553. +++ b/extensions/browser/updater/safe_manifest_parser.cc
  554. @@ -28,7 +28,7 @@ namespace {
  555. constexpr char kExpectedGupdateProtocol[] = "2.0";
  556. constexpr char kExpectedGupdateXmlns[] =
  557. - "http://www.google.com/update2/response";
  558. + "trk:182:http://www.google.com/update2/response";
  559. void ReportError(ParseUpdateManifestCallback callback,
  560. const std::string& error) {
  561. --- a/extensions/common/extension_urls.cc
  562. +++ b/extensions/common/extension_urls.cc
  563. @@ -32,7 +32,7 @@ namespace extension_urls {
  564. const char kChromeWebstoreBaseURL[] = "https://chrome.google.com/webstore";
  565. const char kChromeWebstoreUpdateURL[] =
  566. - "https://clients2.google.com/service/update2/crx";
  567. + "trk:05:https://clients2.google.com/service/update2/crx";
  568. GURL GetWebstoreLaunchURL() {
  569. extensions::ExtensionsClient* client = extensions::ExtensionsClient::Get();
  570. --- a/google_apis/gaia/gaia_constants.cc
  571. +++ b/google_apis/gaia/gaia_constants.cc
  572. @@ -25,55 +25,55 @@ const char kSyncService[] = "chromiumsyn
  573. const char kRemotingService[] = "chromoting";
  574. // OAuth scopes.
  575. -const char kOAuth1LoginScope[] = "https://www.google.com/accounts/OAuthLogin";
  576. +const char kOAuth1LoginScope[] = "trk:181:https://www.google.com/accounts/OAuthLogin";
  577. const char kOAuthWrapBridgeUserInfoScope[] =
  578. - "https://www.googleapis.com/auth/userinfo.email";
  579. + "trk:101:https://www.googleapis.com/auth/userinfo.email";
  580. // Service/scope names for device management (cloud-based policy) server.
  581. const char kDeviceManagementServiceOAuth[] =
  582. - "https://www.googleapis.com/auth/chromeosdevicemanagement";
  583. + "trk:102:https://www.googleapis.com/auth/chromeosdevicemanagement";
  584. // OAuth2 scope for access to all Google APIs.
  585. -const char kAnyApiOAuth2Scope[] = "https://www.googleapis.com/auth/any-api";
  586. +const char kAnyApiOAuth2Scope[] = "trk:103:https://www.googleapis.com/auth/any-api";
  587. // OAuth2 scope for access to Chrome sync APIs
  588. const char kChromeSyncOAuth2Scope[] =
  589. - "https://www.googleapis.com/auth/chromesync";
  590. + "trk:104:https://www.googleapis.com/auth/chromesync";
  591. // OAuth2 scope for access to the Chrome Sync APIs for managed profiles.
  592. const char kChromeSyncSupervisedOAuth2Scope[] =
  593. - "https://www.googleapis.com/auth/chromesync_playpen";
  594. + "trk:105:https://www.googleapis.com/auth/chromesync_playpen";
  595. // OAuth2 scope for parental consent logging for secondary account addition.
  596. const char kKidManagementPrivilegedOAuth2Scope[] =
  597. - "https://www.googleapis.com/auth/kid.management.privileged";
  598. + "trk:276:https://www.googleapis.com/auth/kid.management.privileged";
  599. // OAuth2 scope for access to Google Family Link Supervision Setup.
  600. const char kKidsSupervisionSetupChildOAuth2Scope[] =
  601. - "https://www.googleapis.com/auth/kids.supervision.setup.child";
  602. + "trk:275:https://www.googleapis.com/auth/kids.supervision.setup.child";
  603. // OAuth2 scope for access to Google Talk APIs (XMPP).
  604. const char kGoogleTalkOAuth2Scope[] =
  605. - "https://www.googleapis.com/auth/googletalk";
  606. + "trk:106:https://www.googleapis.com/auth/googletalk";
  607. const char kGoogleUserInfoEmail[] =
  608. - "https://www.googleapis.com/auth/userinfo.email";
  609. + "trk:107:https://www.googleapis.com/auth/userinfo.email";
  610. const char kGoogleUserInfoProfile[] =
  611. - "https://www.googleapis.com/auth/userinfo.profile";
  612. + "trk:260:https://www.googleapis.com/auth/userinfo.profile";
  613. // OAuth scope for access to the people API (read-only).
  614. const char kPeopleApiReadOnlyOAuth2Scope[] =
  615. - "https://www.googleapis.com/auth/peopleapi.readonly";
  616. + "trk:277:https://www.googleapis.com/auth/peopleapi.readonly";
  617. // OAuth scope for access to the Reauth flow.
  618. const char kAccountsReauthOAuth2Scope[] =
  619. - "https://www.googleapis.com/auth/accounts.reauth";
  620. + "trk:278:https://www.googleapis.com/auth/accounts.reauth";
  621. // OAuth scope for access to audit recording (ARI).
  622. const char kAuditRecordingOAuth2Scope[] =
  623. - "https://www.googleapis.com/auth/auditrecording-pa";
  624. + "trk:279:https://www.googleapis.com/auth/auditrecording-pa";
  625. // OAuth scope for access to clear cut logs.
  626. -const char kClearCutOAuth2Scope[] = "https://www.googleapis.com/auth/cclog";
  627. +const char kClearCutOAuth2Scope[] = "trk:280:https://www.googleapis.com/auth/cclog";
  628. // Used to mint uber auth tokens when needed.
  629. const char kGaiaSid[] = "sid";
  630. --- a/google_apis/gcm/engine/gservices_settings.cc
  631. +++ b/google_apis/gcm/engine/gservices_settings.cc
  632. @@ -29,18 +29,18 @@ const char kRegistrationURLKey[] = "gcm_
  633. const int64_t kDefaultCheckinInterval = 2 * 24 * 60 * 60; // seconds = 2 days.
  634. const int64_t kMinimumCheckinInterval = 12 * 60 * 60; // seconds = 12 hours.
  635. -const char kDefaultCheckinURL[] = "https://android.clients.google.com/checkin";
  636. +const char kDefaultCheckinURL[] = "trk:110:https://android.clients.google.com/checkin";
  637. const char kDefaultMCSHostname[] = "mtalk.google.com";
  638. const int kDefaultMCSMainSecurePort = 5228;
  639. const int kDefaultMCSFallbackSecurePort = 443;
  640. const char kDefaultRegistrationURL[] =
  641. - "https://android.clients.google.com/c2dm/register3";
  642. + "trk:111:https://android.clients.google.com/c2dm/register3";
  643. // Settings that are to be deleted are marked with this prefix in checkin
  644. // response.
  645. const char kDeleteSettingPrefix[] = "delete_";
  646. // Settings digest starts with verison number followed by '-'.
  647. const char kDigestVersionPrefix[] = "1-";
  648. -const char kMCSEnpointTemplate[] = "https://%s:%d";
  649. +const char kMCSEnpointTemplate[] = "trk:112:https://%s:%d";
  650. const int kMaxSecurePort = 65535;
  651. std::string MakeMCSEndpoint(const std::string& mcs_hostname, int port) {
  652. --- a/jingle/notifier/base/gaia_token_pre_xmpp_auth.cc
  653. +++ b/jingle/notifier/base/gaia_token_pre_xmpp_auth.cc
  654. @@ -33,7 +33,7 @@ class GaiaCookieMechanism : public jingl
  655. // These attributes are necessary for working with non-gmail gaia
  656. // accounts.
  657. const std::string NS_GOOGLE_AUTH_PROTOCOL(
  658. - "http://www.google.com/talk/protocol/auth");
  659. + "trk:179:http://www.google.com/talk/protocol/auth");
  660. const jingle_xmpp::QName QN_GOOGLE_ALLOW_GENERATED_JID_XMPP_LOGIN(
  661. NS_GOOGLE_AUTH_PROTOCOL, "allow-generated-jid");
  662. const jingle_xmpp::QName QN_GOOGLE_AUTH_CLIENT_USES_FULL_BIND_RESULT(
  663. --- a/remoting/base/breakpad_mac.mm
  664. +++ b/remoting/base/breakpad_mac.mm
  665. @@ -52,7 +52,7 @@ void InitializeCrashReporting() {
  666. [breakpad_config setObject:@"21600" forKey:@BREAKPAD_REPORT_INTERVAL];
  667. }
  668. if (![breakpad_config objectForKey:@BREAKPAD_URL]) {
  669. - [breakpad_config setObject:@"https://clients2.google.com/cr/report"
  670. + [breakpad_config setObject:@"trk:108:https://clients2.google.com/cr/report"
  671. forKey:@BREAKPAD_URL];
  672. }
  673. --- a/remoting/protocol/jingle_messages.cc
  674. +++ b/remoting/protocol/jingle_messages.cc
  675. @@ -24,7 +24,7 @@ const char kJabberNamespace[] = "jabber:
  676. const char kJingleNamespace[] = "urn:xmpp:jingle:1";
  677. // Namespace for transport messages when using standard ICE.
  678. -const char kIceTransportNamespace[] = "google:remoting:ice";
  679. +const char kIceTransportNamespace[] = "trk:100:google:remoting:ice";
  680. const char kWebrtcTransportNamespace[] = "google:remoting:webrtc";
  681. --- a/ui/views/examples/webview_example.cc
  682. +++ b/ui/views/examples/webview_example.cc
  683. @@ -27,7 +27,7 @@ void WebViewExample::CreateExampleView(V
  684. container->SetLayoutManager(std::make_unique<FillLayout>());
  685. container->AddChildView(webview_);
  686. - webview_->LoadInitialURL(GURL("http://www.google.com/"));
  687. + webview_->LoadInitialURL(GURL("trk:174:http://www.google.com/"));
  688. webview_->GetWebContents()->Focus();
  689. }