• Robert Sesek's avatar
    Dissemble the app_mode_loader. · 3fd5a144
    Robert Sesek authored
    Previously the app_mode_loader was packaged into a .app bundle. But
    because the Info.plist is modified as part of creating app shim
    shortcuts, only the executable was code signed. This left the Info.plist
    as an un-sealed resource. Under stricter code signing verification rules
    required for macOS notarization, an .app bundle cannot have an un-sealed
    Info.plist.
    
    To work around this, place the un-bundled executable in the Framework's
    Helpers directory and store the Info.plist file under Resources. When
    building app shims at runtime, the .app bundle structure will be created
    manually (rather than copying the whole pre-built bundle).
    
    Created app shims will still not be validly signed .app bundles, but the
    components carried within Chrome will pass validation.
    
    Test: Browser menu > More tools > Create shortcut creates an app
          shortcut that launches.
    
    Bug: 960886, 850199
    Change-Id: Ia4521ee436bc3288084004e247fd9765fb93816a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1609886Reviewed-by: default avatarNico Weber <thakis@chromium.org>
    Reviewed-by: default avatarccameron <ccameron@chromium.org>
    Reviewed-by: default avatarMark Mentovai <mark@chromium.org>
    Commit-Queue: Robert Sesek <rsesek@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#659223}
    3fd5a144
BUILD.gn 56.4 KB