UpdateManager: Move logic from UpdateCanStart to UpdateCheckAllowed.

The following should be part of the policy that is consulted before
performing an update check:

1) Whether updates are disabled by device policy.

2) Whether a specific target channel is dictated by the device policy.

This CL moves it from UpdateCanStart into UpdateCheckAllowed.

Another change is renaming the output construct of UpdateCanStart into
'UpdateDownloadParams'; this is in line with the naming of the output
struct of UpdateCheckAllowed, and reflects the fact that it contains
information regarding the download of an update, to be used by the
caller.

BUG=chromium:388386
TEST=Unit tests.

Change-Id: I0631a4464800db77807d7da9a2a2c256b519c5c3
Reviewed-on: https://chromium-review.googlesource.com/205728
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Commit-Queue: Gilad Arnold <garnold@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
7 files changed
tree: f44548aecf6d20b1d1646e5b350826283c940861
  1. init/
  2. payload_generator/
  3. update_manager/
  4. .gitignore
  5. action.h
  6. action_mock.h
  7. action_pipe.h
  8. action_pipe_unittest.cc
  9. action_processor.cc
  10. action_processor.h
  11. action_processor_mock.h
  12. action_processor_unittest.cc
  13. action_unittest.cc
  14. build
  15. bzip.cc
  16. bzip.h
  17. bzip_extent_writer.cc
  18. bzip_extent_writer.h
  19. bzip_extent_writer_unittest.cc
  20. certificate_checker.cc
  21. certificate_checker.h
  22. certificate_checker_mock.h
  23. certificate_checker_unittest.cc
  24. chrome_browser_proxy_resolver.cc
  25. chrome_browser_proxy_resolver.h
  26. chrome_browser_proxy_resolver_unittest.cc
  27. clock.cc
  28. clock.h
  29. clock_interface.h
  30. connection_manager.cc
  31. connection_manager.h
  32. connection_manager_unittest.cc
  33. constants.cc
  34. constants.h
  35. dbus_constants.h
  36. dbus_service.cc
  37. dbus_service.h
  38. dbus_wrapper_interface.h
  39. delta_performer.cc
  40. delta_performer.h
  41. delta_performer_unittest.cc
  42. download_action.cc
  43. download_action.h
  44. download_action_unittest.cc
  45. error_code.h
  46. extent_ranges.cc
  47. extent_ranges.h
  48. extent_ranges_unittest.cc
  49. extent_writer.cc
  50. extent_writer.h
  51. extent_writer_unittest.cc
  52. fake_clock.h
  53. fake_hardware.h
  54. fake_p2p_manager.h
  55. fake_p2p_manager_configuration.h
  56. fake_prefs.cc
  57. fake_prefs.h
  58. fake_system_state.cc
  59. fake_system_state.h
  60. file_descriptor.cc
  61. file_descriptor.h
  62. file_writer.cc
  63. file_writer.h
  64. file_writer_mock.h
  65. file_writer_unittest.cc
  66. filesystem_copier_action.cc
  67. filesystem_copier_action.h
  68. filesystem_copier_action_unittest.cc
  69. gen_coverage_html
  70. hardware.cc
  71. hardware.h
  72. hardware_interface.h
  73. http_common.cc
  74. http_common.h
  75. http_fetcher.cc
  76. http_fetcher.h
  77. http_fetcher_unittest.cc
  78. hwid_override.cc
  79. hwid_override.h
  80. hwid_override_unittest.cc
  81. inherit-review-settings-ok
  82. install_plan.cc
  83. install_plan.h
  84. libcurl_http_fetcher.cc
  85. libcurl_http_fetcher.h
  86. local_coverage_rate
  87. main.cc
  88. metrics.cc
  89. metrics.h
  90. mock_connection_manager.h
  91. mock_dbus_wrapper.h
  92. mock_file_writer.h
  93. mock_hardware.h
  94. mock_http_fetcher.cc
  95. mock_http_fetcher.h
  96. mock_p2p_manager.h
  97. mock_payload_state.h
  98. multi_range_http_fetcher.cc
  99. multi_range_http_fetcher.h
  100. omaha_hash_calculator.cc
  101. omaha_hash_calculator.h
  102. omaha_hash_calculator_unittest.cc
  103. omaha_request_action.cc
  104. omaha_request_action.h
  105. omaha_request_action_unittest.cc
  106. omaha_request_params.cc
  107. omaha_request_params.h
  108. omaha_request_params_unittest.cc
  109. omaha_response.h
  110. omaha_response_handler_action.cc
  111. omaha_response_handler_action.h
  112. omaha_response_handler_action_unittest.cc
  113. p2p_manager.cc
  114. p2p_manager.h
  115. p2p_manager_unittest.cc
  116. payload_constants.cc
  117. payload_constants.h
  118. payload_signer.cc
  119. payload_signer.h
  120. payload_signer_unittest.cc
  121. payload_state.cc
  122. payload_state.h
  123. payload_state_interface.h
  124. payload_state_unittest.cc
  125. postinstall_runner_action.cc
  126. postinstall_runner_action.h
  127. postinstall_runner_action_unittest.cc
  128. prefs.cc
  129. prefs.h
  130. prefs_interface.h
  131. prefs_mock.h
  132. prefs_unittest.cc
  133. proxy_resolver.cc
  134. proxy_resolver.h
  135. real_dbus_wrapper.h
  136. real_system_state.cc
  137. real_system_state.h
  138. run_unittests
  139. sample_omaha_v3_response.xml
  140. SConstruct
  141. simple_key_value_store.cc
  142. simple_key_value_store.h
  143. simple_key_value_store_unittest.cc
  144. subprocess.cc
  145. subprocess.h
  146. subprocess_unittest.cc
  147. system_state.h
  148. terminator.cc
  149. terminator.h
  150. terminator_unittest.cc
  151. test_http_server.cc
  152. test_utils.cc
  153. test_utils.h
  154. testrunner.cc
  155. unittest_key.pem
  156. unittest_key2.pem
  157. update_attempter.cc
  158. update_attempter.h
  159. update_attempter_mock.h
  160. update_attempter_unittest.cc
  161. update_check_scheduler.cc
  162. update_check_scheduler.h
  163. update_check_scheduler_unittest.cc
  164. update_engine.xml
  165. update_engine_client.cc
  166. update_metadata.proto
  167. UpdateEngine.conf
  168. utils.cc
  169. utils.h
  170. utils_unittest.cc
  171. WATCHLISTS
  172. zip_unittest.cc