Closed Bug 565779 Opened 14 years ago Closed 14 years ago

Not possible to override resource urls via the chrome registry

Categories

(Core :: General, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: pdp, Unassigned)

Details

User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us) AppleWebKit/531.22.7 (KHTML, like Gecko) Version/4.0.5 Safari/531.22.7
Build Identifier: 1.9.2

Simply put, it is not possible to override previously registered resource urls via the chrome registry. In other words, the following is not possible:

override     resource://path/to/resource.jsm                 resource://another/path/to/resource.jsm

This may come handy is numerous situations especially when overriding JavaScript modules.

Reproducible: Always

Actual Results:  
override is not applicable to resource urls


n/a
This is not supported by design. Ideally we would throw an error into the error console if you try it, but I have no intention of trying to support it. The resource protocol handler is very simple, and we shouldn't complicate it.
Status: UNCONFIRMED → RESOLVED
Closed: 14 years ago
Resolution: --- → WONTFIX
I understand your concerns. I also understand that the resource protocol is simple and doesn't support overrides but such a tiny change can bring greater extensibility to the platform. As I mentioned above there are no ways of overriding JavaScript modules unless you monkey patch them with a component at startup... even then it is not guaranteed that the module is not used by another component before your code is called.

We can argue why anyone would want to do that? :) I think that there are legitimate reasons especially when the platform is moving away from binary components towards scripts and extensive use of JavaScript modules.
You need to log in before you can comment on or make changes to this bug.