The current implementation of update_client::UpdateChecker supports only XML encoded update requests sent over POST transactions. It's desirable to migrate to different other encodings and possibly, to different kinds of HTTP requests.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/888ec2945cf3f4d44b4f112e861f2feed67a0b9b commit 888ec2945cf3f4d44b4f112e861f2feed67a0b9b Author: Sorin Jianu <sorin@chromium.org> Date: Fri Jun 01 15:35:42 2018 Refactor the UpdateChecker to return the parse results. This allows for loosing the coupling between the update checker and the Component, since the update checker is not mutating the state of the component directly anymore. The Component is still needed as input for the UpdateChecker since building an update check requires component state. Bug: 848505 Change-Id: I677d25d0fb645f50dba59e74e2a49a7a33811cf9 Reviewed-on: https://chromium-review.googlesource.com/1079637 Reviewed-by: Joshua Pawlicki <waffles@chromium.org> Commit-Queue: Sorin Jianu <sorin@chromium.org> Cr-Commit-Position: refs/heads/master@{#563644} [add] https://crrev.com/888ec2945cf3f4d44b4f112e861f2feed67a0b9b/components/test/data/update_client/updatecheck_reply_parse_error.xml [modify] https://crrev.com/888ec2945cf3f4d44b4f112e861f2feed67a0b9b/components/update_client/BUILD.gn [modify] https://crrev.com/888ec2945cf3f4d44b4f112e861f2feed67a0b9b/components/update_client/component.cc [modify] https://crrev.com/888ec2945cf3f4d44b4f112e861f2feed67a0b9b/components/update_client/component.h [modify] https://crrev.com/888ec2945cf3f4d44b4f112e861f2feed67a0b9b/components/update_client/request_sender.cc [modify] https://crrev.com/888ec2945cf3f4d44b4f112e861f2feed67a0b9b/components/update_client/request_sender.h [modify] https://crrev.com/888ec2945cf3f4d44b4f112e861f2feed67a0b9b/components/update_client/request_sender_unittest.cc [modify] https://crrev.com/888ec2945cf3f4d44b4f112e861f2feed67a0b9b/components/update_client/update_checker.cc [modify] https://crrev.com/888ec2945cf3f4d44b4f112e861f2feed67a0b9b/components/update_client/update_checker.h [modify] https://crrev.com/888ec2945cf3f4d44b4f112e861f2feed67a0b9b/components/update_client/update_checker_unittest.cc [modify] https://crrev.com/888ec2945cf3f4d44b4f112e861f2feed67a0b9b/components/update_client/update_client_errors.h [modify] https://crrev.com/888ec2945cf3f4d44b4f112e861f2feed67a0b9b/components/update_client/update_client_unittest.cc [modify] https://crrev.com/888ec2945cf3f4d44b4f112e861f2feed67a0b9b/components/update_client/update_engine.cc [modify] https://crrev.com/888ec2945cf3f4d44b4f112e861f2feed67a0b9b/components/update_client/update_engine.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/039032ba4f4a71c87ab7f9d006fc2071f4317586 commit 039032ba4f4a71c87ab7f9d006fc2071f4317586 Author: Sorin Jianu <sorin@chromium.org> Date: Fri Oct 12 21:48:13 2018 update_client: refactor the parsing and serializing of XML. This is a mechanical change. It introduces ProtocolParser and ProtocolSerializer abstract classes to allow different protocols in the future. Only the XML implementation of these classes is provided in this changelist. Bug: 848505 Change-Id: I4bda0f92f5b676f0f0eaca7dc841c8dca9c282ad Reviewed-on: https://chromium-review.googlesource.com/c/1278476 Commit-Queue: Sorin Jianu <sorin@chromium.org> Reviewed-by: Joshua Pawlicki <waffles@chromium.org> Cr-Commit-Position: refs/heads/master@{#599366} [modify] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/BUILD.gn [modify] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/component.cc [modify] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/component.h [modify] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/ping_manager.cc [modify] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/ping_manager_unittest.cc [delete] https://crrev.com/5b50594018f5d39b87d9dbe390c900b4560c2d46/components/update_client/protocol_builder.cc [delete] https://crrev.com/5b50594018f5d39b87d9dbe390c900b4560c2d46/components/update_client/protocol_builder.h [delete] https://crrev.com/5b50594018f5d39b87d9dbe390c900b4560c2d46/components/update_client/protocol_builder_unittest.cc [add] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/protocol_definition.cc [add] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/protocol_definition.h [modify] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/protocol_parser.cc [modify] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/protocol_parser.h [add] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/protocol_parser_xml.cc [add] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/protocol_parser_xml.h [rename] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/protocol_parser_xml_unittest.cc [add] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/protocol_serializer.cc [add] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/protocol_serializer.h [add] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/protocol_serializer_unittest.cc [add] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/protocol_serializer_xml.cc [add] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/protocol_serializer_xml.h [add] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/protocol_serializer_xml_unittest.cc [modify] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/update_checker.cc [modify] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/update_checker_unittest.cc [modify] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/update_client_unittest.cc [modify] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/updater_state.h [modify] https://crrev.com/039032ba4f4a71c87ab7f9d006fc2071f4317586/components/update_client/utils.cc
Comment 1 by bugdroid1@chromium.org
, Jun 1 2018