The file does not have an app associated with it for performing this action error when opening .ttf extensions through download panel
Categories
(Firefox :: File Handling, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr68 | 72+ | verified |
firefox70 | --- | unaffected |
firefox71 | --- | verified |
firefox72 | --- | verified |
People
(Reporter: atrif, Assigned: toshi)
References
(Regression)
Details
(Keywords: regression)
Attachments
(2 files, 1 obsolete file)
1.02 MB,
image/gif
|
Details | |
47 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-release+
jcristau
:
approval-mozilla-esr68+
|
Details | Review |
Affected versions
- 71.0b11 (20191118154140)
- 72.0a1 (20191120094758)
Affected platforms
- Windows10 x64
Steps to reproduce
- Launch Firefox and download https://bugzilla.mozilla.org/attachment.cgi?id=9087648.
- Open the downloaded item through the download panel.
Expected result
The font installer is successfully opened.
Actual result
The file does not have an app associated with it for performing this action error is shown.
Regression Range
- Last good revision: 36bef03d2b69c674ab63f0e0ea46819d456ab267
- First bad revision: abcbfdf1a1efad1d852db7889ebda328c4e8b73d
- Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=36bef03d2b69c674ab63f0e0ea46819d456ab267&tochange=abcbfdf1a1efad1d852db7889ebda328c4e8b73d - Mozregression points bug 1588975
Notes
- Attached a screen recording with the issue.
Reporter | ||
Comment 1•4 years ago
|
||
Toshihito Kikuchi can you please have a look? Thank you!
Comment 2•4 years ago
|
||
This is because the current code forces "open" verb and .ttf has no "open" verb. We should specify null verb. (although I don't know how can _variant_t represent null.)
Assignee | ||
Comment 3•4 years ago
|
||
(In reply to Masatoshi Kimura [:emk] from comment #2)
This is because the current code forces "open" verb and .ttf has no "open" verb. We should specify null verb. (although I don't know how can _variant_t represent null.)
Thank you for great suggestion! I verified the repro and a null verb (an empty _variant_t
) worked nicely for .ttf file.
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 4•4 years ago
|
||
Looks like the default verb for a font file is "preview". So obviously passing "open" is bad.
I remember why I specified the open verb in that patch. With null verb for an unassociated file, ShellExecute
shows the modeless dialog saying "How do you want to open this file?", while IShellDispatch2.ShellExecute
shows the error dialog saying "This file does not have an app associated with...". I added the open verb in order to keep the former behavior. Anyway, let me find out what is our best option.
Assignee | ||
Comment 5•4 years ago
|
||
The patch for Bug 1588975 specified the "open" verb to execute a target, but
the default verb is not always "open". For example, the default verb for a font
file is "preview". We should specify null verb to start the default operation.
Now we use IShellDispatch2.ShellExecute
to ask explorer.exe to call
ShellExecuteExW
. That method takes an optional VARIANT
parameter as a verb.
According to https://devblogs.microsoft.com/oldnewthing/20140919-00/?p=44023,
we need to pass VT_ERROR
to omit an optional parameter. If we pass
other values such as nullptr
with VT_BSTR
or VT_EMPTY
, explorer.exe calls
ShellExecuteExW
with the empty string ""
instead of nullptr
, which is not
considered as a valid verb if the target file is not associated with any app.
Comment 6•4 years ago
|
||
We have shipped our last beta for 71, since there is a patch in the bug, I am setting the status as fix-optional for 71 in case there is a safe uplift possible in a potential dot release as a ride-along.
Pushed by nbeleuzu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d9e4a5bff682 Pass VT_ERROR for Explorer to call ShellExecuteExW with null verb. r=aklotz
Comment 8•4 years ago
|
||
bugherder |
Reporter | ||
Comment 9•4 years ago
|
||
Verified the issue using Firefox 72.0a1 (20191125095200) on Windows 10x64. The .ttf file is correctly opened via downloads panel.
Assignee | ||
Comment 11•4 years ago
|
||
(In reply to :Gijs (he/him) from comment #10)
Would it be safe to uplift this to 71 still?
Yes, the patch is to change one argument from "open" to null. Uplift to 71 and esr68 should be safe.
Comment 12•4 years ago
|
||
Please request uplift to mozilla-release now or it will ride the trains to 72, we start the RC builds in a few hours only. Thanks
Assignee | ||
Comment 13•4 years ago
|
||
Comment on attachment 9110372 [details]
Bug 1597963 - Pass VT_ERROR for Explorer to call ShellExecuteExW with null verb. r=aklotz
Beta/Release Uplift Approval Request
- User impact if declined: This is a regression from Bug 1588975, the launching issue of Skype for Business. If a user opens a downloaded file on Windows and the default action associated with the file is not "open", such as a font file, the user will see an error dialog because Firefox always tries to "open" the file.
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): The patch is just to change an argument from "open" to null verb to let shell use the default verb to execute a file.
- String changes made/needed: None
Comment 14•4 years ago
|
||
Comment on attachment 9110372 [details]
Bug 1597963 - Pass VT_ERROR for Explorer to call ShellExecuteExW with null verb. r=aklotz
Low risk patch for a visible issue with Skype for Business, fix verified by QA, let's take it into our RC build, thanks.
Comment 15•4 years ago
|
||
Tried to uplift to mozilla-release, but I have a conflict:
hg graft -er d9e4a5bff682
grafting 579298:d9e4a5bff682 "Bug 1597963 - Pass VT_ERROR for Explorer to call ShellExecuteExW with null verb. r=aklotz"
merging xpcom/io/nsLocalFileWin.cpp
warning: conflicts while merging xpcom/io/nsLocalFileWin.cpp! (edit, then use 'hg resolve --mark')
:toshi, can you please take a look?
Assignee | ||
Comment 16•4 years ago
|
||
The patch for Bug 1588975 specified the "open" verb to execute a target, but
the default verb is not always "open". For example, the default verb for a font
file is "preview". We should specify null verb to start the default operation.
Now we use IShellDispatch2.ShellExecute
to ask explorer.exe to call
ShellExecuteExW
. That method takes an optional VARIANT
parameter as a verb.
According to https://devblogs.microsoft.com/oldnewthing/20140919-00/?p=44023,
we need to pass VT_ERROR
to omit an optional parameter. If we pass
other values such as nullptr
with VT_BSTR
or VT_EMPTY
, explorer.exe calls
ShellExecuteExW
with the empty string ""
instead of nullptr
, which is not
considered as a valid verb if the target file is not associated with any app.
Assignee | ||
Comment 17•4 years ago
|
||
I uploaded a new patch for mozilla-release. The change is the exact same, but the downstream code was a bit different because mozilla-release does not have a fix for Bug 1597794.
Comment 18•4 years ago
|
||
bugherder uplift |
Updated•4 years ago
|
Updated•4 years ago
|
Reporter | ||
Comment 19•4 years ago
|
||
Verified with 71.0 (20191125204040) on Windows 10x64 and the file from the comment 0 is successfully opened.
Updated•4 years ago
|
Comment 20•4 years ago
|
||
Does this need an ESR68 approval request still?
Assignee | ||
Comment 21•4 years ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #20)
Does this need an ESR68 approval request still?
Yes, I'll add a request.
Assignee | ||
Comment 22•4 years ago
|
||
Comment on attachment 9110372 [details]
Bug 1597963 - Pass VT_ERROR for Explorer to call ShellExecuteExW with null verb. r=aklotz
ESR Uplift Approval Request
- If this is not a sec:{high,crit} bug, please state case for ESR consideration: This is a regression from Bug 1588975, the launching issue of Skype for Business, which was uplifted for ESR. If a user often downloads a file-type which causes this issue, their daily operation would be disturbed.
- User impact if declined: If a user opens a downloaded file on Windows and the default action associated with the file is not "open", such as a font file, the user will see an error dialog but the file should be able to be opened with the default action.
- Fix Landed on Version: 72.0a1, 71.0
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): The patch is just to change an argument from "open" to null verb to let shell use the default verb to execute a file.
- String or UUID changes made by this patch:
Updated•4 years ago
|
Comment 23•4 years ago
|
||
Comment on attachment 9110372 [details]
Bug 1597963 - Pass VT_ERROR for Explorer to call ShellExecuteExW with null verb. r=aklotz
regression fix, approved for 68.4esr
Comment 24•4 years ago
|
||
bugherder uplift |
Reporter | ||
Comment 25•4 years ago
|
||
Verified with Firefox 68.4.0 (20191209231253) from comment 24 on Windows 10x64. The .ttf file is successfully opened from the download manager.
Description
•