Reputation: 1167
This issue started with version 23 of Google Chrome. My Chrome app opens a tab to display its UI when the launched event fires.
chrome.app.runtime.onLaunched.addListener(function()
{
chrome.tabs.create(
{
url: "../../index.html"
});
});
This scheme was working previous to version 23 of Google Chrome. Now receiving the following exception when running my app.
Error in event handler for 'app.runtime.onLaunched': Cannot call method 'create' of undefined TypeError: Cannot call method 'create' of undefined
After checking the chrome
object in developer tools I notice that chrome.tabs
is undefined.
I know that I dont have to explicitly set a "tabs" permission in my manifest.json because according to http://developer.chrome.com/extensions/tabs.html the create, update, and remove methods dont require the "tabs" permission.
After trying to explicitly add the "tabs" permission to the manifest.json file I then receive this message on chrome://chrome/extensions/ for the app.
There were warnings when trying to install this extension: 'tabs' is only allowed for extensions and legacy packaged apps, and this is a packaged app.
If I am going by the chart given by https://developers.google.com/chrome/web-store/docs/choosing and have chosen a packaged app because my app's UI is not small and I dont intend on extending Chrome's UI and I cannot make use of chrome.tabs
then how can I open my app's UI inside of a new or existing tab without having to create a popup window (which is very annoying and not user friendly)?
Upvotes: 5
Views: 3753