• Christopher Cameron's avatar
    MacPWAs: Re-create app shims when arch changes · 5eec1b65
    Christopher Cameron authored
    In crbug.com/353047, we encountered the problem where Chrome
    would upgrade itself from 32-bit to 64-bit, but app shims
    would be stuck on 32-bit. A mechanism was added to upgrade
    the shims "when needed", based on a  kAppShortcutsVersion local
    preference. This number has been incremented several times for
    various incompatibilities.
    
    Add a separate kAppShortcutsArch preference which saves the
    architecture that apps have been being created in. Whenever
    this does not match base::SysInfo::OperatingSystemArchitecture,
    re-create all shims.
    
    This will fix the situation whereby a user data dir, including
    all of its local prefs, is copied from an Intel mac to an ARM
    mac.
    
    A few caveats:
    - This will only re-create PWA shims. Legacy apps will need to
      be re-launched from Chrome.
    - This only fixes the issue if the user launches Chrome before
      launching a PWA. The PWA shim copied from x86, if it succeeds
      in running, will start Chrome with the start URL for the PWA.
    
    Bug: 1117599
    Change-Id: I4d9e1a87e91c1d461b592b0a8250b22120368d94
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2444130
    Commit-Queue: ccameron <ccameron@chromium.org>
    Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#813631}
    5eec1b65
pref_names.cc 140 KB