Closed Bug 1890357 Opened 5 months ago Closed 4 months ago

Windows Taskbar "Tasks" option (Open new tab | Open new window | New private window) is missing

Categories

(Firefox :: Shell Integration, defect, P3)

Firefox 124
defect

Tracking

()

RESOLVED FIXED
127 Branch
Tracking Status
firefox127 --- fixed

People

(Reporter: eddlee2008, Assigned: mconley)

References

Details

Attachments

(1 file)

Steps to reproduce:

  1. Firefox 124.0.2 x64, Windows 10, browser.taskbar.lists.legacyBackend = FALSE (default) ; browser.taskbar.lists.tasks.enabled = TRUE (default)

  2. Close Firefox

  3. Run " Del /F /Q %APPDATA%\Microsoft\Windows\Recent\CustomDestinations* " in CMD to delete files related to jump list's Tasks options

  4. Now right click on FIrefox Icon or Firefox Private Browsing Icon from Taskbar or Start Menu, Tasks options (Open new tab | Open new window | New private window) are gone

  5. Open Firefox again, browsing a while or playing with the value of browser.taskbar.lists.legacyBackend / browser.taskbar.lists.tasks.enabled in about:config several times

Actual results:

Tasks Options (Open new tab | Open new window | New private window) will not be recreated, at least for non-Private Browsing Firefox icon, and the corresponding file under %APPDATA%\Microsoft\Windows\Recent\CustomDestinations\ will not be recreated

Expected results:

Like other browsers, for example, Internet Explorer, after the browser is opened, corresponding file for Jump List Tasks options under %APPDATA%\Microsoft\Windows\Recent\CustomDestinations\ should be recreated. (In IE's case, file name 28c8b86deab549a1.customDestinations-ms)

Older Firefox or Current Firefox ESR (115.9.1) which does not have browser.taskbar.lists.legacyBackend or having the value set to "TRUE" by default will recreate Tasks options with no problem.

6824f4a902c78fbd.customDestinations-ms : for Firefox
40371339ad31a7e6.customDestinations-ms : for Firefox Private Browsing

The Bugbug bot thinks this bug should belong to the 'Firefox::Shell Integration' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Shell Integration

I was able to reproduce the issue on Win10/Win11x64 using FF build 124.0 and 125.0, but after 5 minutes browsing the task is populated again.
Eddie Lee, can you please add here the about:support from your Firefox version? Thank you.

Flags: needinfo?(eddlee2008)

(In reply to Monica Chiorean from comment #2)

I was able to reproduce the issue on Win10/Win11x64 using FF build 124.0 and 125.0, but after 5 minutes browsing the task is populated again.
Eddie Lee, can you please add here the about:support from your Firefox version? Thank you.

Would do the about:support later is it's still needed, since my current work environment does not allow me to do that at the moment.
However, in the meantime, I've done some more test, would someone please help to test and confirm the following in their environment?

Tested on Win10x64 1809 LTSC and 21H2 LTSC, FF v124.0.2
( all browser.taskbar.* settings except .legacyBackend are unmodified i.e. are v124.0.2's default value)

[ Scenario 1 ]

  1. browser.taskbar.lists.legacyBackend = FALSE
  2. Windows (Not FF) Settings > Personalization > Start > Show recently opened items in Jump Lists on Start or the taskbar and in File Explorer Quick Access = OFF (i.e. Right click on FF orange icon, will not show Frequent = recently visited sites)
  3. FF Preferences > Privacy & Security > History > Firefox will: Use custom settings for history > Remember my browsing and download history = ON ; Remember search and form history = OFF ; Clear history when Firefox closes = OFF
  4. Quit FF ; Clear %APPDATA%\Microsoft\Windows\Recent\CustomDestinations Folder ; Restart FF ; Wait a while
    Result: 6824f4a902c78fbd.customDestinations-ms will not be recreated, Tasks for Orange FF icon is missing, but Purple Private icon Tasks is recreated.

[ Scenario 2 ]

  1. browser.taskbar.lists.legacyBackend = FALSE
  2. Windows Settings > ... > Show recently opened items in Jump Lists = ON (* CHANGED FROM Scenario 1 *)
  3. FF > ... > Remember my browsing and download history = ON
  4. Quit FF ; Clear CustomDestinations ; Restart FF ; Wait
    Result: Both icons' Tasks are recreated, right click on Orange FF icon also showing Frequent Sites.

[ Scenario 3 ]

  1. browser.taskbar.lists.legacyBackend = FALSE
  2. Windows Settings > ... > Show recently opened items in Jump Lists = OFF (* CHANGED FROM Scenario 2, back to OFF *)
  3. FF > ... > Always use private browsing mode = ON (i.e. no histories will be remembered) (* CHANGED FROM Scenario 1 & 2 *)
  4. Quit FF ; Clear CustomDestinations ; Restart FF ; Wait
    Result: Both icons' Tasks are recreated.

[ Scenario 4 ]
Everything = Scenario 1, except browser.taskbar.lists.legacyBackend = TRUE
Result: Both icons' Tasks are recreated.


Also, maybe related to this: https://bugzilla.mozilla.org/show_bug.cgi?id=1880109

Flags: needinfo?(eddlee2008)

TL;DR
Maybe changing
[ Windows Settings > Personalization > Start > Show recently opened items in Jump Lists on Start or the taskbar and in File Explorer Quick Access ]
to [ OFF ] will affect the new jump list backend's ability to create tasks for Normal Orange FF icon?

CORRECTION:
For [ Scenario 1 ], If FF's cookies & site data & history are cleared, both icons' tasks will be recreated.

So, I'm guessing, in short, since Purple Private Icon' Jump list will not show Frequent sites but Orange FF icon will,
When FF has history = has Frequent Site, AND, Windows' "Show recently..." OS wide setting = OFF to prevent Frequent being added to Jump List, then new backend cannot recreate Jump List successfully for Orange FF icon.


Details (Modified [Scenario 1])

  1. browser.taskbar.lists.legacyBackend = FALSE
  2. Windows Settings > Personalization > Start > Show recently opened items in Jump Lists on Start... = OFF
  3. FF Preferences > Privacy & Security > History > Firefox will: Use custom settings for history > Remember my browsing and download history = ON ; Remember search and form history = OFF ; Clear history when Firefox closes = OFF
  4. Clear ALL cookies & site data & history from Preferences > Privacy & Security
  5. Quit FF ; Clear %APPDATA%\Microsoft\Windows\Recent\CustomDestinations Folder
  6. Restart FF using Purple Private Icon ; Don't browse any sites, don't create any histories & just wait a while
  7. [ RESULT A ] Both icons' tasks are recreated.
  8. Open new non-private FF tab, browse google and youtube, i.e. create some new histories
  9. (Repeat Step 5) Quit FF ; Clear %APPDATA%\Microsoft\Windows\Recent\CustomDestinations Folder
  10. Restart FF ; Wait a while
  11. [ RESULT B ] Orange Icon's Jump List failed to be recreated

Hi, thanks for the report and detailed steps to reproduce. I've been able to confirm that scenario 1 doesn't recreate the jump list for normal Fx on my machine. Mike, I believe you implemented this so maybe you'd have a better idea of what's going on here?

Severity: -- → S3
Flags: needinfo?(mconley)
Priority: -- → P3
Status: UNCONFIRMED → NEW
Ever confirmed: true

Hi! Thanks, yes, I think I'm responsible for this. I believe our new JumpListBuilder backend wasn't prepared for this particular configuration of Windows, where the "custom items" cannot be added (and doing so returns a failure code) but user tasks can be. I'll see what I can do about this.

Assignee: nobody → mconley
Flags: needinfo?(mconley)

Okay, I reproduced this and found out exactly where the error is being thrown. It's pretty much as I suspected - when Windows is configured in this way, attempting to add append custom elements to the Jump List is forbidden and returns the E_ACCESSDENIED error result. According to the documentation at https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-icustomdestinationlist-appendcategory, we need to basically ignore that error result and continue to "commit list".

Hey Ray,

I know I've been bugging you a bunch with Jump List patches - I hope it's okay if I pile on just one more, and that's this bug fix for a particular Windows configuration where adding "custom" items results in E_ACCESSDENIED. I'm hoping to get this in before the soft-freeze if I can. Let me know if there's someone else I should redirect this to if you're overloaded.

Flags: needinfo?(rkraesig)

(In reply to Mike Conley (:mconley) (:⚙️) from comment #10)

Hey Ray,

I know I've been bugging you a bunch with Jump List patches - I hope it's okay if I pile on just one more, and that's this bug fix for a particular Windows configuration where adding "custom" items results in E_ACCESSDENIED. I'm hoping to get this in before the soft-freeze if I can. Let me know if there's someone else I should redirect this to if you're overloaded.

Sorry — I have indeed been overloaded, and this one fell off my plate. Fortunately it's a small and localized patch with clearly documented purpose, so it's very little trouble.

Flags: needinfo?(rkraesig)
Pushed by mconley@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8473d7a55331 Make JumpListBuilder resilient to E_ACCESSDENIED from ICustomDestinationList::AppendCategory. r=rkraesig,win-reviewers,arai
Status: NEW → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → 127 Branch
QA Whiteboard: [qa-127b-p2]
Duplicate of this bug: 1874645
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: