Closed Bug 1591776 Opened 6 years ago Closed 6 years ago

Add downloads taskbar progress support for gtk3 to SeaMonkey

Categories

(SeaMonkey :: OS Integration, enhancement)

All
Linux
enhancement
Not set
normal

Tracking

(seamonkey2.49esr unaffected, seamonkey2.53 fixed, seamonkey2.57esr fixed, seamonkey2.63 wontfix)

RESOLVED FIXED
seamonkey2.69
Tracking Status
seamonkey2.49esr --- unaffected
seamonkey2.53 --- fixed
seamonkey2.57esr --- fixed
seamonkey2.63 --- wontfix

People

(Reporter: frg, Assigned: frg)

Details

(Whiteboard: SM2.53.1)

Attachments

(2 files, 1 obsolete file)

Port relevant parts of:
Bug 1418749 - Add a TaskbarProgress implementation for gtk3/x11
Bug 1445503 - Use MIN instead of unnecessary CLAMP

Both bugs need to be ported to our 2.53 branch. The second bug is a minor regression when building and should go into our 2.57 branch too.

Attached patch 1591776-gtkdownloads.patch (obsolete) — Splinter Review

Tested with 2.53 and Linux Mint 19.2
Neither Ubuntu nor CentOS seem to support this.

Also fixes the problem that an undefined gWinTaskbar is reported in the error console when starting a download in Linux or macOS and showing the Download Manager.

Attachment #9104491 - Flags: approval-comm-release?
Attachment #9104491 - Flags: approval-comm-esr60?
Attachment #9104491 - Flags: review?(iann_bugzilla)

The third icon (in this case the download manager) shows the progress as an olive horizontal bar.

Comment on attachment 9104491 [details] [diff] [review] 1591776-gtkdownloads.patch >+++ b/suite/components/downloads/DownloadsTaskbar.jsm > attachIndicator(aWindow) { > // If there is already a taskbarProgress this usually means the download > // manager became active. So clear the taskbar state first. > if (this._taskbarProgress) { > this._taskbarProgress.setProgressState(Ci.nsITaskbarProgress.STATE_NO_PROGRESS); > } >+ Nit: unintended addition? >+ if (gWinTaskbar) { >+ // Activate the indicator on the specified window. >+ let docShell = aWindow.QueryInterface(Ci.nsIInterfaceRequestor) >+ .getInterface(Ci.nsIWebNavigation) >+ .QueryInterface(Ci.nsIDocShellTreeItem).treeOwner >+ .QueryInterface(Ci.nsIInterfaceRequestor) >+ .getInterface(Ci.nsIXULWindow).docShell; >+ this._taskbarProgress = gWinTaskbar.getTaskbarProgress(docShell); >+ } else { >+ if (gMacTaskbarProgress || !gGtkTaskbarProgress) { >+ return; I'd prefer this at the end, so here do a } else if (gGtkTaskbarProgress) { >+ } >+ >+ // In gtk3, the window itself implements the progress interface. >+ if (!this._taskbarProgress) { >+ this._taskbarProgress = gGtkTaskbarProgress; >+ } >+ >+ this._taskbarProgress.setPrimaryWindow(aWindow); >+ } and do } else { return; } here > if (newActiveWindow) { >- // Move the progress indicator to the other browser window. >- this.attachIndicator(newActiveWindow, false); >+ // Move the progress indicator to the other window. >+ this.attachIndicator(newActiveWindow); Nit: an unneeded extra space r/a=me with those issues fixed / addressed
Attachment #9104491 - Flags: review?(iann_bugzilla)
Attachment #9104491 - Flags: review+
Attachment #9104491 - Flags: approval-comm-release?
Attachment #9104491 - Flags: approval-comm-release+
Attachment #9104491 - Flags: approval-comm-esr60?
Attachment #9104491 - Flags: approval-comm-esr60+

Fixed r+/a+ retained

Attachment #9104493 - Flags: review+
Attachment #9104493 - Flags: approval-comm-release+
Attachment #9104493 - Flags: approval-comm-esr60+
Attachment #9104491 - Attachment is obsolete: true

Pushed by [email protected]:
https://hg.mozilla.org/comm-central/rev/c211b79cea8c
Add downloads taskbar progress support for gtk3 to SeaMonkey. r=IanN

Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Whiteboard: SM2.53.1
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size:

OSZAR »