- Adding specific examples about serialization in JSON vs. XML so
we can critique how it will ultimately be formatted in context of the
spec.
- dropping "hash_" prefix from hash_in/out to match differential
`previous` objects of the same type.
- clarified that the `hash` object is both a request and a response
object.
- renamed `cache` to `cached_hashes` to clarify the type and also
match the plural list guidance in JSON.
- Pluralizing new and pre-existing list properties to match the
style expectations defined for JSON. This makes it self-documenting in
both XML and JSON that an object is a list, even when the list contains
only a single element.
For context, see:
https://google.github.io/styleguide/jsoncstyleguide.xml?showone=Singular_vs_Plural_Property_Names#Singular_vs_Plural_Property_Names
Fixed: 399959348
Change-Id: I345e0bd2448453f712b898bc20b9b54358a50990
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6314174
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: James Decker <deckerjames@google.com>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1427229}
Previously, the IID would always be cleared on
the first update check, which is usually the
update-check-to-install. To avoid continuously
retransmitting a unique identifier for inactive
clients, the install ID is not sent for
non-active updatechecks, nor for non-install
pings.
Also, update the install ID on an overinstall.
This helps terminate the install funnel
telemetry for installers used in an overinstall
context.
Bug: 343239826
Change-Id: Ifb216019179fc307e2ac13e2a7abc4005f62dccd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6249219
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1418371}
Before this CL, the updater UI title would just say `Chromium Installer`
or `Google Installer` regardless of the app being installed.
With this CL, the updater UI title says `Google Chrome Installer` when
for instance installing Google Chrome for the branded case.
Fixed: 372353085
Change-Id: I7c716ec879688a2848a9e842425507545fd01480
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5918774
Commit-Queue: S Ganesh <ganesh@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1366362}
If an installer is abandoned or an app is modified by an external source
the version in the updater prefs may be out of sync with the installed
version. To prevent these values from getting out of sync lookup the
product version in the `Clients` registry, and, if its a valid version,
override the version in the updater prefs.
This fix is not necessary on macOS because `LookupVersion` is already
implemented on macOS to lookup the version in the app's registered
plist.
Bug: 370543468
Change-Id: Ia39daf0f427adb763e2b1debcffcf358a639ab3c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5909796
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1365696}
With this CL, if the update check period is set to zero, the updater is
pre-qualified by registering a higher version of the qualification app.
This is because the qualification app update will not happen if the
update check period is set to zero.
Fixed: 365722093
Change-Id: I4116b91433d04a184d956b6e093150dba892ce9f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5901871
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1362979}
* The splash screen is now a bit smaller, and shows an icon in addition
to the "Initialization..." text.
* The splash screen class is now in its own compilation unit.
* The functional spec has been updated to mention the splash screen.
Bug: 40234383
Change-Id: Ie352e60204d960ae5a228368cb7ac432f7871b84
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5893560
Auto-Submit: S Ganesh <ganesh@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1361318}
This CL:
* generates and archives group policy ADM files within
`GoogleUpdateAdmx.zip` and `GoogleCloudManagementAdmx.zip` for
enterprise customers for Google-branded builds only.
* tests ADM template file generation with a reference `gold` file.
* adds information to the functional spec about the ADM templates.
Bug: 40212354
Change-Id: I58648d6fe2e89c26d391ad4bbb43e23ec880b12c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5852523
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1353898}
When the updater uninstalls itself, and there are no other versions of
the updater in existence for the scope, the updater will save a copy of
the final log file to `{SystemTemp/%TMP%}\updater.log`. If a log file
already exists, it is overwritten.
Low-Coverage-Reason: COVERAGE_UNDERREPORTED
Bug: 345289052
Change-Id: I4a4e1331f5b45ba5a2be2466e12e6e6b894134b8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5842617
Auto-Submit: S Ganesh <ganesh@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1352387}
The state of protocol_4.md in patchset 2 represents the
initial `protocol_3.1.md` file.
To see the proposed changes in protocol 4, please observe
the differences between patchset 2 and the newest
patchset.
(Note: I also found a few documentation bugs in
`protocol_3.1.md` file).
Change-Id: I031266c5f7c3f1a5a5e4f7f5626e73bb04e038cf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5555743
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: James Decker <deckerjames@google.com>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1347560}
On Linux it is customary to install software to directories with
lowercase names, e.g. "/opt/google" instead of "/opt/Google", as we have
been doing in O4.
This change breaks integration tests which expect old_updater to
populate files in the install directory (e.g. prefs). Such tests have
been disabled until we can roll a new binary.
Bug: 353540580
Change-Id: I6b38a0654c9513a5428049b1af1b5c90968e269f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5798586
Auto-Submit: Noah Rose Ledesma <noahrose@google.com>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Noah Rose Ledesma <noahrose@google.com>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1344226}
To allow for the metainstaller process exit code to be meaningful, this
CL moves all metainstaller/updater error codes above 0xFFFF (65535) for
Windows only, which is the range of Windows error codes.
With this CL:
* Metainstaller error codes are in the 73000 range.
* Error codes funnelled through `update_client` are in the 74000 range.
* updater error codes are in the 75000 range.
Low-Coverage-Reason: HARD_TO_TEST
Fixed: b/40863154,b/352650305
Change-Id: I26c232b4cf19d15e52a8de444a0b8a6a8fc2c753
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5704279
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Commit-Queue: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1327087}
This CL:
* provides a specific message when elevation is cancelled.
* Adds the EXE name to the title of the message box.
* adds more meaningful error messages instead of error codes for other
metainstaller errors.
Low-Coverage-Reason: HARD_TO_TEST
Bug: b/351062337
Change-Id: I099d5f271b1f55eec0e24202761d5c41a2ac0473
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5690196
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Commit-Queue: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1325550}
I shortened the `--product_installer_data` because at one point that
line exceeded 80 characters, but that resulted in a json parameter that
Chrome setup did not recognize.
`--product_installer_data "%7B%22dis%22%3A%7B%22msi%22%3Atrue%7D%7D"`
Unescaped, is
`{"dis":{"msi":true}}`
But it should be
`{"distribution":{"msi":true}}`
which on the command line is
`--product_installer_data`
`"%7B%22distribution%22%3A%7B%22msi%22%3Atrue%7D%7D"`
Change-Id: I57c43e012ed85e02e19bcb0b9166d941d953b923
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5648264
Auto-Submit: S Ganesh <ganesh@chromium.org>
Commit-Queue: S Ganesh <ganesh@chromium.org>
Commit-Queue: Noah Rose Ledesma <noahrose@google.com>
Reviewed-by: Noah Rose Ledesma <noahrose@google.com>
Cr-Commit-Position: refs/heads/main@{#1318033}