Skip to content
  • noel's avatar
    Convert utility process extension Unpacker IPC to mojo · c8702c4c
    noel authored
    Add ExtensionUnpacker mojo, used to (unzip and) unpack a chrome
    extension, and expose it to the browser via the utility process
    policy file. Make callers use a utility process mojo client.
    
    Add [Native] IPC enum param traits via a mojo typemap to handle
    extensions::Manifest::Location. Set the wire limit for the enum
    value to one less than Manifest::NUM_LOCATIONS (for compat with
    the pre-existing custom traits removed in this patch since this
    patch auto-generates them: manifest_location_param_traits.cc).
    
    In the extensions/utility/utility_handler.cc, retain the CHECKs
    on the Manifest::Location enum limits while bug 692069 is still
    being investigated.
    
    Move DecodeImages declarations from the extension messages-file
    into its own file (extension_utility_types.h) to decouple those
    declarations from this messages-file. A follow-up patch deletes
    the messages-file so DecodeImages needs a new home.
    
    Update all BUILD.gn for using clients to directly depend on the
    //extensions/common:common target (and hence, its :mojo) to fix
    post-compile step failures (warning about under-specified BUILD
    files via "targets is_dirty" errors, see review comment #169).
    
    Add TestContentBrowserClient to the extension test harness, and
    also an overlay file in test/data (needed to expose the mojo in
    the extension test harness to the unit tests listed below).
    
    Covered by existing unit tests:
      {sandboxed_unpacker, zipfile_installer}_unittest.cc
    
    BUG=691410
    
    Review-Url: https://codereview.chromium.org/2697463002
    Cr-Commit-Position: refs/heads/master@{#457374}
    c8702c4c