New issue
Advanced search Search tips

Issue 773923 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Remove |manifest| as a parameter from CrxInstaller::Install

Project Member Reported by sorin@chromium.org, Oct 12 2017

Issue description

This is a mechanical change.

The change removes the |manifest| parameter from the CrxInstaller::Install. 

In the current implementation, the CRX manifest is read once by common code in the update_client, then it is handed over to implementors of Install, and implementors of ComponentInstallerPolicy.

The current component installers mostly ignore the manifest data. With few exceptions (which ignore the manifest data), the component installers are implemented in terms of ComponentInstaller and ComponentInstallerPolicy. This change refactors how the component installer reads the manifest.

For future feature work, there are requirements for the manifest to be read by sandboxed code. Therefore, reading of the manifest must be happen outside the implementation of CrxInstaller::Install, so that such code can have the flexibily in how the reading of the manifest occurs.

 

Comment 1 by sorin@chromium.org, Oct 12 2017

Description: Show this description
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7aa6d1f66c9393fa144b370bbe960b5beb50e5de

commit 7aa6d1f66c9393fa144b370bbe960b5beb50e5de
Author: Sorin Jianu <sorin@chromium.org>
Date: Fri Oct 13 20:29:29 2017

Remove |manifest| as a parameter from CrxInstaller::Install

This is a mechanical change.

The change removes the |manifest| parameter from the CrxInstaller::Install.

In the current implementation, the CRX manifest is read once by common
code in the update_client, then it is handed over to implementors of
Install, and implementors of ComponentInstallerPolicy.

The current component installers mostly ignore the manifest data.
With few exceptions (which ignore the manifest data), the component
nstallers are implemented in terms of ComponentInstaller and
ComponentInstallerPolicy. This change refactors how the component
installer reads the manifest.

For future feature work, there are requirements for the manifest to be
read by sandboxed code. Therefore, reading of the manifest must be happen
outside the implementation of CrxInstaller::Install, so that such code can
have the flexibily in how the reading of the manifest occurs.

Bug:  773923 
Change-Id: I3393d1c9258b53ebfeec3cebab56429a41f692d0
Reviewed-on: https://chromium-review.googlesource.com/714400
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Adam Langley <agl@chromium.org>
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Julian Pastarmov <pastarmovj@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#508799}
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/chrome/browser/component_updater/recovery_component_installer.cc
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/chrome/browser/component_updater/supervised_user_whitelist_installer_unittest.cc
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/chrome/browser/net/crl_set_fetcher.cc
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/chrome/browser/net/crl_set_fetcher.h
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/chrome/browser/policy/policy_browsertest.cc
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/components/component_updater/component_installer.cc
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/components/component_updater/component_installer.h
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/components/component_updater/component_installer_unittest.cc
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/components/component_updater/component_updater_service_unittest.cc
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/components/update_client/component.cc
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/components/update_client/component_unpacker.cc
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/components/update_client/component_unpacker.h
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/components/update_client/test_installer.cc
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/components/update_client/test_installer.h
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/components/update_client/update_client.h
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/components/update_client/update_client_unittest.cc
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/components/update_client/utils.cc
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/components/update_client/utils.h
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/extensions/browser/updater/update_install_shim.cc
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/extensions/browser/updater/update_install_shim.h
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/extensions/browser/updater/update_service_unittest.cc
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/ios/chrome/browser/net/crl_set_fetcher.cc
[modify] https://crrev.com/7aa6d1f66c9393fa144b370bbe960b5beb50e5de/ios/chrome/browser/net/crl_set_fetcher.h

Comment 3 by sorin@chromium.org, Nov 1 2017

Status: Fixed (was: Started)

Sign in to add a comment