New issue
Advanced search Search tips

Issue 848505 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 881076
Owner:
Closed: Oct 19
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Refactor update_client::UpdateChecker to support different wire protocols

Project Member Reported by sorin@chromium.org, May 31 2018

Issue description

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.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 1 2018

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

Project Member

Comment 2 by bugdroid1@chromium.org, Oct 12

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

Mergedinto: 881076
Status: Duplicate (was: Started)

Sign in to add a comment