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)
(deleted),
image/png
|
meridel
:
feedback+
|
Details |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
application/x-xpinstall
|
Details | |
(deleted),
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•6 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•6 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•6 years ago
|
||
I'm not sure which one you're saying is ok. #1 or #2?
Comment 4•6 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•6 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•6 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•6 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•6 years ago
|
||
Assignee | ||
Comment 9•6 years ago
|
||
Depends on D19080
Assignee | ||
Comment 10•6 years ago
|
||
Depends on D19081
Updated•6 years ago
|
Comment 11•6 years ago
|
||
Comment on attachment 9042286 [details]
protocol handler chooser
I'm not too familiar with protocol handlers, unfortunately. Are we (Mozilla) doing the disabling for the user? I believe so.
In that case, the verb "Disabled" works. I would adjust the string to be: "Disabled in Private Windows" (replacing "Private Browsing" with "Private Windows") to be consistent with other strings.
Comment 12•6 years ago
|
||
Comment on attachment 9042286 [details]
protocol handler chooser
I'm not too familiar with protocol handlers, unfortunately. Are we (Mozilla) doing the disabling for the user? I believe so.
In that case, the verb "Disabled" works. I would adjust the string to be: "Disabled in Private Windows" (replacing "Private Browsing" with "Private Windows") to be consistent with other UI strings.
Comment 13•6 years ago
|
||
Comment on attachment 9042286 [details]
protocol handler chooser
I'm not too familiar with protocol handlers, unfortunately. Are we (Mozilla) doing the disabling for the user? I believe so.
In that case, the verb "Disabled" works. I would adjust the string to be: "Disabled in Private Windows" (replacing "Private Browsing" with "Private Windows") to be consistent with other UI strings.
Assignee | ||
Comment 14•6 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=1d85d5970a4d5c61e2fcd97815b75fe6a91946fc
Assignee | ||
Comment 15•6 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=b95374e21f5c48b370987235054502cdb7e66d70
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 16•5 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=b5fdcb9d550bd5ab2c76f8cc042c3091e3b41468
Assignee | ||
Comment 17•5 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=ebc2e45dd33201b5dd4e8ef67b5932695bd8effc
Assignee | ||
Comment 18•5 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=12103a2ddb5b30f850553378d8edb71481016b7b
Assignee | ||
Comment 19•5 years ago
|
||
Assignee | ||
Comment 20•5 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=44dcaac98b0960c0a5d54fa067ef05f3dbd65c5e
Assignee | ||
Comment 21•5 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=df3c623e4329e77625d66c34f481d8f5522eb234
Comment 22•5 years ago
|
||
Pushed by scaraveo@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/575458230080 expose private browsing flag in nsIRemoteWindowContext r=kmag https://hg.mozilla.org/integration/autoland/rev/91f7275e170c code cleanup and eslint r=rpl https://hg.mozilla.org/integration/autoland/rev/6d7343355004 add support for richlistitem.disabled r=bgrins,aswan https://hg.mozilla.org/integration/autoland/rev/47bfb7727024 incognito support for protocol handlers r=flod,kmag
Comment 23•5 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•5 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•5 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•5 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•2 years ago
|
Description
•