NS_THEME_SCROLLBAR overflow area is wrong with OSX 10.6

RESOLVED FIXED in Firefox 39

Status

()

defect
RESOLVED FIXED
7 years ago
5 years ago

People

(Reporter: mattwoodrow, Assigned: mstange)

Tracking

unspecified
mozilla39
x86
macOS
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox39 fixed)

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: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
You need to log in before you can comment on or make changes to this bug.