• Greg Thompson's avatar
    Include details of a failed on-demand update check in feedback reports. · 0fbe3753
    Greg Thompson authored
    This change adds the following four fields to feedback reports on
    Windows following an on-demand update check (and to chrome://system):
    
    - update_error_code: An int value in the GoogleUpdateErrorCode enum.
    - install_location: One of ("per-machine", "per-user", "unknown")
      indicating whether the browser is installed somewhere in the ordinary
      "all users" system location (e.g., "C:\Program Files (x86)\..."), the
      ordinary user-specific location (e.g.,
      "C:\Users\USER\AppData\Local\..."), or some other unexpected location.
    - update_hresult: A Windows HRESULT (hex), provided by Google Update or
      COM, in case of error.
    - install_result_code: An int process exit code from the installer in
      case of error if the installer was executed.
    
    This is made possible by the introduction of UpdateState, which holds
    all state relating to an update check, and GetLastUpdateState(), which
    returns said state pertaining to the most recently completed update
    check.
    
    In support of this change, the Google Update update checker now uses
    base::Opional<int> (rather than a magic value of -1) for the installer
    process exit code to differentiate "none provided" from any specific
    value.
    
    Bug: 985209
    
    Change-Id: Id49c65e40c0359aed767e0404afbf07030c20e07
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1798345
    Commit-Queue: Greg Thompson <grt@chromium.org>
    Reviewed-by: default avatarAhmed Fakhry <afakhry@chromium.org>
    Reviewed-by: default avatarPeter Kasting <pkasting@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#699243}
    0fbe3753
google_update_win_unittest.cc 43.3 KB