As part of the effort to deprecate UtilityProcessHost, extensions::ZipFileInstaller should be changed to use the upcoming Unzip service instead of UtilityProcessMojoClient.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a0fb48fd35f23d38db5c8e5d666c269e8add2aca commit a0fb48fd35f23d38db5c8e5d666c269e8add2aca Author: Jay Civelli <jcivelli@google.com> Date: Thu Mar 01 17:58:33 2018 Move ZipFileInstaller from chrome/ to extensions/ Moving ZipFileInstaller from chrome/ to extensions/ and changing it to take a callback instead of directly installing the unpacked extension/theme. Providing a method in chrome/ to create a callback that does the installation (previous behavior). This CL is in preparation for using the Unzipper service to install extensions, as some of the logic performed by the utility handler code will be moved to this class and we'll be shared with the CrxInstaller class. Note that the zipfile_installer_unittest could not yet be moved to extensions/, it will be done later (see crbug.com/817131). Bug: 799220 Change-Id: I9ae6f13e5e9a0af4c111119952fd8915ff3dcfd3 Reviewed-on: https://chromium-review.googlesource.com/939842 Commit-Queue: Jay Civelli <jcivelli@chromium.org> Reviewed-by: Finnur Thorarinsson <finnur@chromium.org> Reviewed-by: Reilly Grant <reillyg@chromium.org> Cr-Commit-Position: refs/heads/master@{#540204} [modify] https://crrev.com/a0fb48fd35f23d38db5c8e5d666c269e8add2aca/chrome/app/generated_resources.grd [modify] https://crrev.com/a0fb48fd35f23d38db5c8e5d666c269e8add2aca/chrome/browser/extensions/BUILD.gn [add] https://crrev.com/a0fb48fd35f23d38db5c8e5d666c269e8add2aca/chrome/browser/extensions/chrome_zipfile_installer.cc [add] https://crrev.com/a0fb48fd35f23d38db5c8e5d666c269e8add2aca/chrome/browser/extensions/chrome_zipfile_installer.h [delete] https://crrev.com/cd92b8f19e21242c9e086d4501ef341be2ab8999/chrome/browser/extensions/zipfile_installer.h [modify] https://crrev.com/a0fb48fd35f23d38db5c8e5d666c269e8add2aca/chrome/browser/extensions/zipfile_installer_unittest.cc [modify] https://crrev.com/a0fb48fd35f23d38db5c8e5d666c269e8add2aca/chrome/browser/ui/webui/extensions/install_extension_handler.cc [modify] https://crrev.com/a0fb48fd35f23d38db5c8e5d666c269e8add2aca/extensions/browser/BUILD.gn [rename] https://crrev.com/a0fb48fd35f23d38db5c8e5d666c269e8add2aca/extensions/browser/zipfile_installer.cc [add] https://crrev.com/a0fb48fd35f23d38db5c8e5d666c269e8add2aca/extensions/browser/zipfile_installer.h [modify] https://crrev.com/a0fb48fd35f23d38db5c8e5d666c269e8add2aca/extensions/strings/extensions_strings.grd
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f330ef0f1c5d9296d373ad730405f7a981e30ad6 commit f330ef0f1c5d9296d373ad730405f7a981e30ad6 Author: Jay Civelli <jcivelli@google.com> Date: Mon Mar 05 19:59:44 2018 Changing TestExtensionSystem to mock more services In preparation of changing the extension install code to use the unzipper service, making the TestExtensionSystem register the data_decoder and the unzip_service (instead of only the data_decoder). Bug: 799220 Change-Id: Ib6698721ee597a4a27fd470b37fafd00a9e0097b Reviewed-on: https://chromium-review.googlesource.com/940522 Reviewed-by: Ken Rockot <rockot@chromium.org> Commit-Queue: Jay Civelli <jcivelli@chromium.org> Cr-Commit-Position: refs/heads/master@{#540906} [modify] https://crrev.com/f330ef0f1c5d9296d373ad730405f7a981e30ad6/chrome/browser/extensions/DEPS [modify] https://crrev.com/f330ef0f1c5d9296d373ad730405f7a981e30ad6/chrome/browser/extensions/extension_service_test_base.cc [modify] https://crrev.com/f330ef0f1c5d9296d373ad730405f7a981e30ad6/chrome/browser/extensions/extension_service_test_base.h [modify] https://crrev.com/f330ef0f1c5d9296d373ad730405f7a981e30ad6/chrome/browser/extensions/test_extension_system.cc [modify] https://crrev.com/f330ef0f1c5d9296d373ad730405f7a981e30ad6/chrome/browser/extensions/test_extension_system.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8ba902238df6985bb5b8255e05845ff3763bdd94 commit 8ba902238df6985bb5b8255e05845ff3763bdd94 Author: Jay Civelli <jcivelli@google.com> Date: Mon Mar 05 23:27:25 2018 Add a new API to the unzipper service to unzip with a file filter Adds a new API to the unzipper service that lets clients select which files should be extracted. Also adding unit-tests for the unzipper client code. Bug: 799220 Tbr: sky@chromium.org, blundell@chromium.org Change-Id: I0408baccf8a2b0e5b904e76e25d840ead469660b Reviewed-on: https://chromium-review.googlesource.com/943828 Commit-Queue: Jay Civelli <jcivelli@chromium.org> Reviewed-by: Joshua Pawlicki <waffles@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Cr-Commit-Position: refs/heads/master@{#540975} [modify] https://crrev.com/8ba902238df6985bb5b8255e05845ff3763bdd94/chrome/browser/extensions/test_extension_system.cc [modify] https://crrev.com/8ba902238df6985bb5b8255e05845ff3763bdd94/components/BUILD.gn [add] https://crrev.com/8ba902238df6985bb5b8255e05845ff3763bdd94/components/test/data/unzip_service/bad_archive.zip [add] https://crrev.com/8ba902238df6985bb5b8255e05845ff3763bdd94/components/test/data/unzip_service/good_archive.zip [modify] https://crrev.com/8ba902238df6985bb5b8255e05845ff3763bdd94/components/unzip_service/BUILD.gn [modify] https://crrev.com/8ba902238df6985bb5b8255e05845ff3763bdd94/components/unzip_service/public/cpp/unzip.cc [modify] https://crrev.com/8ba902238df6985bb5b8255e05845ff3763bdd94/components/unzip_service/public/cpp/unzip.h [add] https://crrev.com/8ba902238df6985bb5b8255e05845ff3763bdd94/components/unzip_service/public/cpp/unzip_unittest.cc [modify] https://crrev.com/8ba902238df6985bb5b8255e05845ff3763bdd94/components/unzip_service/public/interfaces/unzipper.mojom [modify] https://crrev.com/8ba902238df6985bb5b8255e05845ff3763bdd94/components/unzip_service/unzip_service.cc [modify] https://crrev.com/8ba902238df6985bb5b8255e05845ff3763bdd94/components/unzip_service/unzip_service.h [modify] https://crrev.com/8ba902238df6985bb5b8255e05845ff3763bdd94/components/unzip_service/unzipper_impl.cc [modify] https://crrev.com/8ba902238df6985bb5b8255e05845ff3763bdd94/components/unzip_service/unzipper_impl.h [modify] https://crrev.com/8ba902238df6985bb5b8255e05845ff3763bdd94/components/update_client/component_unpacker.cc [modify] https://crrev.com/8ba902238df6985bb5b8255e05845ff3763bdd94/components/update_client/test_configurator.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/526a4801452000db8591e9cb2e03b8120b952203 commit 526a4801452000db8591e9cb2e03b8120b952203 Author: Jay Civelli <jcivelli@google.com> Date: Fri Mar 09 16:33:26 2018 Add a test Unzip service to simulate crashers Adding a test Unzip service that disconnects when accessed to simulate crashers. It will be used in a follow up CL to ensure extension installation deals correctly with the unzip service crashing. Bug: 799220 Change-Id: I511b591e5740ac4c0e64f63d7b28cd32173a4990 Reviewed-on: https://chromium-review.googlesource.com/955930 Reviewed-by: Joshua Pawlicki <waffles@chromium.org> Commit-Queue: Jay Civelli <jcivelli@chromium.org> Cr-Commit-Position: refs/heads/master@{#542136} [modify] https://crrev.com/526a4801452000db8591e9cb2e03b8120b952203/components/unzip_service/public/cpp/BUILD.gn [add] https://crrev.com/526a4801452000db8591e9cb2e03b8120b952203/components/unzip_service/public/cpp/test_unzip_service.cc [add] https://crrev.com/526a4801452000db8591e9cb2e03b8120b952203/components/unzip_service/public/cpp/test_unzip_service.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc commit b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc Author: Jay Civelli <jcivelli@google.com> Date: Sat Mar 10 01:13:57 2018 Changing ZipFileInstaller to use the Unzip service. As part of the effort to deprecate UtilityProcessHost, changing extensions::UnzipInstaller to use the new Unzip service instead of UtilityProcessMojoClient. This remove the last use of a utility process for extensions, and as a result the extensions/utility directory can be removed. Tbr: tsepez@chromium.org,finnur@chromium.org Bug: 799220 Change-Id: Ibe4c7f0c16909c99ed572822718ac56a6bcb57fa Reviewed-on: https://chromium-review.googlesource.com/937902 Reviewed-by: Jay Civelli <jcivelli@chromium.org> Reviewed-by: John Budorick <jbudorick@chromium.org> Reviewed-by: Ken Rockot <rockot@chromium.org> Reviewed-by: Avi Drissman <avi@chromium.org> Reviewed-by: Joshua Pawlicki <waffles@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Reviewed-by: Reilly Grant <reillyg@chromium.org> Commit-Queue: Jay Civelli <jcivelli@chromium.org> Cr-Commit-Position: refs/heads/master@{#542303} [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/.gn [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/chrome/browser/extensions/BUILD.gn [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/chrome/browser/extensions/DEPS [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/chrome/browser/extensions/zipfile_installer_unittest.cc [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/chrome/browser/ui/webui/extensions/install_extension_handler.cc [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/chrome/utility/BUILD.gn [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/chrome/utility/DEPS [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/chrome/utility/chrome_content_utility_client.cc [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/chrome/utility/extensions/DEPS [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/BUILD.gn [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/browser/BUILD.gn [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/browser/DEPS [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/browser/sandboxed_unpacker.cc [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/browser/sandboxed_unpacker.h [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/browser/sandboxed_unpacker_unittest.cc [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/browser/zipfile_installer.cc [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/browser/zipfile_installer.h [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/common/BUILD.gn [delete] https://crrev.com/242098c21dc6953d75c938b37a85cee51f6db614/extensions/common/extension_unpacker.mojom [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/shell/BUILD.gn [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/shell/app/DEPS [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/shell/app/shell_main_delegate.cc [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/shell/app/shell_main_delegate.h [delete] https://crrev.com/242098c21dc6953d75c938b37a85cee51f6db614/extensions/shell/utility/DEPS [delete] https://crrev.com/242098c21dc6953d75c938b37a85cee51f6db614/extensions/shell/utility/shell_content_utility_client.cc [delete] https://crrev.com/242098c21dc6953d75c938b37a85cee51f6db614/extensions/shell/utility/shell_content_utility_client.h [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/strings/extensions_strings.grd [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/test/test_content_utility_client.cc [modify] https://crrev.com/b6f2cc9ca6f6f8bbb8a19dae7ec3255b192c13cc/extensions/test/test_content_utility_client.h [delete] https://crrev.com/242098c21dc6953d75c938b37a85cee51f6db614/extensions/utility/BUILD.gn [delete] https://crrev.com/242098c21dc6953d75c938b37a85cee51f6db614/extensions/utility/DEPS [delete] https://crrev.com/242098c21dc6953d75c938b37a85cee51f6db614/extensions/utility/utility_handler.cc [delete] https://crrev.com/242098c21dc6953d75c938b37a85cee51f6db614/extensions/utility/utility_handler.h [delete] https://crrev.com/242098c21dc6953d75c938b37a85cee51f6db614/extensions/utility/utility_handler_unittest.cc
Comment 1 by jcivelli@chromium.org
, Feb 27 2018