Closed
Bug 1036400
Opened 10 years ago
Closed 10 years ago
Background tab hit region too small in Nightly
Categories
(Core :: SVG, defect)
Tracking
()
RESOLVED
FIXED
mozilla33
People
(Reporter: mstange, Assigned: jwatt)
References
Details
(Keywords: regression)
Attachments
(2 files)
73.19 KB,
image/png
|
Details | |
2.57 KB,
patch
|
longsonr
:
review+
|
Details | Diff | Splinter Review |
In yesterday's Nightly, the mouse hit region for background tabs is too small. See the attached screenshot. phlsa tells me that it's bigger in Beta, so this is hopefully not intentional.
Updated•10 years ago
|
Keywords: regressionwindow-wanted
Comment 1•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=81691a55e60f&tochange=1dc6b294800d
Comment 2•10 years ago
|
||
Looks like bug 1034115. Jonathan, could you have a look?
Depends on: 1034115
Flags: needinfo?(jwatt)
Comment 3•10 years ago
|
||
Oh. Hmm. Or bug 1031726, because this is clip:rect, not SVG? Maybe? Mats?
Depends on: 1031726
Flags: needinfo?(mats)
Comment 4•10 years ago
|
||
Backing out both of Mats' commits in that window didn't fix this. I tried backing out all the SVG changes (by now there's also bug 988808) but that no longer compiles. Still, I guess that means this is sooner to do with the SVG changes than with the clip:rect changes. :-\
Flags: needinfo?(mats)
Keywords: regressionwindow-wanted
![]() |
Assignee | |
Comment 5•10 years ago
|
||
Probably me. I'll take a look.
Assignee: nobody → jwatt
Flags: needinfo?(jwatt)
Comment 6•10 years ago
|
||
Fwiw, I can't reproduce this in Linux64 Nightly 33.0a1 (2014-07-09).
![]() |
Assignee | |
Comment 7•10 years ago
|
||
I'll work on knocking up a mochitest for this before landing.
Attachment #8453211 -
Flags: review?(longsonr)
Comment 8•10 years ago
|
||
What's the point of the #if 1 change. You can have an r=longsonr for the other bit but not that part.
Comment 9•10 years ago
|
||
Comment on attachment 8453211 [details] [diff] [review] patch ># HG changeset patch ># Parent 3a090599c39ef7d6ef0c66af45d55cb163c06f4f ># User Jonathan Watt <jwatt@jwatt.org> >diff --git a/layout/svg/nsSVGPathGeometryFrame.cpp b/layout/svg/nsSVGPathGeometryFrame.cpp >--- a/layout/svg/nsSVGPathGeometryFrame.cpp >+++ b/layout/svg/nsSVGPathGeometryFrame.cpp >@@ -445,30 +445,34 @@ nsSVGPathGeometryFrame::GetBBoxContribut > SVGBBox bbox; > > if (aToBBoxUserspace.IsSingular()) { > // XXX ReportToConsole > return bbox; > } > > RefPtr<DrawTarget> tmpDT; >+#if 1 > #ifdef XP_WIN > // Unfortunately D2D backed DrawTarget produces bounds with rounding errors > // when whole number results are expected, even in the case of trivial > // calculations. To avoid that and meet the expectations of web content we > // have to use a CAIRO DrawTarget. The most efficient way to do that is to > // wrap the cached cairo_surface_t from ScreenReferenceSurface(): > nsRefPtr<gfxASurface> refSurf = > gfxPlatform::GetPlatform()->ScreenReferenceSurface(); > tmpDT = gfxPlatform::GetPlatform()-> > CreateDrawTargetForSurface(refSurf, IntSize(1, 1)); > #else > tmpDT = gfxPlatform::GetPlatform()->ScreenReferenceDrawTarget(); > #endif > nsRefPtr<gfxContext> tmpCtx = new gfxContext(tmpDT); >+#else >+ nsRefPtr<gfxContext> tmpCtx = new gfxContext(gfxPlatform::GetPlatform()->ScreenReferenceSurface()); >+#endif > > GeneratePath(tmpCtx, aToBBoxUserspace); > tmpCtx->IdentityMatrix(); > > // Be careful when replacing the following logic to get the fill and stroke > // extents independently (instead of computing the stroke extents from the > // path extents). You may think that you can just use the stroke extents if > // there is both a fill and a stroke. In reality it's necessary to calculate >diff --git a/layout/svg/nsSVGUtils.cpp b/layout/svg/nsSVGUtils.cpp >--- a/layout/svg/nsSVGUtils.cpp >+++ b/layout/svg/nsSVGUtils.cpp >@@ -367,16 +367,20 @@ nsSVGUtils::GetOuterSVGFrameAndCoveredRe > > gfxMatrix > nsSVGUtils::GetCanvasTM(nsIFrame *aFrame, uint32_t aFor, > nsIFrame* aTransformRoot) > { > // XXX yuck, we really need a common interface for GetCanvasTM > > if (!aFrame->IsFrameOfType(nsIFrame::eSVG)) { >+ if (aFor == nsISVGChildFrame::FOR_HIT_TESTING && >+ NS_SVGDisplayListHitTestingEnabled()) { >+ return gfxMatrix(); >+ } > return nsSVGIntegrationUtils::GetCSSPxToDevPxMatrix(aFrame); > } > > if (!(aFrame->GetStateBits() & NS_FRAME_IS_NONDISPLAY) && > !aTransformRoot) { > if (aFor == nsISVGChildFrame::FOR_PAINTING && > NS_SVGDisplayListPaintingEnabled()) { > return nsSVGIntegrationUtils::GetCSSPxToDevPxMatrix(aFrame);
Attachment #8453211 -
Flags: review?(longsonr) → review+
Updated•10 years ago
|
Component: Theme → SVG
Product: Firefox → Core
![]() |
Assignee | |
Comment 10•10 years ago
|
||
(In reply to Robert Longson from comment #8) > What's the point of the #if 1 change. You can have an r=longsonr for the > other bit but not that part. Oops. That has nothing to do with this bug. ;)
![]() |
Assignee | |
Comment 12•10 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/8abc07984f2f Pushed with mochitest.
Comment 13•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/8abc07984f2f
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
You need to log in
before you can comment on or make changes to this bug.
Description
•