author | Matt Woodrow <mwoodrow@mozilla.com> |
Wed, 03 Sep 2014 09:21:20 +1200 | |
changeset 203276 | 2bea22f534f00ef45c0e694a6e0d1c794ec287a8 |
parent 203275 | 7dbb91002381673fd0e35febd0aceb2e7a99b973 |
child 203277 | bb624833b237116f0139d5110c653836043d9fca |
push id | 27425 |
push user | ryanvm@gmail.com |
push date | Wed, 03 Sep 2014 20:38:59 +0000 |
treeherder | mozilla-central@acbdce59da2f [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | Bas |
bugs | 1059033 |
milestone | 35.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
layout/generic/nsTextFrame.cpp | file | annotate | diff | comparison | revisions | |
layout/reftests/scrolling/reftest.list | file | annotate | diff | comparison | revisions |
--- a/layout/generic/nsTextFrame.cpp +++ b/layout/generic/nsTextFrame.cpp @@ -4565,18 +4565,30 @@ nsDisplayText::Paint(nsDisplayListBuilde // Add 1 pixel of dirty area around mVisibleRect to allow us to paint // antialiased pixels beyond the measured text extents. // This is temporary until we do this in the actual calculation of text extents. nsRect extraVisible = mVisibleRect; nscoord appUnitsPerDevPixel = mFrame->PresContext()->AppUnitsPerDevPixel(); extraVisible.Inflate(appUnitsPerDevPixel, appUnitsPerDevPixel); nsTextFrame* f = static_cast<nsTextFrame*>(mFrame); - gfxContextAutoDisableSubpixelAntialiasing disable(aCtx->ThebesContext(), + gfxContext* ctx = aCtx->ThebesContext(); + gfxContextAutoDisableSubpixelAntialiasing disable(ctx, mDisableSubpixelAA); + gfxContextAutoSaveRestore save(ctx); + + gfxRect pixelVisible = + nsLayoutUtils::RectToGfxRect(extraVisible, appUnitsPerDevPixel); + pixelVisible.Inflate(2); + pixelVisible.RoundOut(); + + ctx->NewPath(); + ctx->Rectangle(pixelVisible); + ctx->Clip(); + NS_ASSERTION(mLeftEdge >= 0, "illegal left edge"); NS_ASSERTION(mRightEdge >= 0, "illegal right edge"); f->PaintText(aCtx, ToReferenceFrame(), extraVisible, *this); } void nsTextFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, const nsRect& aDirtyRect,
--- a/layout/reftests/scrolling/reftest.list +++ b/layout/reftests/scrolling/reftest.list @@ -1,11 +1,11 @@ skip-if(B2G&&browserIsRemote) HTTP == deferred-anchor.xhtml#d deferred-anchor-ref.xhtml#d == deferred-anchor2.xhtml deferred-anchor-ref.xhtml#d -HTTP == fixed-1.html fixed-1.html?ref +ffuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,4) HTTP == fixed-1.html fixed-1.html?ref HTTP == fixed-opacity-1.html fixed-opacity-1.html?ref skip-if(B2G) HTTP == fixed-opacity-2.html fixed-opacity-2.html?ref skip-if(B2G) random-if(gtk2Widget) fuzzy-if(Android,3,60) HTTP == fixed-text-1.html fixed-text-1.html?ref HTTP == fixed-text-2.html fixed-text-2.html?ref random-if(Android&&!browserIsRemote) skip-if(B2G&&browserIsRemote) == iframe-border-radius.html iframe-border-radius-ref.html # bug 760269 random-if(Android) HTTP == image-1.html image-1.html?ref random-if(Android&&!browserIsRemote) HTTP == opacity-mixed-scrolling-1.html opacity-mixed-scrolling-1.html?ref # bug 760269 skip-if(B2G) random-if(cocoaWidget) HTTP == opacity-mixed-scrolling-2.html opacity-mixed-scrolling-2.html?ref # see bug 625357