Following the chrome override example on http://developer.mozilla.org/en/docs/Chrome_Registration : override chrome://global/content/netError.xhtml jar:embedder.jar!/global/content/netError.xhtml it looks like one should be able to specify a .jar file that resides in the same directory as the .manifest file and have that work without specifying an absolute path to the jar file; but it does not work as expected, since the override URI isn't resolved against the manifest's URI. Simple patch follows.
Created attachment 208495 [details] [diff] [review] fix I'm not sure how review works in this module; I've picked you from looking at the cvs log of recent checkins to nsChromeRegistry.cpp.
Hrm, I didn't really intend for it to be used this way (I typically meant it to be used as override chrome://foo/content/url chrome://extension/content/override-file But I guess this usecase makes some sense.
Do I need to request a second-review for the patch, or is first-review enough for checkin?
No, per http://www.mozilla.org/projects/toolkit/review.html you only need second-review when your first-reviewer thinks you do, and asks for it. So, how bit-rotten have you gotten over the course of the last year?
The patch still applies cleanly: patching file chrome/src/nsChromeRegistry.cpp Hunk #1 succeeded at 2416 (offset 32 lines).
Comment on attachment 208495 [details] [diff] [review] fix As far as I can tell, this is pretty low-risk, and it'd probably help extension developers to have this actually work on branch also.
Comment on attachment 208495 [details] [diff] [review] fix approved for 184.108.40.206, a=dveditz for release-drivers
Christian: Any chance you can quickly verify this works in the latest 1.8 (220.127.116.11pre) builds and replace the "fixed18.104.22.168" keyword with "verified22.214.171.124"? Does anyone have a test case/extension that QA can use to verify this?
I ran into this problem in my embedding app (Epiphany), not in an extension. I don't have a 1.8 branch build, and the nightlies don't have the necessary stuff to build my app with it. A testcase could be constructed with a file "myabout.xhtml" and the .manifest file in the same directory, containing: override chrome://global/content/about.xhtml file:myabout.xhtml and then visit the "about:" URL. Without the patch, you'll get a file-not-found error; with the patch you get shown your myabout.xhtml file.