Are we WebExtensions yet?

Yes, I think we are.

Mozilla documentation on WebExtensions, see also the wiki page. Note: this page is generated from the source, but in cases of discrepancy please rely on MDN more than these docs.

Chrome documentation on WebExtensions.

§ APIs

Filters: desktop onlyandroid onlycomplete onlypartial onlycomplete and partial onlyreset ( APIs)

Legend:

complete
pretty much all the APIs that it makes sense to implement have been done. What remains is undocumented, deprecated or we've thought not worth bothering with (we could be wrong).
partial
is mostly there, there's still some work to do implementing APIs.
android
it should work on Android based on its location in mozilla-central, no guarantees unless MDN says so.
desktop
it should work on Desktop based on its location in mozilla-central, no guarantees unless MDN says so.

§ alarms complete  desktop  android

Firefox docsFirefox codeChrome docs
§ 0 bugs
§ 5 functions
supportedchrome.alarms.create()rank 66
supportedchrome.alarms.getAll()rank 195
supportedchrome.alarms.clearAll()rank 180
supportedchrome.alarms.clear()rank 128
supportedchrome.alarms.get()rank 198
§ 1 events
supportedchrome.alarms.onAlarmrank 64

§ bookmarks complete  desktop

Firefox docsFirefox codeChrome docs
§ 8 bugs
1213674: Complete the implementation of chrome.bookmarks
1225916: Allow reading and writing bookmark tags
1276817: Support bookmark keywords
1276819: Support bookmark descriptions
1276821: Support live bookmarks
1291274: Consider adding bookmarks API method to get ID of standard/common folders
1316297: Implement remaining bookmarks.onImportBegan and onImportEnded WebExtensions API events
1319530: Implement bookmarks.onChildrenReordered WebExtensions API event as a stub
§ 13 functions
supportedchrome.bookmarks.search()rank 133
supportedchrome.bookmarks.getTree()rank 75
supportedchrome.bookmarks.getRecent()rank 205
supportedchrome.bookmarks.get()rank 165
supportedchrome.bookmarks.create()rank 108
supportedchrome.bookmarks.move()rank 177
supportedchrome.bookmarks.update()rank 169
supportedchrome.bookmarks.remove()rank 120
supportedchrome.bookmarks.getChildren()rank 137
not supportedchrome.bookmarks.export()rank 1008
not supportedchrome.bookmarks.import()rank 1004
supportedchrome.bookmarks.removeTree()rank 163
supportedchrome.bookmarks.getSubTree()rank 185
§ 7 events
supportedchrome.bookmarks.onRemovedrank 160
not supportedchrome.bookmarks.onImportEndedrank 220
supportedchrome.bookmarks.onMovedrank 201
not supportedchrome.bookmarks.onImportBeganrank 315
supportedchrome.bookmarks.onCreatedrank 159
supportedchrome.bookmarks.onChangedrank 182
not supportedchrome.bookmarks.onChildrenReorderedrank 215

§ browserAction complete  desktop

Firefox docsFirefox codeChrome docs
§ 8 bugs
1207591: badge background color - provide 3 recommended colors
1207597: browserAction icon should match appearance of native Firefox toolbar buttons
1207692: provide a highlight state for browserActions
1215632: Unit test to assert that a browser action opens the popup in the parents mode (private vs not-private)
1237377: [meta] WebExtension popup support
1244789: Support richer user interactions in the chrome.browserAction API
1253419: Support menu-button buttons in the pageAction API.
1314674: Background of badge on browserAction button changes to red on entering and remains red on exiting Customize mode
§ 12 functions
supportedchrome.browserAction.enable()rank 168
supportedchrome.browserAction.setBadgeBackgroundColor()rank 29
supportedchrome.browserAction.setBadgeText()rank 13
supportedchrome.browserAction.setTitle()rank 34
supportedchrome.browserAction.getBadgeText()rank 140
supportedchrome.browserAction.setPopup()rank 54
supportedchrome.browserAction.disable()rank 155
supportedchrome.browserAction.getTitle()rank 253
not supportedchrome.browserAction.openPopup()rank 440
supportedchrome.browserAction.getBadgeBackgroundColor()rank 995
supportedchrome.browserAction.getPopup()rank 230
supportedchrome.browserAction.setIcon()rank 18
§ 1 events
supportedchrome.browserAction.onClickedrank 7

§ browsingData not yet

Chrome docs
§ 3 bugs
1303917: [tracking] Implement browser.browsingData WebExtensions API
1320986: Implement browsingData.settings WebExtensions API method
1321303: Implement browsingData.removeCookies WebExtensions API method

§ commands complete  desktop

Firefox docsFirefox codeChrome docs
§ 5 bugs
1240350: [tracking] Commands API support for WebExtensions
1251795: [commands] Add support for Chrome's media keys
1272130: Command description is not localized
1289181: Display a helpful warning when a command entry will fail to register.
1295276: [commands] Handle _execute_browser_action correctly when a pageAction popup is displayed.
§ 1 functions
supportedchrome.commands.getAll()rank 209
§ 1 events
supportedchrome.commands.onCommandrank 79

§ contentSettings not yet

Chrome docs
§ 0 bugs

§ contextMenus complete  desktop

Firefox docsFirefox codeChrome docs
§ 4 bugs
1215376: Implement onBeforeShow event
1269062: [tracking] ContextMenus API support for Android WebExtensions
1280370: contextMenus do not support other protocols (ex. 'magnet:*', 'acestream:*', 'sop:*')
1316020: Support "tab" contexts in browser.contextMenus API
§ 5 functions
supportedchrome.contextMenus.removeAll()rank 50
supportedchrome.contextMenus.createInternal()no docs
supportedchrome.contextMenus.create()rank 15
supportedchrome.contextMenus.update()rank 95
supportedchrome.contextMenus.remove()rank 90
§ 1 events
supportedchrome.contextMenus.onClickedrank 52

§ cookies complete  desktop  android

Firefox docsFirefox codeChrome docs
§ 4 bugs
1210997: See if we can use nsCookieService for cookie matching in chrome.cookies
1272953: Error handling for WebExtension cookies API
1309637: Private cookie set by cookies.set disappears within a second when the private window was just opened
1318948: WebExtension cookies API does not work in private browsing
§ 5 functions
supportedchrome.cookies.getAllCookieStores()rank 314
supportedchrome.cookies.getAll()rank 63
supportedchrome.cookies.set()rank 60
supportedchrome.cookies.remove()rank 101
supportedchrome.cookies.get()rank 53
§ 1 events
supportedchrome.cookies.onChangedrank 154

§ debugger not yet

Chrome docs
§ 0 bugs

§ declarativeContent not yet

Chrome docs
§ 0 bugs

§ desktopCapture not yet

Chrome docs
§ 0 bugs

§ devtools.inspectedWindow not yet

Chrome docs
§ 4 bugs
1211859: Implement devtools API for open extension API
1291737: Implement devtools_page and devtools.inspectedWindow.tabId
1300584: Implements devtools.inspectedWindow.eval and reload API methods
1300590: Implement support for $0 and inspect bindings in devtools.inspectedWindow.eval

§ devtools.network not yet

Chrome docs
§ 4 bugs
1211859: Implement devtools API for open extension API
1300588: Implements the devtools.network.onNavigated API event
1311171: Implements the devtools.network.onRequestFinished API event
1311177: Implements the devtools.network.getHAR API method

§ devtools.panels not yet

Chrome docs
§ 2 bugs
1211859: Implement devtools API for open extension API
1300587: Implements devtools_panel context and devtools.panel.create API method

§ downloads complete  desktop  android

Firefox docsFirefox codeChrome docs
§ 15 bugs
1213445: [tracking] Implement chrome.downloads
1245645: Implement chrome.downloads.acceptDanger()
1245648: Implement chrome.downloads.drag()
1245652: Implement chrome.downloads.onDeterminingFilename
1247794: support persistent identifiers in chrome.downloads.*
1254327: browser.downloads.download() doesn't handle redirects
1255507: Handle old downloads in chrome.downloads
1255629: chrome.downloads.* tests with legacy downloads
1256243: extra chrome.downloads.onChanged events generated during cancel
1256269: Support endTime and estimatedEndTime in DownloadItem
1256691: Add test coverage for chrome.downloads.show() error states
1298215: Provide an API to show the downloads manager
1300340: Intermittent TEST-UNEXPECTED-TIMEOUT | toolkit/components/extensions/test/xpcshell/test_ext_downloads_download.js | Test timed out
1305002: chrome.downloads.pause() should detect when a download cannot be resumed
1305663: Support downloadItem.byExtensionId
§ 14 functions
supportedchrome.downloads.search()rank 121
supportedchrome.downloads.pause()rank 266
supportedchrome.downloads.getFileIcon()rank 272
supportedchrome.downloads.resume()rank 271
supportedchrome.downloads.show()rank 243
supportedchrome.downloads.removeFile()rank 252
supportedchrome.downloads.cancel()rank 218
not supportedchrome.downloads.drag()rank 311
supportedchrome.downloads.erase()rank 223
not supportedchrome.downloads.acceptDanger()rank 273
supportedchrome.downloads.showDefaultFolder()rank 257
supportedchrome.downloads.download()rank 92
not supportedno equivalentchrome.downloads.setShelfEnabled()rank 247
supportedchrome.downloads.open()rank 228
§ 3 events
supportedchrome.downloads.onChangedrank 123
supportedchrome.downloads.onCreatedrank 222
supportedchrome.downloads.onErasedrank 324

§ extension complete  desktop  android

Firefox docsFirefox codeChrome docs
§ 0 bugs
§ 6 functions
supportedchrome.extension.getBackgroundPage()rank 11
supportedchrome.extension.getURL()rank 1
not supportedno equivalentchrome.extension.setUpdateUrlData()rank 269
supportedchrome.extension.getViews()rank 58
supportedchrome.extension.isAllowedFileSchemeAccess()rank 217
supportedchrome.extension.isAllowedIncognitoAccess()rank 202
§ 2 events
not supporteddeprecatedchrome.extension.onRequestrank 20
not supporteddeprecatedchrome.extension.onRequestExternalrank 113

§ fontSettings not yet

Chrome docs
§ 0 bugs

§ gcm unlikely

Chrome docs
§ 0 bugs

§ history complete  desktop

Firefox docsFirefox codeChrome docs
§ 4 bugs
1275633: Add typedCount to the result set returned by browser.history.search
1280582: Implement browser.history.onTitleChanged
1287928: Update browser.history.onVisited to use the title from the onVisit event
1314123: block moz-extension from history?
§ 6 functions
supportedchrome.history.search()rank 72
supportedchrome.history.addUrl()rank 242
supportedchrome.history.deleteRange()rank 250
supportedchrome.history.deleteAll()rank 232
supportedchrome.history.getVisits()rank 189
supportedchrome.history.deleteUrl()rank 191
§ 2 events
supportedchrome.history.onVisitedrank 200
supportedchrome.history.onVisitRemovedrank 249

§ i18n complete  desktop  android

Firefox docsFirefox codeChrome docs
§ 0 bugs
§ 4 functions
supportedchrome.i18n.getUILanguage()rank 144
supportedchrome.i18n.getMessage()rank 10
supportedchrome.i18n.detectLanguage()rank 745
supportedchrome.i18n.getAcceptLanguages()rank 105

§ identity complete  desktop

Firefox docsFirefox codeChrome docs
§ 0 bugs
§ 6 functions
supportedchrome.identity.getRedirectURL()no docsrank 214
not supportedno equivalentchrome.identity.getAuthToken()no docsrank 116
not supportedno equivalentchrome.identity.getAccounts()no docs
not supportedno equivalentchrome.identity.getProfileUserInfo()no docsrank 203
supportedchrome.identity.launchWebAuthFlow()no docsrank 156
not supportedno equivalentchrome.identity.removeCachedAuthToken()no docsrank 164
§ 1 events
not supportedno equivalentchrome.identity.onSignInChangedno docsrank 236

§ idle complete  desktop  android

Firefox docsFirefox codeChrome docs
§ 0 bugs
§ 2 functions
supportedchrome.idle.queryState()rank 181
supportedchrome.idle.setDetectionInterval()rank 196
§ 1 events
supportedchrome.idle.onStateChangedrank 148

§ management partial  desktop  android

Firefox docsFirefox codeChrome docs
§ 4 bugs
1280236: Implement chrome.management.uninstall
1282981: Implement management.get and getAll
1282982: Implement chrome.management.setEnabled
1282984: Implement chrome.management events
§ 4 functions
supportedchrome.management.uninstallSelf()rank 130
not supportedchrome.management.getAll()rank 46
supportedchrome.management.getSelf()rank 136
not supportedchrome.management.get()rank 141

§ notifications partial  desktop  android

Firefox docsFirefox codeChrome docs
§ 2 bugs
1190681: Browser extension |notifications| API needs support for buttons in notifications
1254300: Calling notifications.create always dismisses existing notifications
§ 5 functions
supportedchrome.notifications.clear()rank 42
supportedchrome.notifications.create()rank 28
supportedchrome.notifications.getAll()rank 188
not supportedchrome.notifications.update()rank 176
not supportedchrome.notifications.getPermissionLevel()no docsrank 221
§ 5 events
not supportedchrome.notifications.onPermissionLevelChangedno docsrank 307
not supportedchrome.notifications.onShowSettingsno docsrank 277
supportedchrome.notifications.onClosedrank 93
supportedchrome.notifications.onButtonClickedrank 65
supportedchrome.notifications.onClickedrank 40

§ omnibox complete  desktop

Firefox docsFirefox codeChrome docs
§ 1 bugs
1276598: Provide ability to apply custom filter for search results of the location bar
§ 2 functions
supportedchrome.omnibox.setDefaultSuggestion()no docsrank 106
supportedchrome.omnibox.addSuggestions()no docs
§ 4 events
supportedchrome.omnibox.onInputEnteredno docsrank 74
supportedchrome.omnibox.onInputChangedno docsrank 91
supportedchrome.omnibox.onInputStartedno docsrank 161
supportedchrome.omnibox.onInputCancelledno docsrank 162

§ pageAction complete  android  desktop

Firefox docsFirefox codeChrome docs
§ 4 bugs
1237377: [meta] WebExtension popup support
1263005: [tracking] PageAction API support for Android WebExtensions
1267354: [PageAction] Add support for chrome.pageAction.setIcon on Android
1300811: [PageAction] Support show/hide on a per tab basis on Android.
§ 7 functions
supportedchrome.pageAction.hide()rank 99
supportedchrome.pageAction.show()rank 32
supportedchrome.pageAction.setTitle()rank 98
supportedchrome.pageAction.setPopup()rank 132
supportedchrome.pageAction.getTitle()rank 283
supportedchrome.pageAction.getPopup()rank 595
supportedchrome.pageAction.setIcon()rank 77
§ 1 events
supportedchrome.pageAction.onClickedrank 71

§ pageCapture not yet

Chrome docs
§ 1 bugs
1261339: Implement chrome.pageCapture

§ permissions partial

Firefox docsChrome docs
§ 9 bugs
1197420: (tracking) Implement permissions API and optional_permissions manifest property for open extension API
1203233: Can't use geolocation in a WebExtension
1308292: (tracking) Webextensions required permissions handling
1308295: Prompt users with permissions for third-party webextensions installs
1308296: Display "your add-on is ready" popup after installing a webextension
1308302: Display permissions prompt before downloading when installing a webextension from AMO
1308308: Implement new download indicators for AMO webextension installation
1308309: Display permissions prompt for webextensions installed using mozAddonManager
1308310: Display "your add-on is ready" popup after installing with mozAddonManager

§ power not yet

Chrome docs
§ 0 bugs

§ printerProvider not yet

Chrome docs
§ 0 bugs

§ privacy not yet

Chrome docs
§ 1 bugs
1312802: Implement chrome.privacy API

§ proxy partial

Firefox docsChrome docs
§ 7 bugs
1283639: [tracking] Proxy API support for WebExtensions
1295807: Support proxy configuration from WebExtensions
1319630: Add support for the new "SYSTEM" return type to FindProxyForURL
1319631: Add support for the new "WPAD" return type to FindProxyForURL
1319634: Add support for the new "PASS" return type to FindProxyForURL
1319641: Consider supporting user authentication in FindProxyForURL
1319642: Add a log to track which proxies have loaded each URL.

§ runtime partial  desktop  android

Firefox docsFirefox codeChrome docs
§ 9 bugs
1213473: Complete the implementation of chrome.runtime
1223425: port.onDisconnect isn't fired when extension is disabled/uninstalled
1259944: runtime.sendMessage does not handle the three-argument form correctly.
1267362: Provide code signature validation of native messaging host executable
1268594: Support TypedArray in native messaging
1313644: Temporary directory not cleaned up properly if AddonTestUtils is imported after ExtensionTestUtils is initialized.
1313648: Add support for the previousVersion property to runtime.onInstalled
1313653: We shouldn't need both extension.unload() and updated_addon.uninstall() in the addon update test.
1314922: implement chrome.runtime.requestUpdateCheck
§ 15 functions
supportedchrome.runtime.getBackgroundPage()rank 80
supportedchrome.runtime.openOptionsPage()rank 124
supportedchrome.runtime.sendNativeMessage()rank 122
supportedchrome.runtime.getBrowserInfo()
supportedchrome.runtime.connectNative()rank 179
supportedchrome.runtime.setUninstallURL()rank 69
supportedchrome.runtime.getURL()rank 62
supportedchrome.runtime.getManifest()rank 23
not supportedchrome.runtime.requestUpdateCheck()rank 143
supportedchrome.runtime.reload()rank 86
supportedchrome.runtime.sendMessage()rank 4
supportedchrome.runtime.connect()rank 47
supportedchrome.runtime.getPlatformInfo()rank 149
not supportedno equivalentchrome.runtime.getPackageDirectoryEntry()rank 281
not supportedno equivalentchrome.runtime.restart()no docs
§ 11 events
not supportedchrome.runtime.onSuspendCanceledrank 255
not supportedchrome.runtime.onRestartRequiredrank 336
not supportedchrome.runtime.onBrowserUpdateAvailable
supportedchrome.runtime.onConnectrank 41
not supportedchrome.runtime.onMessageExternalrank 78
supportedchrome.runtime.onUpdateAvailablerank 127
supportedchrome.runtime.onStartuprank 82
supportedchrome.runtime.onInstalledrank 16
not supportedchrome.runtime.onConnectExternalrank 184
supportedchrome.runtime.onMessagerank 3
not supportedchrome.runtime.onSuspendrank 131

§ sessions partial  desktop

Firefox docsFirefox codeChrome docs
§ 3 bugs
1300399: [tracking] Implement the sessions API
1308059: Implement sessions.getDevices WebExtensions API
1320306: Implement sessions.onChanged WebExtensions API
§ 3 functions
supportedchrome.sessions.getRecentlyClosed()no docsrank 227
supportedchrome.sessions.restore()no docsrank 226
not supportedno equivalentchrome.sessions.getDevices()no docsrank 294
§ 1 events
not supportedchrome.sessions.onChangedno docsrank 293

§ storage partial  desktop  android

Firefox docsFirefox codeChrome docs
§ 11 bugs
1213475: Complete the implementation of chrome.storage
1220494: [tracking] Implement chrome.storage.sync
1277612: [kinto] Migrate browser.storage.local to use kinto collections
1311507: ensure chrome.storage.sync production stack is in place and functional on server
1311510: chrome.storage.sync: performance test of production stack for chrome.storage.sync
1311513: chrome.storage.sync: develop sharding strategy
1311516: chrome.storage.sync: implement client-side quotas
1311710: chrome.storage.sync: phase 2
1311762: chrome.storage.sync: clean up and simplify based on new features of Kinto.js
1311764: chrome.storage.sync: support syncing to self-hosted
1316442: chrome.storage.sync: Implement syncing on Android
§ 1 events
supportedchrome.storage.onChangedrank 45

§ system.cpu not yet

Chrome docs
§ 0 bugs

§ system.memory not yet

Chrome docs
§ 0 bugs

§ system.storage not yet

Chrome docs
§ 0 bugs

§ tabCapture not yet

Chrome docs
§ 0 bugs

§ tabs complete  desktop

Firefox docsFirefox codeChrome docs
§ 7 bugs
1209869: tabs.sendMessage does not send messages to tab pages
1238314: Implement browser.tabs opener functionality
1246693: Provide WebExtension Thumbnail API
1260548: Basic tabs API support for Android WebExtensions
1260550: Support messaging interfaces in the tabs API on Android
1269456: Add permissions item to allow use of tabs.create/tabs.update
1315616: Add tabs.Tab.favIconBlob to WebExtensions API
§ 24 functions
supportedchrome.tabs.executeScript()rank 6
supportedchrome.tabs.getZoomSettings()rank 357
supportedchrome.tabs.move()rank 126
supportedchrome.tabs.getZoom()rank 254
supportedchrome.tabs.connect()rank 118
supportedchrome.tabs.query()rank 2
not supporteddeprecatedchrome.tabs.sendRequest()rank 48
supportedchrome.tabs.create()
supportedchrome.tabs.duplicate()rank 233
supportedchrome.tabs.detectLanguage()rank 207
supportedchrome.tabs.insertCSS()rank 59
supportedchrome.tabs.get()rank 25
supportedchrome.tabs.getCurrent()rank 57
supportedchrome.tabs.update()rank 8
supportedchrome.tabs.setZoom()rank 261
supportedchrome.tabs.setZoomSettings()rank 381
not supportedno equivalentchrome.tabs.getSelected()rank 17
supportedchrome.tabs.remove()rank 24
supportedchrome.tabs.captureVisibleTab()rank 51
supportedchrome.tabs.reload()rank 49
supportedchrome.tabs.sendMessage()rank 9
supportedchrome.tabs.highlight()rank 193
supportedchrome.tabs.removeCSS()
not supporteddeprecatedchrome.tabs.getAllInWindow()rank 44
§ 13 events
supportedchrome.tabs.onHighlightedrank 175
not supportedchrome.tabs.onActiveChangedrank 111
supportedchrome.tabs.onUpdatedrank 5
supportedchrome.tabs.onAttachedrank 139
supportedchrome.tabs.onMovedrank 183
supportedchrome.tabs.onDetachedrank 170
not supportedno equivalentchrome.tabs.onHighlightChangedrank 493
supportedchrome.tabs.onZoomChangerank 333
supportedchrome.tabs.onCreatedrank 35
not supportedno equivalentchrome.tabs.onSelectionChangedrank 96
supportedchrome.tabs.onRemovedrank 26
supportedchrome.tabs.onActivatedrank 36
supportedchrome.tabs.onReplacedrank 83

§ topSites complete  desktop  android

Firefox docsFirefox codeChrome docs
§ 0 bugs
§ 1 functions
supportedchrome.topSites.get()no docsrank 76

§ tts no

Chrome docs
§ 0 bugs

§ ttsEngine not yet

Chrome docs
§ 0 bugs

§ webNavigation complete  desktop  android

Firefox docsFirefox codeChrome docs
§ 8 bugs
1190329: Test coverage for webNavigation extension API
1190687: Implement webNavigation.onCreatedNavigationTarget
1213478: Complete the implementation of chrome.webNavigation
1248418: Implement errorOccurred in the webNavigation.getFrame/getAllFrames frame details
1248426: Log a warning message if the deprecated processId property is used in the webNavigation API methods
1252129: Filter out webNavigation events related to new window initialization phase
1262957: use NavHistoryService visit's transitionType to enhance the webNavigation transition types and qualifiers
1264936: Support server_redirect transitionQualifiers on sub-frame WebNavigation events
§ 2 functions
supportedchrome.webNavigation.getFrame()rank 306
supportedchrome.webNavigation.getAllFrames()rank 231
§ 9 events
supportedchrome.webNavigation.onReferenceFragmentUpdatedrank 206
supportedchrome.webNavigation.onCompletedrank 100
supportedchrome.webNavigation.onHistoryStateUpdatedrank 135
not supportedchrome.webNavigation.onCreatedNavigationTargetrank 114
supportedchrome.webNavigation.onTabReplacedrank 152
supportedchrome.webNavigation.onBeforeNavigaterank 87
supportedchrome.webNavigation.onCommittedrank 97
supportedchrome.webNavigation.onDOMContentLoadedrank 107
supportedchrome.webNavigation.onErrorOccurredrank 125

§ webRequest complete  desktop  android

Firefox docsFirefox codeChrome docs
§ 9 bugs
1190689: Implement webRequest auth handler
1210990: Implement content-side hooks to handle WebRequest decisions which affect or are affected by the DOM.
1213483: Complete the implementation of chrome.webRequest
1255894: Support a webRequest.onResponseData event to filter HTTP response bytes as they come
1256122: webRequest.onHeadersReceived no redirect to extension page
1268885: Support full native paths in the requestBody.raw[x].file property
1273281: Prevent extensions from changing security headers without a separate permission
1290016: tabs.executeScript in webRequest.onCompleted gives "Unchecked lastError value: Error: No matching message handler"
1305162: Allow requestBody in onBeforeRequest on release
§ 1 functions
supportedchrome.webRequest.handlerBehaviorChanged()rank 199
§ 9 events
supportedchrome.webRequest.onCompletedrank 88
supportedchrome.webRequest.onHeadersReceivedrank 68
supportedchrome.webRequest.onBeforeRedirectrank 102
not supportedchrome.webRequest.onAuthRequiredrank 129
supportedchrome.webRequest.onBeforeSendHeadersrank 81
supportedchrome.webRequest.onErrorOccurredrank 89
supportedchrome.webRequest.onResponseStartedrank 134
supportedchrome.webRequest.onSendHeadersrank 142
supportedchrome.webRequest.onBeforeRequestrank 38

§ webstore not yet

Chrome docs
§ 0 bugs

§ windows complete  desktop

Firefox docsFirefox codeChrome docs
§ 5 bugs
1213484: Complete the implementation of chrome.windows
1253129: Support focused=false in the browser.windows.create
1261963: createData should be optional for browser.windows.create
1275275: New windows should not be animated to their final size/position
1284273: WebExtensions: chrome.windows.create creates windows with incorrect size if window does not have title bar
§ 7 functions
supportedchrome.windows.get()rank 73
supportedchrome.windows.getCurrent()rank 43
supportedchrome.windows.create()rank 27
supportedchrome.windows.getAll()rank 33
supportedchrome.windows.update()rank 39
supportedchrome.windows.remove()rank 70
supportedchrome.windows.getLastFocused()rank 109
§ 3 events
supportedchrome.windows.onRemovedrank 67
supportedchrome.windows.onCreatedrank 117
supportedchrome.windows.onFocusChangedrank 55

§New APIs

Looking for new APIs? Then check out WebExtensions Experiments.

§ Chrome store compatibility

Please see a blog post on this.

Source on github.