Closed Bug 748219 Opened 12 years ago Closed 9 years ago

NS_THEME_SCROLLBAR overflow area is wrong with OSX 10.6

Categories

(Core :: Widget: Cocoa, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla39
Tracking Status
firefox39 --- fixed

People

(Reporter: mattwoodrow, Assigned: mstange)

References

Details

With DLBI (Bug 539356), this causes a test failure in layout/reftests/scrolling/fixed-opacity-2.html

I've tried expanding the area returned by GetWidgetOverflow, but that causes an assertion in nsPresShell:

  NS_ASSERTION(target == rootFrame ||
               desiredSize.VisualOverflow().IsEqualInterior(boundsRelativeToTarget),
               "non-root reflow roots must not have visible overflow");

Adding a call to UpdateOverflow() here causes other test failures.

As a temporary workaround I'm just expanding the bounds of themed nsDisplayBackground items on OSX.

nsDisplayBackground::GetBounds

   if (mIsThemed) {
     presContext->GetTheme()->
         GetWidgetOverflow(presContext->DeviceContext(), mFrame,
                           mFrame->GetStyleDisplay()->mAppearance, &r);
+#ifdef XP_MACOSX
+    r.Inflate(mFrame->PresContext()->AppUnitsPerDevPixel());
+#endif
   }
https://hg.mozilla.org/mozilla-central/rev/baec9e361ac8
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
You need to log in before you can comment on or make changes to this bug.