Closed Bug 18432 Opened 21 years ago Closed 21 years ago

figure out what resource: URLs should really be

Categories

(Core :: Networking, defect, P3)

All
Other
defect

Tracking

()

CLOSED FIXED

People

(Reporter: warrensomebody, Assigned: warrensomebody)

References

Details

The current resource: URL mechanism maps directly to files. Ultimately we want
them to map to entries in jar files so that our product can be packaged better.
Several issues:

1. We don't want to hard-code the name of the jar file into the resouce: URL,
and we don't want a single jar file to look in. Do we have a RESOURCEPATH that
gets searched for entries (a la CLASSPATH in java)? If so, how is that path
managed?

2. We've also discussed adding well-known symbolic roots to resource: URLs,
e.g.:

    resource://ProgramDir/chrome/xul.css
    resource://PrefsDir/prefs.js

How do these relate to RESOURCEPATH, and chrome: URLs?

3. We've also discussed the desire/need for general substitution URLs. I
envision this substitution based on registered prefixes, e.g.:

    RegisterURLSubst("Wallet", "resource://Chrome/wallet/skin/default/");

then the following resource:

    resource://Wallet/CookieViewer.css

would resolve to:

    resource://Chrome/wallet/skin/default/CookieViewer.css

(which would in turn resolve to a file: URL.) Perhaps this is a generalization
of 2, above, or perhaps 2 is accomplished by having a well-known and
pre-registered set of substitutions.

Note that chrome: URLs can make use of this registration/resolution mechanism
too.

Perhaps number 1 above is resource:, and 2, 3 are something else (subst: URLs).
Or maybe 1 and 3 can be tied together by allowing multiple values to be
registered under the same key, e.g.:

    RegisterURLSubst("Chrome", "jar:resource://ProgramDir/Navigator.jar!/");
    RegisterURLSubst("Chrome", "jar:resource://ProgramDir/Overlay.jar!/");

Using this scheme, retrieving:

    resource://Chrome/Navigator.css

would first try:

    jar:resource://ProgramDir/Navigator.jar!/Navigator.css

and if not found, try:

    jar:resource://ProgramDir/Overlay.jar!/Navigator.css

Thoughts?

Warren
Blocks: 18433
Target Milestone: M12
Brendan, Did you say you posted this to a newsgroup? If not, I will.
Checked in initial res: protocol (replacement for resource:). Not in use yet.
I checked this in. The remaining task is to redesign the chrome stuff, but I'm
closing this bug for now.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Blocks: 21564
Bulk move of all Necko (to be deleted component) bugs to new Networking

component.
Blocks: 24767
No longer blocks: 18433
No longer blocks: 21564
development issues - closing
Status: RESOLVED → CLOSED
You need to log in before you can comment on or make changes to this bug.