the Chromium logo

The Chromium Projects

Chrome Apps Migration

Overview

This page will serve as your guide for how to move Chrome.* App API to the Web Platform and its APIs.

Upcoming Changes

Our team has identified these highly used Chrome.* APIs and we outline below the targeted milestone where those APIs will be coming to the Web Platform. If you use these APIs in your existing Chrome App, you can find out more about these APIs on the Web Updates page. If there is an API you use and it isn’t on our Web Platform Fugu API Roadmap , please file a new feature request where you can provide information about your desired use case. As we work towards full deprecation, this feedback will help us determine prioritization of APIs.

Web Supported - Green

Web Partial Support - Yellow

Web Planned - Orange

Web Not Supported - Red

Chrome App feature/functionality Web Support Web platform functionality Origin Trial Release
chrome.accessibilityFeatures Partial Support Requires Chrome Extension Shipped
chrome.alarms Planned Notification Triggers 78 81
chrome.app.runtime Planned Launch Event 79 82
chrome.app.runtime.onRestarted Partial Support Page Life Cycle Shipped
chrome.app.window Planned Window Placement / Screen Enumeration 83 86
chrome.audio Planned Audio Device Client 84 87
chrome.bluetooth Partial Support Web Bluetooth API Shipped
chrome.bluetoothLowEnergy Partial Support Web Bluetooth API Shipped
chrome.bluetoothLowEnergy Peripheral Not Supported Support via ARC++ BTLE
chrome.bluetoothSocket Not Supported Support via ARC++ BTLE
chrome.browser Supported window.open Shipped
chrome.commands Supported UI Events Shipped
chrome.contextMenus Supported (HTML/script) Shipped
chrome.documentScan Not Supported Via extensions chrome.documentScan
chrome.events Partial Support Alarms 78 81
chrome.extensionTypes Partial Support Extension with extensionTypes Shipped
chrome.fileSystem Partial Support Native FileSystem API 78 84
chrome.fileSystemProvider Partial Support Extension w/ fileSystemProvider Shipped
chrome.gcm Supported Web Push Notifications Shipped
chrome.hid Planned Web HID API 84 87
chrome.i18n Supported (HTML/script) Shipped
chrome.identity Partial Support Workaround using OAuth API or Credential Management API Shipped
chrome.idle Planned User Idle Detection API 82 85
chrome.instanceID Partial Support Web push Shipped
chrome.mdns Not Supported Via partial support from ARC++ NDS Discovery
chrome.mediaGalleries Planned Native FileSystem API 77 84
chrome.networking.onc Not Supported
chrome.notifications Supported Notifications API Shipped
chrome.permissions Supported Web Permissions API Shipped
chrome.power Partial Support WakeLock API - Screen wake lock, but not System wake lock 78 82
chrome.printerProvider Partial Support Transition to Extension Shipped
chrome.runtime Partial Support Service Workers + Page Lifecycle API Shipped
chrome.runtime.connect Partial Support Channel Messaging API Shipped
chrome.runtime.sendMessage Not Supported Only between Android apps / Only within ARC++
chrome.serial Planned Web Serial API 80 83
chrome.sockets.tcp Not Supported Partial ARC++ support through android.net.ConnectivityManager and Java standard socket API
chrome.sockets.tcpServer Not Supported Partial ARC++ support via android.net.ConnectivityManager and Java standard socket API
chrome.sockets.udp Not Supported Partial support via ARC++ DatagramSocket API for UDP
chrome.storage Partial Support Cache API: https://www.chromestatus.com/feature/5072127703121920 IndexedDB: https://www.chromestatus.com/feature/6507459568992256 Shipped
chrome.storage.managed Partial Support Support via ARC++ or Extension with storage.managed Shipped
chrome.syncFileSystem Partial Support Not supported - Integration with Drive restful API but no OS intergation Shipped
chrome.system.cpu Partial Support navigator.hardwareConcurrency Shipped
chrome.system.display Partial Support window.screen Shipped
chrome.system.memory Partial Support navigator.deviceMemory Shipped
chrome.system.network Partial Support Network Information API Shipped
chrome.system.storage Partial Support navigator.storage Shipped
chrome.tts Supported Web Speech API (Synthesis) Shipped
chrome.types Not Supported Extension with chrome.types Shipped
chrome.usb Supported Web USB API Shipped
chrome.virtualKeyboard Not Supported Partial support via ARC++ Soft Input Method
chrome.vpnProvider Not Supported Partial support via ARC++ VpnService or Extensions chrome.vpnProvider
chrome.wallpaper Not Supported Support via ARC++ WallpaperManager or Extensions https://developer.chrome.com/extensions/wallpaper
externally_connectable Not Supported Use Window.postMessage to communicate with Extensions
kiosk_enabled Planned PWAs will be supported in Kiosk mode.
minimum_chrome_version Not Supported Use feature detection or via Extenisions minimum_chrome_version
offline_enabled Supported Offline via Service Workers Shipped
NaCl Partial Support Migration Guide Shipped
<webview> tag Not Supported

# **[Web Platform Fugu API
Roadmap](https://docs.google.com/spreadsheets/d/1de0ZYDOcafNXXwMcg4EZhT0346QM-QFvZfoD8ZffHeA/edit#gid=557099940)**

# **F[ile a new feature
request](https://developers.google.com/web/updates/capabilities#the_new_capabilities)**

# **[Android development for Chrome
OS](https://developer.android.com/chrome-os)**

# **Past announcement from blog:
[Link](https://blog.chromium.org/2016/08/from-chrome-apps-to-web.html) to
2016 announcement.**

FAQ

Developers

What are my next steps for converting my existing Chrome app?

Migrating to web api: https://developers.chrome.com/apps/migration

Migrating to Android for Chrome OS: https://developer.android.com/chrome-os

Where can I find a list of new Web Platform Fugu APIs that corresponds to existing Chrome app APIs?

See this tracker.

I’m migrating a Chrome App to PWA and missing an API, will an equivalent API be available? If not, how can I request a new Web Capability?

See https://developers.google.com/web/updates/capabilities; request APIs using this link.

I’ve created a PWA or Android app to replace my Chrome App, what do I need to do to help transition my users?

If you are migrating users to PWAs, you need to add the replace_web_app field and the url for hosting the new PWA. (note, this field exists since M75+)

If you are migrating users to ARC++, you need to add the replacement_android_app field and the package name for the replacement Android App. (note, this field will be added for Chrome M81+).

Once you have defined one of the two fields, you also need to invoke chrome.management.installReplacementWebApp() in your app to prompt Chrome for the migrating dialogue.

See the example definition in https://developer.chrome.com/apps/manifest.