protocol handler incognito fixups
Categories
(WebExtensions :: General, enhancement, P1)
Tracking
(firefox67 verified)
| Tracking | Status | |
|---|---|---|
| firefox67 | --- | verified |
People
(Reporter: mixedpuppy, Assigned: mixedpuppy)
References
(Blocks 1 open bug)
Details
(Keywords: dev-doc-complete)
Attachments
(7 files)
|
70.38 KB,
image/png
|
meridel
:
feedback+
|
Details |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
47 bytes,
text/x-phabricator-request
|
Details | Review | |
|
614 bytes,
application/x-xpinstall
|
Details | |
|
803.04 KB,
image/gif
|
Details |
protocol handlers wont work in private windows, however the ux needs work. Since it's not possible to load, marking at a lower priority.
There are two directions we can go.
1: let the extension message it
Currently a protocol handler page from an extension loads but without any access to any extension APIs. We could leave it at that, the extension could then recognize that APIs are not available, and show the user an error page with direction to enable the extension in private browsing.
2: handle it in external protocol service
We should check window access in nsExternalHelperAppService::LoadURI[1] and avoid loading. This would result in the app helper dialog appearing. The app helper dialog should only list helpers that can run in private windows.
| Assignee | ||
Comment 1•7 years ago
|
||
Thinking about this more, the whole protocol handling system would need to adjust for this. So I'd prefer the options of:
1: same as above, the page loads without API access (currently already does)
2: we do not enable the protocol_handler unless the extension has private browsing permission
mconca for input.
Comment 2•7 years ago
|
||
(In reply to Shane Caraveo (:mixedpuppy) from comment #1)
Thinking about this more, the whole protocol handling system would need to adjust for this. So I'd prefer the options of:
1: same as above, the page loads without API access (currently already does)
2: we do not enable the protocol_handler unless the extension has private browsing permissionmconca for input.
This sounds good to me. We should document this behavior on MDN under the protocol_handler section.
| Assignee | ||
Comment 3•7 years ago
|
||
I'm not sure which one you're saying is ok. #1 or #2?
Comment 4•7 years ago
|
||
(In reply to Shane Caraveo (:mixedpuppy) from comment #3)
I'm not sure which one you're saying is ok. #1 or #2?
...so tempted to reply with "yes"
Sorry. I think #2 follows the model for every other extension and makes the most sense.
| Assignee | ||
Comment 5•7 years ago
|
||
(In reply to Mike Conca [:mconca] from comment #4)
(In reply to Shane Caraveo (:mixedpuppy) from comment #3)
Sorry. I think #2 follows the model for every other extension and makes the most sense.
The general model is that it works in non-private, but not in private without permission. #2 is suggesting we do not enable it anywhere unless it has private permission.
Comment 6•7 years ago
|
||
Shane and I talked this morning and it seems like we might be able to at least show the chooser dialog in PB windows, which would be a better user experience.
| Assignee | ||
Comment 7•7 years ago
|
||
This is for text feedback. The label "Disabled in Private Browsing" will be shown when an extension handler is disallowed.
| Assignee | ||
Comment 8•7 years ago
|
||
| Assignee | ||
Comment 9•7 years ago
|
||
Depends on D19080
| Assignee | ||
Comment 10•7 years ago
|
||
Depends on D19081
Updated•7 years ago
|
Comment 11•7 years ago
|
||
Comment 12•7 years ago
|
||
Comment 13•7 years ago
|
||
| Assignee | ||
Comment 14•7 years ago
|
||
| Assignee | ||
Comment 15•7 years ago
|
||
| Assignee | ||
Updated•7 years ago
|
| Assignee | ||
Comment 16•7 years ago
|
||
| Assignee | ||
Comment 17•7 years ago
|
||
| Assignee | ||
Comment 18•7 years ago
|
||
| Assignee | ||
Comment 19•7 years ago
|
||
| Assignee | ||
Comment 20•7 years ago
|
||
| Assignee | ||
Comment 21•7 years ago
|
||
Comment 22•7 years ago
|
||
Comment 23•7 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/575458230080
https://hg.mozilla.org/mozilla-central/rev/91f7275e170c
https://hg.mozilla.org/mozilla-central/rev/6d7343355004
https://hg.mozilla.org/mozilla-central/rev/47bfb7727024
| Assignee | ||
Comment 24•7 years ago
|
||
small extension for manual testing.
- install extension
- open tab to mailto:foobar (ok)
- open tab to ext+test:foobar (ok)
- open private window
- open tab to mailto:foobar (fail)
- open tab to ext+test:foobar (fail)
create an html page with links to the above urls
- in non-private window open html page
- click on links, both should open
- in private window open html page
- click on links, neither should open
| Assignee | ||
Comment 25•7 years ago
|
||
Further note: in cases where the url fails to open, you should get a dialog to choose an app to handle the link.
Comment 26•7 years ago
|
||
This issue is verified as fixed on Firefox 67.0a1 (20190306161300) under Win 7 64-bit and Mac OS X 10.14.1.
Please see the attached video.
Updated•3 years ago
|
Description
•