Closed Bug 863104 Opened 8 years ago Closed 8 years ago

Dock progress drawing glitch on Mac OS X 10.6


(Core :: Widget: Cocoa, defect)

Not set



Tracking Status
firefox21 --- unaffected
firefox22 + fixed
firefox23 + verified


(Reporter: dave, Assigned: dave)




(2 files, 1 obsolete file)

Attached image Screenshot of glitch
On Mac OS X 10.6, the download progress bar in the Firefox Dock icon is drawn strangely. It looks like the background and foreground of the progress bar aren't being drawn in the same location, even though they're both drawn by a single call to HIThemeDrawTrack().
This seems to have a cause similar to the issues in bug 465069, where Carbon drawing code wants to operate on a flipped graphics context.

Attached patch uses the existing code in nsNativeThemeCocoa to draw the progress bar, which already knows how to deal with this issue. The patch works fine on at least 10.7, 10.6 and 10.4 (TenFourFox). It does, however, require instantiating nsNativeThemeCocoa in nsMacDockSupport, and requires letting nsMacDockSupport use the protected DrawProgress() method (with a friend declaration).

Is that an OK way to expose this functionality to nsMacDockSupport? Is there a better way to do it?
Attachment #738817 - Flags: feedback?(joshmoz)
Assignee: nobody → dave
Depends on: 548763
See Also: → 465069
I think just making DrawProgress public would be fine.
Comment on attachment 738817 [details] [diff] [review]
Fix, but requires friend declaration in nsNativeThemeCocoa

I agree with Markus, just make DrawProgress public.
Attachment #738817 - Flags: feedback?(joshmoz) → feedback+
Does this need review from anyone else, Dão maybe? UI review?
Attachment #738817 - Attachment is obsolete: true
Attachment #740038 - Flags: review?(joshmoz)
Comment on attachment 740038 [details] [diff] [review]
Fix, using public DrawProgress()

Review of attachment 740038 [details] [diff] [review]:

IMO this needs no further review. Thanks for the fix!
Attachment #740038 - Flags: review?(joshmoz) → review+
Attachment #740038 - Flags: checkin? → checkin+
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla23
Can we get an uplift nom to aurora?
Comment on attachment 740038 [details] [diff] [review]
Fix, using public DrawProgress()

[Approval Request Comment]
Bug caused by (feature/regressing bug #): bug 548763
User impact if declined: Users on 10.6 will see broken progress bar during downloads
Testing completed (on m-c, etc.): yes
Risk to taking this patch (and alternatives if risky): Little risk, the only change is to the drawing code for the dock progress bar. The only real alternative is delaying the entire feature to Fx 23.
Attachment #740038 - Flags: approval-mozilla-aurora?
Attachment #740038 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
checkin-needed for mozilla-aurora
Keywords: checkin-needed
Reproduced the issue on nightly 2013-04-17.
Verified fixed FF 23b4 Mac OS X 10.6.8
See Also: → 1154595
You need to log in before you can comment on or make changes to this bug.