Bug 1421088 - Don't pass an nsIFrame* to DrawResizer. r?spohl
MozReview-Commit-ID: hQbnCke2zN
--- a/widget/cocoa/nsNativeThemeCocoa.h
+++ b/widget/cocoa/nsNativeThemeCocoa.h
@@ -376,17 +376,17 @@ protected:
const SpinButtonParams& aParams);
void DrawSpinButton(CGContextRef context,
const HIRect& inBoxRect, SpinButton aDrawnButton,
const SpinButtonParams& aParams);
void DrawUnifiedToolbar(CGContextRef cgContext, const HIRect& inBoxRect,
const UnifiedToolbarParams& aParams);
void DrawStatusBar(CGContextRef cgContext, const HIRect& inBoxRect,
bool aIsMain);
- void DrawResizer(CGContextRef cgContext, const HIRect& aRect, nsIFrame *aFrame);
+ void DrawResizer(CGContextRef cgContext, const HIRect& aRect, bool aIsRTL);
void DrawScrollbarThumb(CGContextRef cgContext, const CGRect& inBoxRect,
ScrollbarParams aParams);
void DrawScrollbarTrack(CGContextRef cgContext, const CGRect& inBoxRect,
ScrollbarParams aParams);
// Scrollbars
nsIFrame* GetParentScrollbarFrame(nsIFrame *aFrame);
bool IsParentScrollbarRolledOver(nsIFrame* aFrame);
--- a/widget/cocoa/nsNativeThemeCocoa.mm
+++ b/widget/cocoa/nsNativeThemeCocoa.mm
@@ -2626,29 +2626,29 @@ static void
RenderResizer(CGContextRef cgContext, const HIRect& aRenderRect, void* aData)
{
HIThemeGrowBoxDrawInfo* drawInfo = (HIThemeGrowBoxDrawInfo*)aData;
HIThemeDrawGrowBox(&CGPointZero, drawInfo, cgContext, kHIThemeOrientationNormal);
}
void
nsNativeThemeCocoa::DrawResizer(CGContextRef cgContext, const HIRect& aRect,
- nsIFrame *aFrame)
+ bool aIsRTL)
{
NS_OBJC_BEGIN_TRY_ABORT_BLOCK;
HIThemeGrowBoxDrawInfo drawInfo;
drawInfo.version = 0;
drawInfo.state = kThemeStateActive;
drawInfo.kind = kHIThemeGrowBoxKindNormal;
drawInfo.direction = kThemeGrowRight | kThemeGrowDown;
drawInfo.size = kHIThemeGrowBoxSizeNormal;
RenderTransformedHIThemeControl(cgContext, aRect, RenderResizer, &drawInfo,
- IsFrameRTL(aFrame));
+ aIsRTL);
NS_OBJC_END_TRY_ABORT_BLOCK;
}
nsNativeThemeCocoa::ScrollbarParams
nsNativeThemeCocoa::ComputeScrollbarParams(nsIFrame* aFrame, bool aIsHorizontal)
{
ScrollbarParams params;
@@ -3369,17 +3369,17 @@ nsNativeThemeCocoa::DrawWidgetBackground
}
break;
case NS_THEME_TABPANELS:
DrawTabPanel(cgContext, macRect, FrameIsInActiveWindow(aFrame));
break;
case NS_THEME_RESIZER:
- DrawResizer(cgContext, macRect, aFrame);
+ DrawResizer(cgContext, macRect, IsFrameRTL(aFrame));
break;
case NS_THEME_MAC_VIBRANCY_LIGHT:
case NS_THEME_MAC_VIBRANCY_DARK:
case NS_THEME_MAC_VIBRANT_TITLEBAR_LIGHT:
case NS_THEME_MAC_VIBRANT_TITLEBAR_DARK: {
ThemeGeometryType type = ThemeGeometryTypeForWidget(aFrame, aWidgetType);
DrawVibrancyBackground(cgContext, macRect, aFrame, type);