Pass source URL when setting a cookie

Instead of only passing the scheme of the cookie's source, this now
passes the whole URL.

Most of the call sites already have the URL (e.g. they used it to create
the cookie object in the first place). These callers were previously
passing url.scheme() and were converted to just pass the url.

Some callers did not have the source URL. These were converted to use
a fake URL cobbled together from the original scheme, the cookie's
domain attribute, and the cookie's path attribute. Most of these call
sites were in tests, but a handful were in production code.

As of now, the use of a simulated source URL doesn't matter (since the
CookieStore implementation only uses its scheme anyway).

Bug: 1069642
Change-Id: If239280a3d43b7c0e2ff9af9daa9989350957b3d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2145152
Commit-Queue: Lily Chen <[email protected]>
Reviewed-by: Achuith Bhandarkar <[email protected]>
Reviewed-by: Mikel Astiz <[email protected]>
Reviewed-by: Boris Sazonov <[email protected]>
Reviewed-by: Wez <[email protected]>
Reviewed-by: Richard Coles <[email protected]>
Reviewed-by: Maksim Orlovich <[email protected]>
Reviewed-by: John Abd-El-Malek <[email protected]>
Reviewed-by: Tom Sepez <[email protected]>
Reviewed-by: Becca Hughes <[email protected]>
Reviewed-by: Kyle Horimoto <[email protected]>
Reviewed-by: Eugene But <[email protected]>
Reviewed-by: Joshua Bell <[email protected]>
Reviewed-by: Tarun Bansal <[email protected]>
Reviewed-by: Wei Li <[email protected]>
Reviewed-by: Karan Bhatia <[email protected]>
Cr-Commit-Position: refs/heads/master@{#759324}
73 files changed
tree: 1cb99c43f81c36c4fcc4674b2654caad57baa0e8
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. cloud_print/
  13. components/
  14. content/
  15. courgette/
  16. crypto/
  17. dbus/
  18. device/
  19. docs/
  20. extensions/
  21. fuchsia/
  22. gin/
  23. google_apis/
  24. google_update/
  25. gpu/
  26. headless/
  27. infra/
  28. ios/
  29. ipc/
  30. jingle/
  31. media/
  32. mojo/
  33. native_client_sdk/
  34. net/
  35. pdf/
  36. ppapi/
  37. printing/
  38. remoting/
  39. rlz/
  40. sandbox/
  41. services/
  42. skia/
  43. sql/
  44. storage/
  45. styleguide/
  46. testing/
  47. third_party/
  48. tools/
  49. ui/
  50. url/
  51. weblayer/
  52. .clang-format
  53. .clang-tidy
  54. .eslintrc.js
  55. .git-blame-ignore-revs
  56. .gitattributes
  57. .gitignore
  58. .gn
  59. .vpython
  60. .vpython3
  61. .yapfignore
  62. AUTHORS
  63. BUILD.gn
  64. CODE_OF_CONDUCT.md
  65. codereview.settings
  66. DEPS
  67. ENG_REVIEW_OWNERS
  68. LICENSE
  69. LICENSE.chromium_os
  70. OWNERS
  71. PRESUBMIT.py
  72. PRESUBMIT_test.py
  73. PRESUBMIT_test_mocks.py
  74. README.md
  75. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure .

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.