Closed
Bug 392964
Opened 17 years ago
Closed 17 years ago
[regression] No Protocol Handling Dialog Appears with Unknown Protocols
Categories
(Firefox :: General, defect)
Firefox
General
Tracking
()
RESOLVED
FIXED
Firefox 3 alpha8
People
(Reporter: cmtalbert, Assigned: dmosedale)
References
Details
(Keywords: regression)
Attachments
(1 file)
(deleted),
patch
|
Biesinger
:
review+
myk
:
review+
Biesinger
:
superreview+
mconnor
:
approval1.9+
|
Details | Diff | Splinter Review |
This bug is to track another regression of bug 389969.
Bringing in the original Comment 0 of that bug:
repro:
Open FF
go to ttp://google.com (see Bug 389705)
result:
javascript Alertbox:
Firefox doesn't know how to open this address, because the protocol isn't
associated with any program.
expected: the new "protocol handling dialog"
== Regression Range of this new regression ==
works in 20070809_1507_firefox-3.0a8pre.en-US.win32.zip
fails in 20070809_1524_firefox-3.0a8pre.en-US.win32.zip
http://bonsai.mozilla.org/cvsquery.cgi?module=PhoenixTinderbox&date=explicit&mindate=1186697220&maxdate=1186698239
== Regression Found with Webcal ==
Regression found by attempting to use the webcal: protocol on Windows XP:
There is no default webcal handler on WinXP, so Firefox displays an alert
"Firefox doesn't know how to open this address, because the protocol (webcal)
isn't associated with any program".
Tested on http://people.mozilla.org/~ctalbert/test-webcal-protocol.html
Flags: blocking-firefox3?
Assignee | ||
Comment 1•17 years ago
|
||
I think the right way to fix this is to figure out exactly what the semantics of nsIExternalProtocolService.externalProtocolHandlerExists should look like. Given that we pretty much always a dialog these days (except in the case of blacklisted protocols), one could imagine it always returning true, which would be a bit silly.
At some level, there's too much front-end / back-end entrainment here, and the right way to solve this might be by having this backend code not really dealing with the persistence of the default app at all.
In the shorter term, we probably need to go through the callers of externalProtocolHandlerExists in the tree and figure out what makes the most sense. The biggest question has to do with what the callers really care about: do they want to be asking "are there any known handlers for this protocol?" or "should I pop up a dialog?". Note that as of this writing, at least, neither Mac or Linux nsIHandlerInfo impls know about any possible handlers besides the default one. Windows will soon know about another set, thanks to the patch in bug 348808.
Also worth keeping in mind is that non-browser apps (e.g. Thunderbird) are likely to behave differently.
nsIExternalProtocolService::IsExposedProtocol may need to be kept in mind while thinking about this stuff too.
OS: Windows XP → All
Hardware: PC → All
Target Milestone: --- → Firefox 3 M8
Assignee | ||
Updated•17 years ago
|
Assignee: nobody → dmose
Whiteboard: [SWAG: 1d]
Assignee | ||
Updated•17 years ago
|
Assignee: dmose → dolske
Assignee | ||
Updated•17 years ago
|
Whiteboard: [SWAG: 1d] → [SWAG: 4h]
Comment 3•17 years ago
|
||
So, there are two different issues in this bug...
This first is what should happen when Firefox encounters an unknown protocol. [Meaning, Firefox doesn't handle it internally, there are no web handlers, and the OS doesn't' know anything about it.] The first regression from comment #0 is an example of this ("ttp://google.com").
In this case, we should *not* prompt the user to find an application to use. Most folks are not going have any idea what to do if a page suddenly asks them what to do with mms://foo.bar/12345. It's even more confusing if the unknown protocol is simply a typo (as in this particular example).
The second issue is when a web protocol handler is installed, like with the webcal testcase given, clicking a webcal: link results in an error claiming that we don't handle it. That should be fixed, since we obviously do handle it. [If you haven't installed the web protocol handler yet, though, then it's just another flavor of the first issue]
Patch for the second issue upcoming. If the first issue needs more thought/discussion, that should probably be a different bug asking for UX feedback.
Assignee | ||
Comment 4•17 years ago
|
||
Assignee | ||
Updated•17 years ago
|
Attachment #280091 -
Flags: superreview?(cbiesinger)
Attachment #280091 -
Flags: review?(cbiesinger)
Comment 5•17 years ago
|
||
Comment on attachment 280091 [details] [diff] [review]
patch, v1
This seems to me like the right fix for the second issue.
Attachment #280091 -
Flags: review+
Assignee | ||
Updated•17 years ago
|
Assignee: dolske → dmose
Updated•17 years ago
|
Attachment #280091 -
Flags: superreview?(cbiesinger)
Attachment #280091 -
Flags: superreview+
Attachment #280091 -
Flags: review?(cbiesinger)
Attachment #280091 -
Flags: review+
Assignee | ||
Updated•17 years ago
|
Whiteboard: [SWAG: 4h] → have reviewed patch; need approval
Assignee | ||
Comment 6•17 years ago
|
||
Comment on attachment 280091 [details] [diff] [review]
patch, v1
The reason to take this for M8 is so that we get test data from our Webcal Test Handler on windows XP, which, without this patch, won't work. Tested on Mac and Windows; low risk.
Attachment #280091 -
Flags: approval1.9?
Comment 7•17 years ago
|
||
Comment on attachment 280091 [details] [diff] [review]
patch, v1
Yeah, this seems like something we need ASAP
Attachment #280091 -
Flags: approval1.9? → approval1.9+
Assignee | ||
Comment 8•17 years ago
|
||
Checking in uriloader/exthandler/nsExternalHelperAppService.cpp;
/cvsroot/mozilla/uriloader/exthandler/nsExternalHelperAppService.cpp,v <-- nsExternalHelperAppService.cpp
new revision: 1.343; previous revision: 1.342
done
Checking in uriloader/exthandler/nsIExternalProtocolService.idl;
/cvsroot/mozilla/uriloader/exthandler/nsIExternalProtocolService.idl,v <-- nsIExternalProtocolService.idl
new revision: 1.14; previous revision: 1.13
done
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Updated•17 years ago
|
Flags: blocking-firefox3? → blocking-firefox3+
Cleaning out whiteboard comments.
Whiteboard: have reviewed patch; need approval
You need to log in
before you can comment on or make changes to this bug.
Description
•