• Devlin Cronin's avatar
    [Extensions + Apps] Create Apps API Set · 40cae065
    Devlin Cronin authored
    Create a place for Chrome App APIs to go, and move the chrome.browser
    API there. This is the first API moved from Chrome Apps into the apps-
    specific directory. This involves a number of steps:
    - Create a chrome/common/apps/platform_apps/ directory, and create
      ChromeAppsAPIProvider and ChromeAppsAPIPermissions. The APIProvider
      is then registered with the singleton ExtensionsClient to provide
      information about the Chrome Apps APIs to the extension system.
    - Create chrome/common/apps/platform_apps/api. This includes the API
      schema definitions (right now, just browser.idl), the features files
      (_api_features.json and _permission_features.json), and the BUILD.gn
      to generate the C++ types and JSON API strings. Types are generated
      in the apps:: namespace, instead of the extensions:: namespace. They
      are similarly generated into chrome/common/apps/platform_apps/api
      instead of chrome/common/extensions/api.
    - Add a ChromeAppsBrowserAPIProvider to register the app-related
      ExtensionFunctions with the Extensions system.
    - Move the browser API implementation (browser_api.*) to
      chrome/browser/apps/platform_apps/api/browser/, and consume the
      generated types.
    - Register the new API location with the docserver so that it can look
      up the API schemas, and bump the docserver version.
    
    With this, we have all the pieces necessary to continue moving App-
    specific APIs en masse to the App-specific directories, and begin to
    carve out the dependency from the extensions system.
    
    Bug: 877240
    
    Change-Id: If3eba512c24ef3d1c27ed5ff3f215f56eb13a818
    Reviewed-on: https://chromium-review.googlesource.com/1187129
    Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
    Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
    Reviewed-by: default avatarLei Zhang <thestig@chromium.org>
    Reviewed-by: default avatarIstiaque Ahmed <lazyboy@chromium.org>
    Reviewed-by: default avatarKaran Bhatia <karandeepb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#589598}
    40cae065
chrome_api_permissions.cc 11.9 KB