API Proposals (New APIs Start Here)

This page on Google intranet: go/new-chrome-api

So you want to make a new extension or app API?  That's great!

You should expect three distinct phases for your API's development: Proposal, Development, and Going Live.  Expect to go through the API review meeting twice: once before implementation (proposal), and once after implementation (final review before Chrome stable).

Proposal Phase
  1. Fill out an API Proposal.
  2. Write documentation for your API, upload it to codereview, then share a link to http://developer.chrome.com/_patch/<your CL number>/<your api>, for example http://developer.chrome.com/_patch/14990011/extensions/storage.html.
    • Writing documentation early is a good exercise, and it's easier for reviewers to get an overview.
  3. Add your API to the list at the bottom of this page with Status "1: proposing."  Make sure to link to your proposal doc in the "Proposal" column.
  4. Sign up for your first (proposal stage) API Review Meeting to present your proposal and get some feedback before coding.  (If you are external to Google, email mpcomplete@chromium.org to find sponsors for your API proposal.  You'll need to work with a Google engineer and PM to go through the review and launch process.)
Development Phase
  1. Change the Status of your item in the list below to "2: under development."
  2. Code your extension/app API according to the implementation guidelines.  Your implementation must be kept behind its own feature flag until it works and is secure.  See chrome/common/extensions/feature_switch.h.
  3. Write up your documentation and make sure it appears in the dev channel's API page.
  4. After your implementation both works and is secure, you should enable your API on the dev channel as described in the implementation guidelines.
  5. Encourage usage of the API in the dev channel; the more adoption during dev, the easier your final approval will be.
  6. Remain restricted to the dev channel for a full release cycle (in most cases).
  7. After receiving feedback from a few major extensions or apps, proceed to the going live phase.
Going Live Phase
  1. Sign up for your second/final (going live phase) API Review Meeting to petition enabling your stable, well-tested API on all channels.
  2. Have your PM file a Type-Launch bug.  Your PM should usher the API through all of the launch reviews, including privacy and security.
  3. Update all sample extensions/apps for your API.
  4. Land a CL to enable the API for all channels, and change the Status of your item in the list below to "3: complete."
  5. Publicize the new API.  Write a post for the Chromium blog about the API.  Send an email to chromium-extensions@chromium.org or chromium-apps@chromium.org.  Talk to Joe Marini (joemarini@) or Mike West (mkwst@) for advice.

Showing 24 items
API NameContact (@chromium.org)Entry Last Modified (Today)StatusProposalDocs
Sort 
 
Sort 
 
Sort 
 
Sort 
 
Sort 
 
Sort 
 
Location vadimt February 14, 2013 1: proposing Proposal  
Activity Log API felt April 24, 2013 1: proposing Proposal  
Eject Device gbillock  1: proposing Proposal  
Redirect URLs to apps sergeygs@  1: proposing Proposal  
Input Injection wez@, dcaiafa@ April 22, 2013 1: proposing Input Injection - New Chrome API Proposal Chrome Input Injection API 
Identity courage February 4, 2013 1: proposing Proposal  
Thumbnails for topSites oleg March 19, 2013 1: proposing Proposal  
Bluetooth keybuk  1: proposing update to existing dev-channel API API Changes Doc 
Managed Storage Schema joaodasilva  1: proposing Proposal  
TLS Channel ID juanlang@, mschilder@ (eng) samsrinivas@ (pm) March 27, 2013 1: proposing Proposal  
Synced Device Info pavely March 25, 2013 1: proposing Proposal  
Tab History mpcomplete@, ttr314@googlemail.com April 8, 2013 1: proposing Proposal  
System Indicator dewittj@ November 8, 2012 1: proposing Proposal  
Desktop Notification miket@ January 24, 2013 2: under development Proposal  
SystemInfo hongbo.min@intel.com July 16, 2012 2: under development Proposal  
Spellcheck rlp@ January 2, 2013 2: under development Proposal  
WebRTC Tab Content Capture mfoltz@ October 29, 2012 2: under development Proposal  
Profiles rlp@ January 2, 2013 2: under development Proposal  
Enterprise Key dkrahn@ March 22, 2013 2: under development Proposal  
Power Management derat April 30, 2013 3: complete Proposal http://developer.chrome.com/dev/extensions/power.html 
Process Model nasko@ February 24, 2012 x: inactive Proposal  
Record mpcomplete@ July 27, 2012 x: inactive Proposal  
Power Interface (old) rkc@ March 21, 2013 x: inactive Proposal Docs 
Auto-install of android companion extensions mwd743@ January 9, 2013 x: inactive Proposal  
Showing 24 items
Comments