[sync] Clean up feature SyncIgnoreSyncRequestedPreference

No behavioral changes, other than cleaning up a feature flag that has
been enabled by default for some time.

The one non-trivial part to reason about is handling
IsSyncClientDisabledByPolicy(), which explicitly caused
IsSyncFeatureConsideredRequested() to return false before this patch but
may return true afterwards.

However, looking closely enough to the 4 calling sites, it is possible
to conclude that there aren't behavioral changes:
1) CanSyncFeatureStart(): verifies that GetDisableReasons() is empty,
   which wouldn't hold true due to DISABLE_REASON_ENTERPRISE_POLICY.

2) SyncServiceImpl initialization, when termining whether deferred
   startup should be used: it is unreachable because
   IsEngineAllowedToRun() would have returned false, for the same
   reason as above.

3) SyncServiceImpl initialization, when logging a metric via
   RecordSyncInitialState(): although the value for parameter
   `is_sync_feature_requested` may become true, internally the function
   only consumes this bit if GetDisableReasons() is empty, hence it is
   similar to the above.

4) SyncServiceImpl::IsSyncFeatureDisabledViaDashboard(), which may
   have incorrectly reported true before this patch. But it makes no
   difference in practice, because the only calling site in
   sync_ui_util.cc first verifies DISABLE_REASON_ENTERPRISE_POLICY.

Change-Id: I4c43e54291508d629b10d14b3948903ffc54b45f
Bug: 1219990
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4886256
Commit-Queue: Mikel Astiz <mastiz@chromium.org>
Reviewed-by: Ankush Singh <ankushkush@google.com>
Cr-Commit-Position: refs/heads/main@{#1200366}
6 files changed
tree: 61cf2869f774e89017e9c325e8fbb63cfe280dfe
  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. courgette/
  16. crypto/
  17. dbus/
  18. device/
  19. docs/
  20. extensions/
  21. fuchsia_web/
  22. gin/
  23. google_apis/
  24. google_update/
  25. gpu/
  26. headless/
  27. infra/
  28. ios/
  29. ipc/
  30. media/
  31. mojo/
  32. native_client_sdk/
  33. net/
  34. pdf/
  35. ppapi/
  36. printing/
  37. remoting/
  38. rlz/
  39. sandbox/
  40. services/
  41. skia/
  42. sql/
  43. storage/
  44. styleguide/
  45. testing/
  46. third_party/
  47. tools/
  48. ui/
  49. url/
  50. webkit/
  51. .clang-format
  52. .clang-tidy
  53. .eslintrc.js
  54. .git-blame-ignore-revs
  55. .gitattributes
  56. .gitignore
  57. .gitmodules
  58. .gn
  59. .mailmap
  60. .rustfmt.toml
  61. .vpython3
  62. .yapfignore
  63. ATL_OWNERS
  64. AUTHORS
  65. BUILD.gn
  66. CODE_OF_CONDUCT.md
  67. codereview.settings
  68. DEPS
  69. DIR_METADATA
  70. LICENSE
  71. LICENSE.chromium_os
  72. OWNERS
  73. PRESUBMIT.py
  74. PRESUBMIT_test.py
  75. PRESUBMIT_test_mocks.py
  76. README.md
  77. 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.