Settings API for Chrome extensions

2,216 views
Skip to first unread message

Erik Kay

unread,
Mar 11, 2014, 3:21:29 PM3/11/14
to Chromium-extensions, chromium-dev
If you're a developer who is directly modifying Chrome settings,
please take note of this blog post I made today. Apologies for the
redundancy for those who have already seen it, but given that there is
some time sensitivity, I wanted to make sure that affected developers
saw this ASAP.

http://blog.chromium.org/2014/03/protecting-user-settings-on-windows.html

Browser settings hijacking continues[1] to be a top issue for Chrome
users, particularly on Windows. A user’s start page, home page and
default search engine are critical parts of their Chrome experience,
so we are creating an extension-based Settings API [2] for Chrome on
Windows to ensure all users have notice and control over any settings
changes that take place in their browser. We expect to release this
API to the Stable channel in May, after which it will be the only
way[3] for developers to make programmatic settings changes in Chrome
on Windows. The API is available now on the Windows Dev channel.

If your software relies on making changes to user settings within
Chrome as part of its feature set, make sure you begin moving your
code to use this new API[2] now and send us your feedback[4].

[1] http://chrome.blogspot.com/2013/10/dont-mess-with-my-browser.html
[2] https://developer.chrome.com/extensions/settings_override
[3] https://sites.google.com/a/chromium.org/dev/Home/third-party-developers?pli=1#TOC-Programmatic-changing-of-Chrome-Settings-on-Chrome
[4] https://groups.google.com/a/chromium.org/forum/#!forum/chromium-extensions

Evan Jones

unread,
Mar 11, 2014, 8:26:53 PM3/11/14
to chromium-...@chromium.org, chromium-dev
I would really love to see support for disabling the password manager, possibly as part of this Settings Override API, or as an extension to the API that allows extensions to disable autofill. I've posted about this before, and there is at least one bug about it:



Thanks!

Evan Jones

Matt Falkenhagen

unread,
Mar 11, 2014, 10:23:23 PM3/11/14
to eri...@chromium.org, Chromium-extensions, chromium-dev
Is the Font Settings API (https://developer.chrome.com/extensions/fontSettings) affected by this?



--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
    http://groups.google.com/a/chromium.org/group/chromium-dev

To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.

Timur Gaskarov

unread,
Mar 12, 2014, 3:56:09 AM3/12/14
to chromium-...@chromium.org, chromium-dev
Hi! One question. Can developers use this API into existing extensions? Can they make an extension with settings api and, for example, badge api (news, weather, ...)? Or is it prohibited due to new rules about "1 extension - 1 function" ? 

вторник, 11 марта 2014 г., 23:21:29 UTC+4 пользователь Erik Kay написал:

Alexandre Barreira

unread,
Mar 12, 2014, 5:26:17 AM3/12/14
to chromium-...@chromium.org, chromium-dev
Wondering what happens when:
  1. User installs extension A, which changes the default search engine
  2. User installs extension B, which also makes that change
  3. User uninstalls extension B

vas...@chromium.org

unread,
Mar 13, 2014, 11:46:18 AM3/13/14
to chromium-...@chromium.org, chromium-dev
On Wednesday, March 12, 2014 10:26:17 AM UTC+1, Alexandre Barreira wrote:
> Wondering what happens when:
> User installs extension A, which changes the default search engineUser installs extension B, which also makes that changeUser uninstalls extension B
Matt, the Font Settings API isn't affected.

Timur, it's prohibited. The only purpose of the extension is to override some settings.

Alexandre, the extension A controls the default search engine.

Alexandre Barreira

unread,
Mar 13, 2014, 2:15:35 PM3/13/14
to chromium-...@chromium.org, chromium-dev, vas...@chromium.org
Well I should also have asked what happens when the user installs A, B and C, each asking to change the default search...

Who wins? First or latest installed?

Vasilii Sukhanov

unread,
Mar 14, 2014, 5:07:54 AM3/14/14
to Alexandre Barreira, chromium-...@chromium.org, chromium-dev
The last wins.

Timur Gaskarov

unread,
Mar 17, 2014, 1:04:19 PM3/17/14
to chromium-...@chromium.org, chromium-dev, vas...@chromium.org
vas...@chromium.org 
But what is the use of the user extension, which only changes the search? 

четверг, 13 марта 2014 г., 19:46:18 UTC+4 пользователь vas...@chromium.org написал:

Vasilii Sukhanov

unread,
Mar 17, 2014, 2:35:51 PM3/17/14
to Timur Gaskarov, chromium-...@chromium.org, chromium-dev
Timur, an extension can change the search engine, the homepage and the startup page. A third party installer can bundle it with a fully fledged extension. Thus, the user can always disable just the Override Settings extension and preserve the functionality of the second extension.

Jouni Korte

unread,
Mar 26, 2014, 10:46:08 AM3/26/14
to chromium-...@chromium.org, chromium-dev
Hi

I'd appreciate if one of the developers could kindly comment on the situation below. 
Our company produces a white-label product with an extension being part of it. The values related to search engine and startup pages can be customized in a large amount of brands. What would be the convenient way to handle that task using the new extension-based settings API? For example, is there plans for javascript API for same settings? Publishing a separate extension for each branding is not really feasible.

Thanks!

Finnur Thorarinsson

unread,
Mar 26, 2014, 12:42:05 PM3/26/14
to Jouni Korte, vas...@chromium.org, Tyler Odean, Chromium-extensions, chromium-dev
+Vasilii, Tyler


--
You received this message because you are subscribed to the Google Groups "Chromium-extensions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.
To post to this group, send email to chromium-...@chromium.org.
Visit this group at http://groups.google.com/a/chromium.org/group/chromium-extensions/.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-extensions/adf1d53c-d60f-4226-bede-b91c04a0bb41%40chromium.org.

vas...@chromium.org

unread,
Mar 26, 2014, 2:03:07 PM3/26/14
to chromium-...@chromium.org, chromium-dev
The way to customize these URLs is to set "install_parameter" registry key. The value of this key will replace the placeholder "__PARAM__" in the URL strings. The updated documentation is coming soon.
There is no plans to add Javascript support so far.

Priyanshu Gupta

unread,
Apr 1, 2014, 9:15:47 PM4/1/14
to chromium-...@chromium.org, chromium-dev
Hi,

Can someone from the Google team explain how this setting would work, or could verify my understanding of it as mentioned below?

I work on the Norton Toolbar where we change the user's default search provider only if they agree to do it on a popup, which is displayed below the toolbar.

I see that Extension Manifest has :
"is_default": true
In our manifest this value will be "false" by default. So, when the user agrees to change the default provider and we programmatically make the above value to "true" (Considering all other variables are set in the manifest properly) will Google Chrome change the default search provider to Norton Safe Search? 

Thanks
Priyanshu

Vasilii Sukhanov

unread,
Apr 8, 2014, 11:56:03 AM4/8/14
to Priyanshu Gupta, chromium-...@chromium.org, chromium-dev
Changing the manifest of an installed extension on the fly is a hack. It's not supported.
The correct way would be to install the extension overriding the default search provider. Then it can be enabled/disabled.


--
You received this message because you are subscribed to a topic in the Google Groups "Chromium-extensions" group.
To unsubscribe from this topic, visit https://groups.google.com/a/chromium.org/d/topic/chromium-extensions/fIOJb5kXvZQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to chromium-extens...@chromium.org.

To post to this group, send email to chromium-...@chromium.org.
Visit this group at http://groups.google.com/a/chromium.org/group/chromium-extensions/.
Message has been deleted

Kevin Li

unread,
Apr 17, 2014, 5:38:34 PM4/17/14
to chromium-...@chromium.org, Priyanshu Gupta, chromium-dev, vas...@chromium.org
Hey Vasi,

I know changing manifest on the fly is not allowed. But Google also has a rule saying that changing search provider needs to get user's agreement. Is that right? If yes, we DO need a switch to override search provider. Does Google Dev has a plan of dynamically setting "is_default"  using javascript, something like "chrome.browserAction.setIcon" to dynamically set a button icon?

Thanks,
Kevin
To unsubscribe from this group and all its topics, send an email to chromium-extensions+unsub...@chromium.org.

To post to this group, send email to chromium-...@chromium.org.
Visit this group at http://groups.google.com/a/chromium.org/group/chromium-extensions/.

Vasilii Sukhanov

unread,
Apr 22, 2014, 4:44:51 AM4/22/14
to Kevin Li, chromium-...@chromium.org, Priyanshu Gupta, chromium-dev
Changing search provider requires user's confirmation. We get it when the extension is installed.
So far, I don't understand the dependency between user's confirmation and javascript API.

webdev1...@gmail.com

unread,
Apr 22, 2014, 5:38:43 AM4/22/14
to chromium-...@chromium.org, chromium-dev
Hi,
When the new API should be supported on Chrome's stable channel?

Vasilii Sukhanov

unread,
Apr 22, 2014, 7:10:50 AM4/22/14
to webdev1...@gmail.com, chromium-...@chromium.org, chromium-dev
The API is going to be available in the M35 stable channel.


--
You received this message because you are subscribed to a topic in the Google Groups "Chromium-extensions" group.
To unsubscribe from this topic, visit https://groups.google.com/a/chromium.org/d/topic/chromium-extensions/fIOJb5kXvZQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to chromium-extens...@chromium.org.
To post to this group, send email to chromium-...@chromium.org.
Message has been deleted
Message has been deleted

PhistucK

unread,
Apr 22, 2014, 1:22:29 PM4/22/14
to Kevin Li, Chromium-extensions, Priyanshu Gupta, chromium-dev, vas...@chromium.org
An extension is not supposed to do more than a single thing anyway, per the new terms of the web store, so this should be its entire purpose.


PhistucK


On Tue, Apr 22, 2014 at 8:14 PM, Kevin Li <huanl...@gmail.com> wrote:
Hey Vasilii,

Thanks for your response!
I saw the confirmation popup, but if a user chooses "restore settings", the search provider will be restored by disabling the extension. That doesn't sound a good idea to me. How about if the user like the extension but not the search provider?

To unsubscribe from this group and all its topics, send an email to chromium-extensions+unsubscribe...@chromium.org.
To post to this group, send email to chromium-...@chromium.org.


--
You received this message because you are subscribed to the Google Groups "Chromium-extensions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.

To post to this group, send email to chromium-...@chromium.org.
Visit this group at http://groups.google.com/a/chromium.org/group/chromium-extensions/.

Matt Powers

unread,
Apr 29, 2014, 6:37:07 PM4/29/14
to chromium-...@chromium.org, chromium-dev
Thread readers may benefit from knowing about the announced change in implementing this settings API [1].



On Tuesday, March 11, 2014 12:21:29 PM UTC-7, Erik Kay wrote:

Marc Fawzi

unread,
Apr 29, 2014, 8:14:23 PM4/29/14
to PhistucK, Kevin Li, Chromium-extensions, Priyanshu Gupta, chromium-dev, vas...@chromium.org
Can you point us to the Terms of the web store?

Sent from my iPhone

PhistucK

unread,
Apr 30, 2014, 8:48:40 AM4/30/14
to Marc Fawzi, Kevin Li, Chromium-extensions, Priyanshu Gupta, chromium-dev, vas...@chromium.org
When you go to the developer dashboard of the web store, there is a link at the bottom, "Developer Terms of Service".


PhistucK

Kevin Li

unread,
Apr 30, 2014, 11:29:15 AM4/30/14
to chromium-...@chromium.org, Marc Fawzi, Kevin Li, Priyanshu Gupta, chromium-dev, vas...@chromium.org
Ok, I still have a question on what you said.  Lets assume what you said is true. Then using this Settings API and other API,  my extension can set startpage, new tab, and search provider. Does that mean my extension is doing multiple things? Actually, I think that rule targets to the functionality of the extension, not the settings part of browser itself. Please correct me if I am wrong.


PhistucK




PhistucK


To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extensions+unsub...@chromium.org.

To post to this group, send email to chromium-...@chromium.org.
Visit this group at http://groups.google.com/a/chromium.org/group/chromium-extensions/.

--
You received this message because you are subscribed to the Google Groups "Chromium-extensions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extensions+unsub...@chromium.org.

To post to this group, send email to chromium-...@chromium.org.
Visit this group at http://groups.google.com/a/chromium.org/group/chromium-extensions/.

marc fawzi

unread,
Apr 30, 2014, 10:43:42 PM4/30/14
to PhistucK, Kevin Li, Chromium-extensions, Priyanshu Gupta, chromium-dev, vas...@chromium.org
Ok, thank you for that. 

I did find the terms and program policies of the webstore separately from this. Will read the developer terms as well to make sure I got every angle covered.

I'd like to reiterate how terrifying it is to us developers to be investing months into developing something and have it go to indefinite pending status with no explanation whatsoever. I'm hopping that sticking to the Terms, as best as we can interpret them, more or less guarantees approval. But I have a nagging suspicion based on the number of open "pending status" complaints on this list that it's not as logical as that. Feels like Google has interest in keeping developers in the dark about the reason for putting their extensions in indefinite status. I hope to get to the bottom of this regardless of my own personal outcome with the submission process.

webdev1...@gmail.com

unread,
May 5, 2014, 1:19:21 AM5/5/14
to chromium-...@chromium.org, webdev1...@gmail.com, chromium-dev, vas...@chromium.org
Can someone describe exactly the user experience while installing an extension from the web store that uses the "Settings Overrides API"?

My specific questions:
  • How the permission list will look in case the extension overrides start page, home page and default search provider?
  • Will the user be prompted after the installation for verifying that this is actually the start page he expected? (I experienced it when installed in dev mode, but I want to be sure regarding installation from the store?
Another topic - What is the typical time frame for publishing an extension on the web store, in case that it complies with the terms of the web store?

Thanks!
To unsubscribe from this group and all its topics, send an email to chromium-extensions+unsub...@chromium.org.

Vasilii Sukhanov

unread,
May 5, 2014, 4:44:54 AM5/5/14
to webdev1...@gmail.com, chromium-...@chromium.org, chromium-dev
When user installs an extension that uses Settings Overrides API, he sees the confirmation dialog
Inline image 1

Moreover, we have one-time bubbles for the overridden settings.

Finnur Thorarinsson

unread,
May 5, 2014, 6:11:16 AM5/5/14
to Vasilii Sukhanov, webdev1...@gmail.com, Chromium-extensions, chromium-dev
Will the user be prompted after the installation for verifying that this is actually the start page he expected? 

Yes, there will be a bubble. Doesn't matter if the extension came from the webstore or not.

Another topic - What is the typical time frame for publishing an extension on the web store, in case that it complies with the terms of the web store?

In the typical case, extensions are published to the world (if that's what you opted for) as soon as you hit Publish. Shortly thereafter it also appears in the webstore search results.


You received this message because you are subscribed to the Google Groups "Chromium-extensions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.

To post to this group, send email to chromium-...@chromium.org.
Visit this group at http://groups.google.com/a/chromium.org/group/chromium-extensions/.

Tim Loach

unread,
Jul 18, 2014, 3:25:24 PM7/18/14
to chromium-...@chromium.org, chromi...@chromium.org
If I change the default search provider using the manifest file I see the new search provider in the list of options, but Chrome doesn't seem to respect the "is_default": true command, at least in the developer mode loading of the extension.

vas...@chromium.org

unread,
Jul 21, 2014, 6:59:22 AM7/21/14
to chromium-...@chromium.org, chromi...@chromium.org, tlo...@gmail.com
On Friday, July 18, 2014 9:25:24 PM UTC+2, Tim Loach wrote:
> If I change the default search provider using the manifest file I see the new search provider in the list of options, but Chrome doesn't seem to respect the "is_default": true command, at least in the developer mode loading of the extension.


Tim, I can't confirm this behavior. Can you submit a bug and/or give a link to the extension you use?
I suspect there may be typos or incorrect URL in the "search_url".

Kevin Li

unread,
Jul 31, 2014, 4:56:23 PM7/31/14
to chromium-...@chromium.org, chromi...@chromium.org, tlo...@gmail.com, vas...@chromium.org
Does the Settings API work on Mac? If not, are there any plans on Mac machines for it?

Thanks,

Vasilii Sukhanov

unread,
Aug 1, 2014, 4:25:40 AM8/1/14
to Kevin Li, chromium-...@chromium.org, chromium-dev, tlo...@gmail.com
The Settings Override API is currently Windows-only. At the moment we don't plan to launch it on Mac. However, we may revisit our decision based on the community needs.
Reply all
Reply to author
Forward
0 new messages