Closed Bug 1212684 Opened 7 years ago Closed 6 years ago

Implement options_page manifest property for open extension API


(WebExtensions :: Untriaged, defect)

Not set


(Not tracked)



(Reporter: callahad, Unassigned)



(Keywords: dev-doc-complete, DevAdvocacy, Whiteboard: [options]triaged)

Relatively straightforward: it just takes a path that gets opened in a new tab when you click "Preferences" in the add-on manager.

Unfortunately, this API was recently deprecated in favor of options_ui, which supports embedding the options in a modal on the extension page:

The migration note on that page mentions that:

1. options_ui trumps options_page when both are specified
2. future versions of Chrome will eventually start applying the options_ui behavior to the deprecated options_page property.

However we choose to implement this should be done in a way to make the future migration to options_ui as easy as possible. Heck, maybe just implement the final, post-deprecation state, where options_page behaves like options_ui by embedding a modal, rather than being on its own tab?
Depends on: 1212685
Whiteboard: [options]
Flags: blocking-webextensions-
If options.html page is opened in a tab manually it seems it is assigned a totally unprivileged context where neither |chrome.*| nor |ChromeWindow| APIs are available.

However, when |page_action| popup.html is opened in a tab, it gets full access to the extension background process and |chrome.*| APIs.

Is adding chrome APIs to the options page in the scope of this bug or should I create a new one?
Just as a note, this API is also used by so it would be nice to have for that reason, too.  (Although I think Monica would accept a pull request that updated it to the new options_ui, if we were going to implement that instead…)
Whiteboard: [options] → [options]triaged
No longer blocks: 1235639
No longer depends on: 1212685
Closed: 6 years ago
Resolution: --- → WONTFIX
Note that options v2 was implemented:
Product: Toolkit → WebExtensions
You need to log in before you can comment on or make changes to this bug.