Open Bug 312953 Opened 20 years ago Updated 3 years ago

Confusing error message when protocol handler is non-existant app

Categories

(Firefox :: File Handling, defect)

x86
Linux
defect

Tracking

()

People

(Reporter: ilya.konstantinov+future, Unassigned)

Details

(Keywords: helpwanted)

When pref network.protocol-handler.app.foo points at a non-existant path, Firefox shows the following message for foo:// protocol URLs: Firefox doesn't know how to open this address, because the protocol (foo) isn't associated with any program. This is, of course, false and very frustrating, as the user will keep on checking his prefs, unsuspecting the real problem. Instead, the error message should indicate the non-existant app as the real problem.
Christian: Re nsOSHelperAppService::ExternalProtocolHandlerExists, the helper's existance (and on Unix, execute permission) is not the same error as no helper being set at all. We should be able to make a distinction between those errors.
Assignee: nobody → cbiesinger
that's true. patches accepted. please don't assign random bugs to me.
Assignee: cbiesinger → file-handling
Component: General → File Handling
Keywords: helpwanted
Product: Firefox → Core
QA Contact: general → ian
Version: 1.5 Branch → Trunk
Summary of changes required: 1. Make nsIExternalProtocolService::externalProtocolHandlerExists return an enum, not bool. 2. Make nsExternalProtocolHandler::HaveProtocolHandler return an enum, not bool. 3. Add to nsNetError.h: #define NS_ERROR_PROTOCOL_UNAVAILABLE \ NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_NETWORK, 72) 4. Add support for NS_ERROR_PROTOCOL_UNAVAILABLE to nsDocShell.cpp 5. Add the error messages.
Assignee: file-handling → mozilla-bugzilla
QA Contact: ian → file-handling
This is still a issue on Firefox 4.0 on GNU/Linux Ubuntu 11.04 I am developing a custom protocol for my application tivion what handle /usr/bin/tivion binary. I try to add: network.protocol-handler.app.tivion = /usr/bin/tivion network.protocol-handler.expose.tivion = false network.protocol-handler.external.tivion = true network.protocol-handler.warn-external.tivion = true So, tivion://someurl should invoke to my binary with someurl. The binary have permissions and all the config needed, but firefox still dont handle the protocol. Please, this bug is very old (2006) and it is a nice and basic feature for GNU/Linux. Add some priority for put this feature soon.
I get make work on Ubuntu 11.04. For some reason, it is needed create a mime type on ~/.local/share/applications/mimeapps.list So I add: application/x-tivion=tivion.desktop; application/tivion=tivion.desktop; x-scheme-handler/tivion=tivion.desktop; Note: You need make a app.desktop (for me tivion.desktop) file too. So firefox, maybe need check this mimetypes for show a right message.
Same problem, Firefox 9.0.1, Ubuntu 11.10. The solution provided by Ángel works, but it would be nice to see the knowledge base updated and the error message a little more comprehensive.
Searched all over net, and tried all instructions on mozillazine knowledge base (Register protocol), to no avail. In the end, Angel's post was most helpful. On my system it was a bit different. Ubuntu 11.04 (Unity) using Firefox 12.0 for Ubuntu canonical - 1.0 Similar to Angel I basically did 2 things: 1) Put an entry in the defaults.list file: There was a symlink to the defaults.list file in /usr/share/applications/ defaults.list -> /etc/gnome/defaults.list So I added this line in /etc/gnome/defaults.list: x-scheme-handler/foo=foo.desktop 2) Created a .desktop file: In /usr/share/applications/ I created foo.desktop using a copy of an existing .desktop file and altering it for my app. That was basically it. When I typed "foo:" in the browser and hit enter, the "Launch Application" window opened. The "Send to:" field contained the same name as the Name[en_CA] option in the foo.desktop file, and was already selected. I clicked "Remember my choice for foo links" then clicked OK.
It took me 3 months to find this solution for this error. I have been telling users that Firefox on Linux can't handle external applications correctly and advised them to move on to Chrome.
Product: Core → Firefox
Version: Trunk → unspecified

The bug assignee didn't login in Bugzilla in the last 7 months, so the assignee is being reset.

Assignee: ilya.konstantinov+future → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.