User:Dmose:Fx-Docs:ContentTypeProcessing: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
 
No edit summary
Line 7: Line 7:


= Overview =
= Overview =
Streamline and extend the handling of MIME content on the web.
Streamline and extend the handling of typed content on the web.


== Motivation ==
== Motivation ==
Line 20: Line 20:
** allow a website to render an Excel spreadsheet into HTML in an iframe
** allow a website to render an Excel spreadsheet into HTML in an iframe
** hand off a mailto: URL to a web mail app for composition
** hand off a mailto: URL to a web mail app for composition
** display a news: URL using Google Groups


== Requirements ==
== Requirements ==
Line 39: Line 40:


== API Changes ==
== API Changes ==
''list any API changes made by this feature.''
* navigator.registerContentHandler() will actually use registrations for non-feed types rather than dropping them on the floor
* navigator.registerProtocolHandler() will be implemented
* probable internal API changes related to both of the above
* possible internal API changes related to streaming content handling
* possible internal API changes related to minimizing database duplication


== Extensibility ==
== Extensibility ==
''list work done to make feature extensible by add-ons & any impact to extensibility of Firefox''
register{Content,Protocol}Handler are by definition extensibility features.  If one wanted to implement a handler in add-on chrome, that should theoretically Just Work, but if we care about this case, we should explicitly say so to ensure appropriate testing.  To some degree, everything else we're doing here is also about enhancing and streamlining the extensibility experience.


== Customization ==
== Customization ==
''list changes to preferences and customization controls for the feature''
Similarly, this set of features is entirely related to the ability for users to customize their web experience.


== Performance ==
== Performance ==
''list effects on performance, tests used, metrics targeted''
The only performance change that I anticipate is that web-based content handlers are almost certain to be slower than local ones.  I suspect that any overhead incurred by the browser here is likely to be lost in the noise of network latency.  That said, it would be good to do some profiling to ensure that this is the case.


== Reliability/Stability ==
== Reliability/Stability ==
''list effects on reliability/stability, tests used, metrics targeted''
We'll need to figure out what the failure mode should be when content is handed off to a website handler that is down.  This is particularly interesting in the case of dynamically generated content (e.g. receipts).


== Security ==
== Security ==
''list security impact and link to results of security reviews''
The content-handler stuff will definitely need a security review. The [http://www.whatwg.org/specs/web-apps/current-work/#custom-handlers WHATWG Web Apps spec] discusses some of the stuff we'll need to think about there.  We also need to ensure that any changes made w.r.t. how we interact with OS definitions of content-handlers don't introduce new security flaws.


== Privacy ==
== Privacy ==
''list privacy impacts and any tie-ins to user privacy features''
Any content that a user chooses to have handled by a web app will (or at least could) be disclosed to the operator of the web application.


== Global Audience ==
== Global Audience ==
''list l10n requirements and a11y efforts''
Nothing unusual anticipated.


== Web Compatibility ==
== Web Compatibility ==
''list any known effects on compatibility with websites''
We will likely be the first extensive implementor of the register{Content,ProtocolHandler} pieces.  This may merit some evangelism to key web application implementors.


== Other ==
== Other ==
Line 70: Line 75:
= Discussion & Implications =
= Discussion & Implications =


One of the interesting things that will need to be addressed
== Caveats / What We've Tried Before ==
== Caveats / What We've Tried Before ==
''links to previous design documents, discussions, etc.''
''links to previous design documents, discussions, etc.''


== References ==
== References ==
''links to external documents that could inform the design of the feature''
The [https://addons.mozilla.org/firefox/4498/ MIME Edit] addon has some example UI that is more complete than our current UI, though not particularly friendly to non-technical users.
 
[http://www.whatwg.org/specs/web-apps/current-work/#custom-handlers WhatWG Web Applications spec]
Confirmed users
2,615

edits

Navigation menu