Open
Bug 390397
Opened 18 years ago
Updated 2 years ago
External URLs are handled by commands not accepted by the user when system settings change
Categories
(Firefox :: File Handling, defect)
Tracking
()
NEW
People
(Reporter: karlt, Unassigned)
References
Details
(Whiteboard: [proto])
Attachments
(1 file, 1 obsolete file)
3.93 KB,
patch
|
Details | Diff | Splinter Review |
The user selects the application, but it seems that mimeTypes.rdf stores "use
system default". This is an issue if the system default changes and the user
has selected "remember my choice".
With Gnome this is an extra concern because there is no check that the system
default still exists as required for bug 389632.
Steps to reproduce:
* Install evince.
* Set up a safe handler in a shell:
gconftool-2 --type string --set /desktop/gnome/url-handlers/ssh/command "echo %s"
gconftool-2 --type boolean --set /desktop/gnome/url-handlers/ssh/enabled true
* Use firefox to load an existing URL (on a host with public/private key access
or similar) of the form:
ssh://_hostname_/home/_user_/_filename_.ps
* Select "echo %s" from the protocol handler dialog,
* Select "remember my choice for ssh links",
* Press OK.
(ssh://_hostname_/home/_user_/_filename_.ps is output to stdout)
* Disable the safe handler:
gconftool-2 --type boolean --set /desktop/gnome/url-handlers/ssh/enabled false
* Reload the URL.
Expected behaviour:
A dialog because the selected application is no longer available (through
the system).
Actual behaviour:
evince is launched with no warning.
I don't know whether evince runs postscript in safe mode or not, but there
could be a different default mime-type handler such as "lpr".
I haven't checked whether or not there are similar issues with remember to
"use system default" for mime-types.
(sftp: protocols are handled by gnomevfs extension [nsGnomeVFSProtocolHandler
not nsExternalProtocolHandler] which results in a dialog after download to
select an application based on mimetype.)
Reporter | ||
Comment 1•18 years ago
|
||
This implements a fix for the simple half of the bug: making sure that gnomevfs and ShellExecute are actually executing protocol handlers.
Unfortunately, I can't see myself fixing the other half (handler changed) in the foreseeable future.
I think things are better with this small patch, but if you are already into redesigning the data structures, maybe you'd prefer to focus on that.
The comments in this patch should probably still go in though.
Tested on Linux only.
Reporter | ||
Comment 2•18 years ago
|
||
Tidied a little and corrected a typo in the comments.
Attachment #274730 -
Attachment is obsolete: true
Attachment #274844 -
Flags: superreview?(dmose)
Attachment #274844 -
Flags: review?(cbiesinger)
Comment 3•18 years ago
|
||
Before going ahead with this, I'd like to make sure that the current UI design
<http://wiki.mozilla.org/ContentHandling:User_Interface/Proposed_UI2>
embodies the intended semantics, so I've CCed a few UI folks. I'm wondering if it's really the intent to have the user select the system default as a specific app, or if we should instead be somehow indicating that they're choosing to "always use the system default, which just happens to currently be... XXX".
Updated•18 years ago
|
Updated•18 years ago
|
Flags: blocking1.9? → blocking1.9-
Updated•17 years ago
|
Whiteboard: [proto]
Comment 4•17 years ago
|
||
I talked to faaborg about this a week or two ago, and his suggestion was in line with what you're proposing: if we can't mirror the OS app both ways (which we can't), we should just treat it the way the UI is exposing it: as though we were selecting the app in question itself, and not the system default. Implementing this is going to be difficult, though, since we don't always know the details we'd like about the system default.
That said, I think we need to do _something_ here for 1.9, probably something along the lines of Karl's patch. Requesting blocking-1.9.
Assignee: nobody → dmose
Comment 5•17 years ago
|
||
With a few exceptions, I'm mostly focused on MailCo-related hacking now. Reassigning a bunch of bugs to default component owners. I'm happy to help with brainstorming/advice as needed, however.
Search for the string MAILMONKEY to delete any bugmail generated by this change.
Assignee: dmose → nobody
Comment 6•13 years ago
|
||
Comment on attachment 274844 [details] [diff] [review]
check that the system default still exists (tidier)
going to assume this is no longer relevant, please re-request if I'm wrong
Attachment #274844 -
Attachment description: check that the system default still exists (tidier) → check that the system default still exists (tidier)
Attachment #274844 -
Flags: review?(cbiesinger)
Comment 7•13 years ago
|
||
Comment on attachment 274844 [details] [diff] [review]
check that the system default still exists (tidier)
I haven't worked with this code in years, so I'm probably not the best reviewer here, assuming this patch is still relevant. Apologies for not doing something about this earlier.
Attachment #274844 -
Flags: superreview?(dmose)
Reporter | ||
Comment 8•13 years ago
|
||
Bug 444440 gives another situation where the handler invoked is not the one selected/displayed.
Updated•9 years ago
|
Product: Core → Firefox
Version: Trunk → unspecified
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•