[iOS]Browser’s unset its coordinators after stopping them.

Usually, when a coordinator is stopped, it’s set to nil or at least
to a new object.
This is now done almost systematically in the browser coordinator.

The only exception is the NTP, because:
* it can be restarted after being stopped,
* it is given as property’s value to many other objects.

Those other coordinators were not sent to any other objects, and
were always set to new object before being started. Also, even when
its properties where accessed, it’s relatively easy to see this
should not be a change in behaviour. Indeed:
* No calls are made to `pageInfoCoordinator` and
`textZoomCoordinator`
* most method call to the `FindBarCoordinator` are done in the
implementation of the find bar delegate. The only exception is a
call to the method that requests to lose the focus, which should
already have no effect if the coordinator is stopped.
* the only access to the PasskitCoordinator were to access the
passes. Those passses are set to nil when the coordinator is
stopped, so it’s certain the value returned is not changed if the
code were accidentally executed.

Bug: None
Change-Id: I8d64cff3897961b29e8ab255f44b67ce52c5134f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6049582
Reviewed-by: Mark Cogan <marq@chromium.org>
Auto-Submit: Arthur Milchior <arthurmilchior@chromium.org>
Commit-Queue: Arthur Milchior <arthurmilchior@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1391005}
1 file changed
tree: f5a21256bad0592fa2cdd45574431dfbccc3b2cc
  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. codelabs/
  13. components/
  14. content/
  15. crypto/
  16. dbus/
  17. device/
  18. docs/
  19. extensions/
  20. fuchsia_web/
  21. gin/
  22. google_apis/
  23. gpu/
  24. headless/
  25. infra/
  26. ios/
  27. ipc/
  28. media/
  29. mojo/
  30. native_client_sdk/
  31. net/
  32. pdf/
  33. ppapi/
  34. printing/
  35. remoting/
  36. rlz/
  37. sandbox/
  38. services/
  39. skia/
  40. sql/
  41. storage/
  42. styleguide/
  43. testing/
  44. third_party/
  45. tools/
  46. ui/
  47. url/
  48. webkit/
  49. .clang-format
  50. .clang-tidy
  51. .clangd
  52. .git-blame-ignore-revs
  53. .gitallowed
  54. .gitattributes
  55. .gitignore
  56. .gitmodules
  57. .gn
  58. .mailmap
  59. .rustfmt.toml
  60. .vpython3
  61. .yapfignore
  62. ATL_OWNERS
  63. AUTHORS
  64. BUILD.gn
  65. CODE_OF_CONDUCT.md
  66. codereview.settings
  67. CPPLINT.cfg
  68. CRYPTO_OWNERS
  69. DEPS
  70. DIR_METADATA
  71. LICENSE
  72. LICENSE.chromium_os
  73. OWNERS
  74. PRESUBMIT.py
  75. PRESUBMIT_test.py
  76. PRESUBMIT_test_mocks.py
  77. README.md
  78. 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.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

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.

If you found a bug, please file it at https://crbug.com/new.