Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Issue 10665002: Implement installation of the Chrome App Host. (Closed)

Created:
8 years, 6 months ago by erikwright (departed)
Modified:
8 years, 5 months ago
CC:
chromium-reviews, grt+watch_chromium.org, Jói
Visibility:
Public.

Description

Implement installation of the Chrome App Host. The Chrome App Host is a simple exe that delegates to a Chrome Binaries installation at user or system level. If no installation is available, it will trigger an installation. The Chrome App Host prevents the Chrome Binaries from being uninstalled, except in the case of an upgrade to system-level. The Chrome App Host is implemented in this uncommitted CL: http://codereview.chromium.org/10559090/ . BUG=None TEST=None Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=147650

Patch Set 1 #

Patch Set 2 : A basic working app host installer/uninstaller. #

Total comments: 105

Patch Set 3 : Further work. #

Patch Set 4 : install-application-host command and other fixes. #

Total comments: 4

Patch Set 5 : Correctly base off of parent CL. #

Patch Set 6 : Use the uncompressed archive if available. #

Patch Set 7 : gclient sync. #

Patch Set 8 : Fix unittests. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+1784 lines, -548 lines) Patch
M chrome/app/chromium_strings.grd View 1 2 3 4 5 6 2 chunks +9 lines, -0 lines 0 comments Download
M chrome/app/google_chrome_strings.grd View 1 2 3 4 5 6 2 chunks +9 lines, -0 lines 0 comments Download
M chrome/chrome_installer.gypi View 1 2 3 3 chunks +7 lines, -7 lines 0 comments Download
M chrome/chrome_installer_util.gypi View 1 2 3 chunks +7 lines, -1 line 0 comments Download
M chrome/common/chrome_switches.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/chrome_switches.cc View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/installer/mini_installer.gyp View 1 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/installer/mini_installer.gypi View 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/installer/mini_installer/appid.h View 1 2 3 4 5 6 2 chunks +2 lines, -1 line 0 comments Download
M chrome/installer/mini_installer/chrome.release View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M chrome/installer/mini_installer/chrome_appid.cc View 1 2 2 chunks +4 lines, -2 lines 0 comments Download
M chrome/installer/mini_installer/configuration.h View 1 2 3 4 5 6 3 chunks +5 lines, -1 line 0 comments Download
M chrome/installer/mini_installer/configuration.cc View 1 2 4 chunks +6 lines, -3 lines 0 comments Download
M chrome/installer/mini_installer/mini_installer.cc View 1 2 3 chunks +32 lines, -23 lines 0 comments Download
M chrome/installer/setup/chrome_frame_quick_enable.cc View 1 2 3 3 chunks +6 lines, -7 lines 0 comments Download
M chrome/installer/setup/install.cc View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/installer/setup/install_worker.h View 1 2 3 4 5 6 2 chunks +19 lines, -6 lines 0 comments Download
M chrome/installer/setup/install_worker.cc View 1 2 3 4 5 17 chunks +243 lines, -131 lines 0 comments Download
M chrome/installer/setup/setup_main.cc View 1 2 3 4 5 6 12 chunks +211 lines, -126 lines 1 comment Download
M chrome/installer/setup/uninstall.cc View 1 2 3 11 chunks +168 lines, -121 lines 1 comment Download
M chrome/installer/util/browser_distribution.h View 1 2 3 4 5 6 2 chunks +1 line, -6 lines 0 comments Download
M chrome/installer/util/browser_distribution.cc View 1 2 3 5 chunks +10 lines, -11 lines 0 comments Download
D chrome/installer/util/browser_distribution_unittest.cc View 1 2 1 chunk +0 lines, -50 lines 0 comments Download
M chrome/installer/util/channel_info.h View 1 2 3 4 5 6 1 chunk +7 lines, -0 lines 0 comments Download
M chrome/installer/util/channel_info.cc View 4 chunks +11 lines, -0 lines 0 comments Download
A chrome/installer/util/chrome_app_host_distribution.h View 1 2 3 4 5 6 1 chunk +70 lines, -0 lines 0 comments Download
A chrome/installer/util/chrome_app_host_distribution.cc View 1 2 1 chunk +148 lines, -0 lines 0 comments Download
A chrome/installer/util/chrome_app_host_operations.h View 1 2 3 4 5 6 1 chunk +59 lines, -0 lines 0 comments Download
A chrome/installer/util/chrome_app_host_operations.cc View 1 2 1 chunk +100 lines, -0 lines 0 comments Download
A chrome/installer/util/chrome_binaries_operations.h View 1 2 3 4 5 6 1 chunk +58 lines, -0 lines 0 comments Download
A chrome/installer/util/chrome_binaries_operations.cc View 1 1 chunk +88 lines, -0 lines 0 comments Download
M chrome/installer/util/chrome_frame_operations.cc View 1 chunk +0 lines, -1 line 0 comments Download
M chrome/installer/util/chromium_binaries_distribution.cc View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M chrome/installer/util/installation_state.h View 1 2 3 4 5 6 2 chunks +2 lines, -1 line 0 comments Download
M chrome/installer/util/installation_state.cc View 1 2 3 4 5 6 2 chunks +9 lines, -1 line 0 comments Download
M chrome/installer/util/installation_validator.h View 1 2 3 4 5 6 4 chunks +44 lines, -0 lines 0 comments Download
M chrome/installer/util/installation_validator.cc View 1 2 3 10 chunks +232 lines, -32 lines 0 comments Download
M chrome/installer/util/installation_validator_unittest.cc View 1 2 3 4 5 6 7 4 chunks +27 lines, -9 lines 0 comments Download
M chrome/installer/util/installer_state.h View 1 2 3 4 5 6 1 chunk +6 lines, -0 lines 0 comments Download
M chrome/installer/util/installer_state.cc View 1 2 3 4 5 6 2 chunks +126 lines, -6 lines 0 comments Download
M chrome/installer/util/master_preferences.h View 1 2 3 4 5 6 2 chunks +5 lines, -0 lines 0 comments Download
M chrome/installer/util/master_preferences.cc View 1 5 chunks +8 lines, -1 line 0 comments Download
M chrome/installer/util/master_preferences_constants.h View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/installer/util/master_preferences_constants.cc View 1 1 chunk +1 line, -0 lines 0 comments Download
M chrome/installer/util/prebuild/create_string_rc.py View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/installer/util/product.h View 1 2 3 4 5 6 1 chunk +8 lines, -0 lines 0 comments Download
M chrome/installer/util/product.cc View 1 2 chunks +8 lines, -0 lines 0 comments Download
M chrome/installer/util/util_constants.h View 1 2 3 4 5 6 3 chunks +4 lines, -0 lines 0 comments Download
M chrome/installer/util/util_constants.cc View 1 2 3 3 chunks +7 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
erikwright (departed)
Hi Greg, If you can take a first pass on this before going on leave, ...
8 years, 5 months ago (2012-07-11 20:44:09 UTC) #1
tommi (sloooow) - chröme
looks good. ping me when you're ready for the final review. http://codereview.chromium.org/10665002/diff/6001/chrome/app/chromium_strings.grd File chrome/app/chromium_strings.grd (right): ...
8 years, 5 months ago (2012-07-12 08:11:31 UTC) #2
grt (UTC plus 2)
looks really good. here are my comments so far. https://chromiumcodereview.appspot.com/10665002/diff/6001/chrome/app/google_chrome_strings.grd File chrome/app/google_chrome_strings.grd (right): https://chromiumcodereview.appspot.com/10665002/diff/6001/chrome/app/google_chrome_strings.grd#newcode383 chrome/app/google_chrome_strings.grd:383: ...
8 years, 5 months ago (2012-07-12 18:37:10 UTC) #3
Jói
Quick drive-by: http://codereview.chromium.org/10665002/diff/6001/chrome/installer/util/chromium_binaries_distribution.cc File chrome/installer/util/chromium_binaries_distribution.cc (right): http://codereview.chromium.org/10665002/diff/6001/chrome/installer/util/chromium_binaries_distribution.cc#newcode80 chrome/installer/util/chromium_binaries_distribution.cc:80: return L"Uninstall Chromium Binaries"; No localization on ...
8 years, 5 months ago (2012-07-13 14:07:41 UTC) #4
erikwright (departed)
Hi Tommi, Please take a look. I'm under a bit of time pressure as I ...
8 years, 5 months ago (2012-07-16 20:13:10 UTC) #5
tommi (sloooow) - chröme
lgtm http://codereview.chromium.org/10665002/diff/28001/chrome/installer/util/chrome_app_host_operations.h File chrome/installer/util/chrome_app_host_operations.h (right): http://codereview.chromium.org/10665002/diff/28001/chrome/installer/util/chrome_app_host_operations.h#newcode14 chrome/installer/util/chrome_app_host_operations.h:14: #include "base/compiler_specific.h" nit: is this header actually needed? ...
8 years, 5 months ago (2012-07-18 12:55:40 UTC) #6
erikwright (departed)
Is blocked by http://codereview.chromium.org/10559090/ . Will commit after that one's in. http://codereview.chromium.org/10665002/diff/28001/chrome/installer/util/chrome_app_host_operations.h File chrome/installer/util/chrome_app_host_operations.h (right): ...
8 years, 5 months ago (2012-07-18 13:27:49 UTC) #7
erikwright (departed)
Tommi, just FYI. After your LGTM further testing revealed some needed changes. No action required ...
8 years, 5 months ago (2012-07-19 05:51:16 UTC) #8
tommi (sloooow) - chröme
On 2012/07/19 05:51:16, erikwright wrote: > Tommi, just FYI. After your LGTM further testing revealed ...
8 years, 5 months ago (2012-07-19 05:52:56 UTC) #9
grt (UTC plus 2)
8 years, 5 months ago (2012-07-23 11:31:12 UTC) #10
http://codereview.chromium.org/10665002/diff/6001/chrome/chrome_installer.gypi
File chrome/chrome_installer.gypi (right):

http://codereview.chromium.org/10665002/diff/6001/chrome/chrome_installer.gyp...
chrome/chrome_installer.gypi:265: '../chrome/chrome.gyp:app_host',
On 2012/07/16 20:13:11, erikwright wrote:
> On 2012/07/12 18:37:10, grt wrote:
> > in the past, mini_installer (in chrome/installer/mini_installer.gyp) was the
> > thing that depended on chrome.  is it not suitable to put the dependency on
> > app_host there rather than here?  i think it's desirable to be able to build
> > setup.exe without building chrome and the app host.
> 
> Hm. I guess so. Ultimately it seems pretty useless to build setup without
> building the archive, but these lines don't address that, so I can take them
> out.

FWIW, setup.exe has a growing number of responsibilities that don't require the
archive.

http://codereview.chromium.org/10665002/diff/6001/chrome/installer/mini_insta...
File chrome/installer/mini_installer/mini_installer.cc (right):

http://codereview.chromium.org/10665002/diff/6001/chrome/installer/mini_insta...
chrome/installer/mini_installer/mini_installer.cc:26: #include <wchar.h>
On 2012/07/16 20:13:11, erikwright wrote:
> On 2012/07/12 08:11:31, tommi wrote:
> > out of curiosity, why is this needed?
> 
> Extreme IWYU. Obviously too extreme.

If you added it because the type wchar_t is used in this file, wchar_t is a
keyword in C++-03 so no includes are needed to use it.

http://codereview.chromium.org/10665002/diff/6001/chrome/installer/util/chrom...
File chrome/installer/util/chromium_binaries_distribution.h (right):

http://codereview.chromium.org/10665002/diff/6001/chrome/installer/util/chrom...
chrome/installer/util/chromium_binaries_distribution.h:50: virtual bool
GetDelegateExecuteHandlerData(string16* handler_class_uuid,
On 2012/07/16 20:13:11, erikwright wrote:
> On 2012/07/12 08:11:31, tommi wrote:
> > would it make sense to group these into a struct?
> 
> Possibly. grt@, when you get back, WDYT?

I think it's fine as-is.  Callers can pass NULL for any subset of the parameters
if they only care about a single value.  Using a struct would be more work for
the callers.  I think the interface UUID is actually constant across all
implementations, so it could be removed from the interface.

http://codereview.chromium.org/10665002/diff/32005/chrome/installer/setup/set...
File chrome/installer/setup/setup_main.cc (right):

http://codereview.chromium.org/10665002/diff/32005/chrome/installer/setup/set...
chrome/installer/setup/setup_main.cc:447: << "multi-install.";
nit: i prefer the previous code here since there's only one call to the
streaming operator (and i can't think of a good reason to not let the compiler
concatenate the string constants).

http://codereview.chromium.org/10665002/diff/32005/chrome/installer/setup/uni...
File chrome/installer/setup/uninstall.cc (right):

http://codereview.chromium.org/10665002/diff/32005/chrome/installer/setup/uni...
chrome/installer/setup/uninstall.cc:56: //
ScheduleParentAndGrandparentForDeletion?
i don't understand the question; could you elaborate?

Powered by Google App Engine
This is Rietveld 408576698