Created attachment 273640 [details] [diff] [review] patch, v1 When a preferred application handler is not specified in the RDF file. This semantic got broken in the refactoring. See the URL attached to this bug around line 845 and onwards for the original codeflow.
Comment on attachment 273640 [details] [diff] [review] patch, v1 Requesting review, as I can't see any way to test this. The case that's being fixed is the protocol handling case, and that code is not accessible from JS. The MIME code eats the error, and I have yet to figure out a way to tell the difference between the error and success cases from JS, though one may exist.
Another mitigating factor of the lack of test here is that this code should be killed before too long as it all ends up in nsHandlerService.js.
Comment on attachment 273640 [details] [diff] [review] patch, v1 r+sr=bzbarsky
Fixed: Checking in nsExternalHelperAppService.cpp; /cvsroot/mozilla/uriloader/exthandler/nsExternalHelperAppService.cpp,v <-- nsExternalHelperAppService.cpp new revision: 1.325; previous revision: 1.324 done