Closed Bug 144263 Opened 22 years ago Closed 11 years ago

Need backend for mimetype plug-in association

Categories

(Core Graveyard :: Plug-ins, defect, P2)

defect

Tracking

(Not tracked)

RESOLVED INCOMPLETE
mozilla1.5alpha

People

(Reporter: rubydoo123, Unassigned)

References

Details

(Keywords: topembed+, Whiteboard: [Plug-in Mgr][PL:BRANCH],adt_a3)

Need to support a mechanism to allow mimetype assocaition with a particular plug-in.
Priority: -- → P2
Whiteboard: [ADT1+] [PL RTM] [Plug-in Mgr]
Target Milestone: --- → mozilla1.0
How is this going to interact with the MIME type mappings in
Prefs/Navigator/Helper Apps?
There are two ideas I have so far:

1. Use nsIMIMEDataSource and add const usePlugin=5 to nsMIMEInfoHandleAction in
nsIMIMEInfo. Possibly use the same mimetypes.rdf or make a new
plugin_mimetypes.rdf. For each nsIMIMEInfo, create a nsPluginTag from that info
or DLL pointed to, if possible, and give it priority over any "scanned" plugins
found during plugins.refresh(). An embedder or app UI could provide these
mappings similar to the way the helper apps dialog works today. They can already
get exisiting mappings from the DOM navigator array. We could possibly even ship
with certain plugins in a white/black list. (Real in components on white list
and Beatnik on black list, black list means preferredApplicationHandler = nsnull)

2. Make the DOM object navigator.mimetypes[0].enabledPlugin writeable (and
report correctly when read) such that one could choose which plugin was mapped
to which mime type by simple assignment. We'd still need some way to internally
store this info, possibly in the appreg or prefs.

Comments, ideas, suggestions?
Could you please coordinate this with Bill Law?
What modifications to nsIMIMEInfo would need to be made for solution #1, other
than the constant definition?
If a separate data source is used for embedded plugins vs. helper apps, then I
think we can swing by with only the constant change.

If the same data source is used then I think nsIMIMEInfo will need a new  
attribute for a default embedded plugin handler.
Whiteboard: [ADT1+] [PL RTM] [Plug-in Mgr] → [PL RTM] [Plug-in Mgr]
Target Milestone: mozilla1.0 → mozilla1.1alpha
Whiteboard: [PL RTM] [Plug-in Mgr] → [Plug-in Mgr]
Blocks: 125168
Blocks: 149705
*** Bug 141402 has been marked as a duplicate of this bug. ***
Blocks: 144044
We really need a good plug-in manager back-end. Hopefully the fix for this bug
will also superceed any for bug 109739. We need to get away from using the
fragile application registry.
Severity: critical → normal
Whiteboard: [Plug-in Mgr] → [Plug-in Mgr][PL2:P1]
Target Milestone: mozilla1.1alpha → mozilla1.2beta
Target Milestone: mozilla1.2beta → mozilla1.3alpha
--->serge
plug-in manager work
Assignee: peterl → serge
*** Bug 88114 has been marked as a duplicate of this bug. ***
moving to 1.4 beta, plug-in branch work
Whiteboard: [Plug-in Mgr][PL2:P1] → [Plug-in Mgr][PL:BRANCH]
Target Milestone: mozilla1.3alpha → mozilla1.4beta
-->peterl

Okay, new idea:
Use the existing nsIDOMPlugin/sArry and nsIDOMMimeType/sArray since it provides
lots of identification info about the plugin but have new interfaces (frozen for
embedders) that could be QI'ed to for controling these objects.
Assignee: serge → peterl
Blocks: 19118
QA Contact: shrir → bmartin
Keywords: topembed
Discussed in edt.  Plussing.
Keywords: topembedtopembed+
Whiteboard: [Plug-in Mgr][PL:BRANCH] → [Plug-in Mgr][PL:BRANCH],adt_a3
Target Milestone: mozilla1.4beta → mozilla1.5alpha
*** Bug 150990 has been marked as a duplicate of this bug. ***
Assignee: peterl-bugs → nobody
QA Contact: bmartin → plugins
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → INCOMPLETE
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.