Closed Bug 569216 Opened 12 years ago Closed 12 years ago

Cocoa progress widget should support RTL

Categories

(Core :: Widget: Cocoa, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: mounir, Assigned: mounir)

References

Details

Attachments

(1 file, 2 obsolete files)

Attached patch Patch v1 (obsolete) — Splinter Review
The HTML5 progress element is going to use -moz-appearance: progressbar (see bug 567872). On MacOS X, the progress bar draw the chunks itself so we need to manage the RTL from there.

Let me know if you prefer to have a |mirrorHorizontal| parameter instead of checking inside |DrawProgress|.
Attachment #448367 - Flags: review?(mstange)
Please use RenderTransformedHIThemeControl like DrawResizer does. That doesn't only do the horizontal mirroring for you, it also fixes rendering bugs with transformed progress bars. For example, try setting style="transform:rotate(45deg)" on a progressbar - the result will look very strange. RenderTransformedHIThemeControl gets around these bugs by painting the control into a buffer and only transforming the result.
It looks like RenderTransformedHIThemeControl does not do the drawing where it should.
I think you need to pass aRenderRect to HIThemeDrawTrack where you're passing NULL.
Attached patch Patch v2Splinter Review
Attachment #448367 - Attachment is obsolete: true
Attachment #448373 - Attachment is obsolete: true
Attachment #448375 - Flags: review?(mstange)
Attachment #448367 - Flags: review?(mstange)
Attachment #448375 - Flags: review?(mstange) → review+
Thank you for your advices Markus !
Keywords: checkin-needed
http://hg.mozilla.org/mozilla-central/rev/1327d8097f0c
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Flags: in-testsuite?
Keywords: checkin-needed
Resolution: --- → FIXED
Mounir, you can look at http://hg.mozilla.org/mozilla-central/rev/074779c640fb for the reftests from the rtl resizer bug. They're basically just doing direction:rtl == -moz-transform:scaleX(-1).
You need to log in before you can comment on or make changes to this bug.