Confirmed users
954
edits
No edit summary |
(fix Extension Manager Redesign link) |
||
(14 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
== Uplift Scope == | == Uplift Scope == | ||
This describes a ''potential'' ideal scope, if Jetpack were to be shipped as part of Firefox. | |||
'''Included''' | '''Included''' | ||
Line 19: | Line 21: | ||
* Workarounds for older version of Firefox | * Workarounds for older version of Firefox | ||
* Personas specific code | * Personas specific code | ||
* First run experience | |||
'''Uplifted separately''' | '''Uplifted separately''' | ||
Line 27: | Line 30: | ||
== Subscription / Installation / Management == | == Subscription / Installation / Management == | ||
* Management through Extension Manager [[Firefox/ | * Management through Extension Manager [[Firefox/Projects/Extension_Manager_API|API]] and [[[[Firefox/Projects/Extension_Manager_Redesign|Extension Manager Redesign]] | ||
* Install & update comparable to current addons | * Install & update comparable to current addons | ||
Line 34: | Line 37: | ||
=== Browser UI === | === Browser UI === | ||
Areas where | Areas where Firefox should provide simple APIs: | ||
* Slidebars | * Slidebars | ||
* URLbar icons | * URLbar icons | ||
* Site identity pane (Larry) | * Site identity pane (Larry) | ||
* [[Firefox/ | * [[Firefox/Projects/Doorhanger_notifications|Doorhanger notifications]] | ||
* Content context menu | * Content context menu | ||
* Statusbar panels (Note: may be removed in [[Firefox/Sprints/Windows_Theme_Revamp|Windows Theme revamp]]) | * Statusbar panels (Note: may be removed in [[Firefox/Sprints/Windows_Theme_Revamp|Windows Theme revamp]]) | ||
* Main menu (Note: may be removed in [[Firefox/Projects/Windows_Theme_Revamp|Windows Theme revamp]]) | |||
* Main toolbar | |||
* Shortcuts | |||
* Preferences UI | |||
'''Further in the Future''' | '''Further in the Future''' | ||
Line 50: | Line 57: | ||
* [[Extension_Manager:UI_Update|UI update]] | * [[Extension_Manager:UI_Update|UI update]] | ||
* [[Firefox/ | * [[Firefox/Projects/Extension_Manager_API|API update]] | ||
=== Javascript / Sandboxing === | === Javascript / Sandboxing === | ||
Line 57: | Line 64: | ||
* Object.freeze() | * Object.freeze() | ||
** {{bug|492844}} - ES5: Implement Object.freeze, Object.isFrozen | ** {{bug|492844}} - ES5: Implement Object.freeze, Object.isFrozen | ||
* ChromeObjectWrapper (landed on trunk) | |||
=== Layout === | === Layout === | ||
Line 62: | Line 70: | ||
* Transparent iframes | * Transparent iframes | ||
** {{bug|235877}} - Iframe elements in XUL (like 'page' etc.) can not be made transparent | ** {{bug|235877}} - Iframe elements in XUL (like 'page' etc.) can not be made transparent | ||
** {{bug|130078}} - integrate iframe into chrome view hierarchy (link view managers / trees between chrome and content) | ** {{bug|130078}} - integrate iframe into chrome view hierarchy (link view managers / trees between chrome and content) | ||
* Lightweight iframes? Need some efficient way of sandboxing and displaying untrusted markup/code. | |||
* Scriptable HTML parser (@mozilla.org/xmlextras/domparser;1 only handles XML) | |||
=== Utility Libraries === | |||
'''Note:''' Not specific to Jetpack. | |||
Provide utility libraries similar to FUEL but for non-browser stuff. For browser-related functions, FUEL can be expanded. | |||
Examples: | |||
* OAuth | |||
* Logging | |||
* More convenience wrappers around commonly used XPCOM components. | |||
=== Native support for Content Scripts === | |||
Content scripts are JS scripts that run in content, but are provided by the browser, rather than by the website. This could be a potential first step in providing developers with native open-web tools to extend the browser. Currently this is provided by addons ([https://addons.mozilla.org/firefox/748/ Greasemonkey], and [[Labs/Jetpack/JEP/17|Jetpack has it planned]]). A technical exploration was done to see how Firefox could support this natively. | |||
'''Requirements''' | |||
* First-class support for content scripts | |||
* Must be secure - content space only, no chrome privileges | |||
'''Technical exploration''' | |||
* Success | |||
** But needs support from new Extension Manager | |||
* Would work as both a standalone feature, and a platform for Jetpack (and other addons) | |||
'''Outcome''' | |||
* Technically sound, but need more discussion with Jetpack team | |||
== Jetpack requirements == | == Jetpack requirements == | ||
Line 84: | Line 122: | ||
'''New Extension Manager API and UI''' | '''New Extension Manager API and UI''' | ||
* https://wiki.mozilla.org/Firefox/ | * https://wiki.mozilla.org/Firefox/Projects/Extension_Manager_API | ||
* https://wiki.mozilla.org/Extension_Manager:UI_Update | * https://wiki.mozilla.org/Extension_Manager:UI_Update | ||
* Jetpacks would fit great as first class citizens here, alongside current addons. The new API will make that possible, and the UI will make it doable. | * Jetpacks would fit great as first class citizens here, alongside current addons. The new API will make that possible, and the UI will make it doable. | ||
Line 90: | Line 128: | ||
'''Windows Theme Revamp''' | '''Windows Theme Revamp''' | ||
* https://wiki.mozilla.org/Firefox/ | * https://wiki.mozilla.org/Firefox/Projects/Windows_Theme_Revamp | ||
* This includes the possible/probable removal of the menubar and statusbar. These are the 2 most common areas for addons to extend. Even without these being removed, its clear that the browser window needs to provide more easy ways for things to be added to the UI, in areas that make sense. | * This includes the possible/probable removal of the menubar and statusbar. These are the 2 most common areas for addons to extend. Even without these being removed, its clear that the browser window needs to provide more easy ways for things to be added to the UI, in areas that make sense. | ||
'''Doorhanger notifications''' | '''Doorhanger notifications''' | ||
* https://wiki.mozilla.org/Firefox/ | * https://wiki.mozilla.org/Firefox/Projects/Doorhanger_notifications | ||
* New UI to hook into. | * New UI to hook into. | ||
Line 107: | Line 145: | ||
== Questions == | == Questions == | ||
=== General === | |||
* Would uplift include renaming? | |||
** Jetpack is a good code name, but maybe not a good feature name | |||
** At least, may make sense to rename "jetpack" object to "env" or similar | |||
=== For the Jetpack team === | |||
* Why was the Vapour-style use of markup abandoned? | * Why was the Vapour-style use of markup abandoned? | ||
Line 114: | Line 160: | ||
* Would it make sense to put all APIs in IDLs? | * Would it make sense to put all APIs in IDLs? | ||
** Potentially slower, but more secure. | ** Potentially slower, but more secure. | ||
* | * How stable are Jetpack's APIs right now? Does it make any sense to include some of them in Firefox itself for Jetpack to use so we can handle changes as Firefox is upgraded rather than Jetpack having to cope? | ||
* Is Jetpack having to use any ugly or private means to get at the functionality it requires in the platform that it might make sense for us to expose in some stable API? | * Is Jetpack having to use any ugly or private means to get at the functionality it requires in the platform that it might make sense for us to expose in some stable API? | ||
* Is there any part of the security model that it would be helpful to uplift into Firefox and perhaps make available for add-on developers using the full XPI route to use if they want to keep things safer? | * Is there any part of the security model that it would be helpful to uplift into Firefox and perhaps make available for add-on developers using the full XPI route to use if they want to keep things safer? | ||
* Have the Jetpack team thought much about uplifting into Firefox and how you envisaged that progressing in the future? | * Have the Jetpack team thought much about uplifting into Firefox and how you envisaged that progressing in the future? | ||
=== For the Firefox team === | |||
* ? |