how does the manifest for chrome extensions work? - google-chrome

I made an extension for google chrome but I don't like what the market put as a warning :(
This extension may have access to:
Your data on every website
Your history data
the manifest:
{
"name": "extension name",
"description": "description cool super description.",
"version": "1.0",
"permissions": [ "tabs", "http://*/*", "https://*/*" ],
"browser_action": {
"default_icon": "icon.png",
"popup": "popup.html"
}
}
Is there any way to explain to google that I don't access any of this? is just an app to reveal asterisk :(

If you mean "browser history" part then it's a bug on the webstore website which someone should report. This contradicts their own docs where it says that tab permission should raise "Your tabs and browsing activity" warning. (As a reference this bug report could be used)
"Your data on all websites" is correct one. Their warnings show not what you do, but what you can potentially do.

Related

Chrome Extension installation "Invalid manifest"

I have a Chrome extension that uploads to the Chrome store just fine. My current manifest file is posted below. It is saved in ANSI format as suggested in previous posts with this issue. This is the third variant and they all produce the same error message when I try to install: "Invalid manifest". No real information. I have tried waiting 24 hours for it to propagate properly as suggested in previous posts, but to no effect.
Has anyone encountered this issue before?
The extension is here: https://chrome.google.com/webstore/detail/bamboo-dialog-fixer/oelecpkhobhmbbdmehaoonkbkdodhdio?hl=en-US
{
"manifest_version": 2,
"name": "Bamboo dialog fixer",
"version": "1.3",
"description": "This extension makes bamboo popup dialogs such a the performance dialogs fit the width of the screen.",
"icons": {"128": "BambooHR_FullSize.png"},
"content_scripts":
{
"css": "styles.css",
"matches": "https://*.bamboohr.co.uk/*"
}
}
Thanks wOxxOm. I must have screwed up, even though I thought I had it right on a previous occasion. I rewrote the file as below and uploaded and it works now.
{
"manifest_version": 2,
"name": "Bamboo dialog fixer",
"version": "1.4",
"description": "This extension makes bamboo popup dialogs such a the performance dialogs fit the width of the screen.",
"icons": {"128": "BambooHR_FullSize.png"},
"content_scripts": [
{
"css": ["styles.css"],
"matches": ["https://*.bamboohr.co.uk/*"]
}
]
}

JSON - Make popup navigate to Google

I'm trying to write a Chrome extension where, when clicked, it will drop down Google. For now, it only loads a local .html file. Here is the code I currently have:
{
"manifest_version": 2,
"name": "theName",
"description": "TheDesc",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "http://www.google.com",
"default_title": "Tooltip"
},
"permissions": [
"activeTab",
"https://ajax.googleapis.com/"
]
}
I have 4 files in my folder: icon.png, manifest.json, popup.html, & popup.js. I am using the "Getting Started" tutorial from https://developer.chrome.com/extensions/getstarted as a template, as I am extremely new to all of this (vb6 programmer for years).
Edit:
I finally got it to open a webpage in the little popup. Now, I need to grab the Title of the current tab's URL, remove the spaces from it, trim it down to 30 characters max, assign it to a string, then navigate to www.website.com/STRING. What I'm thinking is the extension needs to create a new popup.html each time, but that could be taxing on the server. Perhaps this can be done straight from the extension? I don't have a clue. Just guessing at this point.

Background subsection required when publishing a translated Google Docs Add-on

I developped a Google Docs add-on with translations, so, instead of using the traditional online deployment process, I need to upload a ZIP file with a json manifest (example below) and files for each locales.
{
"manifest_version": 2,
"name": "__MSG_application_title__",
"short_name": "__MSG_application_title__",
"description": "__MSG_application_description__",
"container": ["GOOGLE_DOCUMENT"],
"default_locale": "en",
"icons": {
"16": "icon.png",
"128": "icon.png"
},
"container_info": {
"container_version": "my_container_version",
"post_install_tip": "my_tip",
"container_id": "my_container_id"
},
"version": "my_version"
}
When uploading such ZIP file, I get the following error message:
An error occurred: Failed to process your item. Please specify
background subsection of app section in the manifest. Legacy packaged
apps cannot be uploaded to the Chrome Web Store any more. More
information can be found at
http://blog.chromium.org/2014/06/migrate-your-legacy-packaged-apps-to.html
I tried to add background subsection from different ways, but none of them was working. Does anyone know how to change the manifest to make it valid please ?
Thanks
Sincerest apologies, I was misunderstanding the issue entirely. Try and see if:
"app":{
"background":{
"scripts":["background.js"]
}
},
Works when added to your code.
similarly, I had to change the app section of my manifest to the following to get it to work when facing this issue:
"app": {
"background": {
"persistent": false
}
}

Chrome Extensions - Mass Accounts/Extensions Suspension

Today my three Chrome extensions web developer accounts have been disabled and all my 30+ extensions are all taken down without even single warning email, but got the email stating that
"Where possible, make as much of your code visible in the package as
you can. If some of your app's logic is hidden and it appears to be
suspicious, we may remove it".
But, my extensions were containing only 2-3 javascript files, one is standard jquery js file, and other two are my own javascript files which have hardly 100+ lines of basic validation logic of javascript code. I am 100% sure that those are not at all malicious or suspicious code. I really don't know why Google has taken such ruthless action by suspending and taking down all extensions without even basic courtesy of informing to us.
I did get such complains from other friends who's accounts also got suspended and 100+ extensions are taken down. It is definitely seem to be a mass action.
If anybody facing same issue, please share your experience and any solutions to get everything back.
Regards
===== manifest.json =====
{
"manifest_version": 2,
"name": "Extension",
"version": "1.0.0",
"description": "Extension Description",
"icons": {"16": "img/icon-16.png", "48": "img/icon-48.png", "128": "img/icon-128.png"},
"background": {
"page": "background.html"
},
"browser_action": {
"default_icon": "img/icon-48.png",
"default_title": "Extension",
"default_popup": "popup.html"
},
"content_scripts": [
{
"matches": [ "http://*/*", "https://*/*"],
"js": ["js/jquery-1.9.1.min.js", "js/common.js", "js/popup.js"]
}
],
"permissions": ["*://*/*", "tabs", "webRequest", "webRequestBlocking", "notifications"],
"content_security_policy": "script-src 'self' 'unsafe-eval' https://ssl.google-analytics.com; object-src 'self'"
}

Writing a simple chrome extension

I'm trying to write a simple Chrome extension. I learnt how to write the "hello world" extension that Google put out, but how do I write an extension that will actually do something? Nothing online seems to explain it well. I know it involves HTML and CSS(? ), but what do I do? Say I want to write an extension that will enlarge everything--do I write an HTML file that does this and stick it in my extension folder? And what do I write in the manifest.json file so that it actually uses the HTML file?
Also, I'm a total beginner (I don't know HTML, all I know is a bit of Java) if you couldn't tell from the basic-ness of my questions.
In order to interact with the DOM of the site the user is viewing once the extension is installed you need to use content scripts. Look at the added lines in the manifest here:
http://code.google.com/chrome/extensions/content_scripts.html
Those lines let you indicate what js and css you want to use for the site and also specify what specific domains with 'matches':
"content_scripts": [
{
"matches": ["http://www.google.com/*"],
"css": ["mystyles.css"],
"js": ["jquery.js", "myscript.js"]
}
],
Files needed:
icon.png ( http://www.mediafire.com/imageview.php?quickkey=37phkkdmd1dv1zf&thumb=4 )
manifest.json
popup.html
Put all in a folder together.
.
in the manifest.json:
{
"name": "My First Extension",
"version": "1.0",
"description": "The first extension that I made.",
"browser_action": {
"default_icon": "icon.png"
},
"browser_action": {
"default_icon": "icon.png",
"popup": "popup.html"
}
}
put in popup.html:
hello world
Save both files.
go to extentions ( chrome://extensions/ )
And click developer mode. http://snpr.cm/HBuhYF.jpg
Click "load unpacked extention". and locate the folder.
It should load fine.
Click on the new extention and see the glory :)
edit, just read your post - you learned a hello world /facepalm