• Devlin Cronin's avatar
    [Extensions] Introduce an ExtensionsAPIProvider · df96db57
    Devlin Cronin authored
    Introduce an ExtensionsAPIProvider that contains knowledge of
    generated APIs and extension features. The ExtensionsClient
    contains multiple ExtensionsAPIProviders, and queries these
    providers for features and generated API schemas. This allows the
    registration of APIs from outside the extensions system, which will
    be necessary for moving Chrome Apps API registration outside of
    extensions code. This also more effectively wraps the logic relating
    to the generated features within a single location, minimizing the
    burden for consumers to add/check multiple generated sets.
    
    Create an API Provider for each set of code that generates unique
    features and APIs:
    - Core Extension APIs (defined in //extensions)
    - Chrome Extension APIs (defined in //chrome)
    - Shell Extension APIs (defined in //extensions/shell)
    - Cast Extension APIs (defined in //chromecast)
    
    When the corresponding ExtensionsClient type is constructed, it
    registers the appropriate providers.
    
    Bug: 873937
    Change-Id: I198e5e5cbd6ab53bff9e335ea1551bdcfe59f521
    Reviewed-on: https://chromium-review.googlesource.com/1172000Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
    Reviewed-by: default avatarLuke Halliwell <halliwell@chromium.org>
    Reviewed-by: default avatarIstiaque Ahmed <lazyboy@chromium.org>
    Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#584571}
    df96db57
extensions_client.h 5.93 KB