User:Dmose:Protocol Handler Security Review: Difference between revisions

Line 80: Line 80:
== Exported APIs ==
== Exported APIs ==
* Please provide a table of exported interfaces (APIs, ABIs, protocols, UI, etc.)
* Please provide a table of exported interfaces (APIs, ABIs, protocols, UI, etc.)
** APIs
*** exported to the web: navigator.registerProtocolHandler, any URI referencing attribute (href, src, etc.)
*** exported to XPCOM: nsIHandlerInfo, nsI{Web,Local,}HandlerApp, nsIHandlerService
** UI -- see the UI design documentation section
* Does it interoperate with a web service? How will it do so?
* Does it interoperate with a web service? How will it do so?
Yes, as per the WhatWG spec.  It simply url-encodes the URI to be sent, and replaces the "%s" in the handler string with that in a GET request.
* Explain the significant file formats, names, syntax, and semantics.
* Explain the significant file formats, names, syntax, and semantics.
mime-types.rdf has been extended slightly to allow for multiple possible application handlers per type, and for support URI schemes in addition to MIME types.  The mime-types.rdf handling code has been largely contained behind well tested interfaces.  At some point, the hope is to replace them with a mozStorage database instead.
* Are the externally visible interfaces documented clearly enough for a non-Mozilla developer to use them successfully?
* Are the externally visible interfaces documented clearly enough for a non-Mozilla developer to use them successfully?
Yes, in the IDL.  They are not documented on devmo.
* Does it change any existing interfaces?
* Does it change any existing interfaces?
Yes.  nsIMIMEInfo now inherits from nsIHandlerInfo; nsIHandlerInfo can also be used directly to represent a protocol handler.  Furthermore, the old hidden prefs for protocol handling app configure on Unix have been removed, now that there's UI for this.
== Web Compatibility ==
== Web Compatibility ==
* Does the feature had any impact on Web compatibility?
* Does the feature had any impact on Web compatibility?
Confirmed users
2,615

edits