| Index: src/gpu/batches/GrNonAAStrokeRectBatch.cpp
 | 
| diff --git a/src/gpu/batches/GrNonAAStrokeRectBatch.cpp b/src/gpu/batches/GrNonAAStrokeRectBatch.cpp
 | 
| index 299d995fc70251347b605f49fc2928018d6c3829..f443b32f19f8d2313b895a7e732357995541c547 100644
 | 
| --- a/src/gpu/batches/GrNonAAStrokeRectBatch.cpp
 | 
| +++ b/src/gpu/batches/GrNonAAStrokeRectBatch.cpp
 | 
| @@ -72,24 +72,25 @@ public:
 | 
|          batch->fRect.sort();
 | 
|          batch->fStrokeWidth = stroke.getWidth();
 | 
|  
 | 
| -        batch->fBounds = batch->fRect;
 | 
|          SkScalar rad = SkScalarHalf(batch->fStrokeWidth);
 | 
| -        batch->fBounds.outset(rad, rad);
 | 
| -        batch->fViewMatrix.mapRect(&batch->fBounds);
 | 
| +        SkRect bounds = rect;
 | 
| +        bounds.outset(rad, rad);
 | 
|  
 | 
|          // If our caller snaps to pixel centers then we have to round out the bounds
 | 
|          if (snapToPixelCenters) {
 | 
| +            viewMatrix.mapRect(&bounds);
 | 
|              // We want to be consistent with how we snap non-aa lines. To match what we do in
 | 
|              // GrGLSLVertexShaderBuilder, we first floor all the vertex values and then add half a
 | 
|              // pixel to force us to pixel centers.
 | 
| -            batch->fBounds.set(SkScalarFloorToScalar(batch->fBounds.fLeft),
 | 
| -                               SkScalarFloorToScalar(batch->fBounds.fTop),
 | 
| -                               SkScalarFloorToScalar(batch->fBounds.fRight),
 | 
| -                               SkScalarFloorToScalar(batch->fBounds.fBottom));
 | 
| -            batch->fBounds.offset(0.5f, 0.5f);
 | 
| -
 | 
| -            // Round out the bounds to integer values
 | 
| -            batch->fBounds.roundOut();
 | 
| +            bounds.set(SkScalarFloorToScalar(bounds.fLeft),
 | 
| +                       SkScalarFloorToScalar(bounds.fTop),
 | 
| +                       SkScalarFloorToScalar(bounds.fRight),
 | 
| +                       SkScalarFloorToScalar(bounds.fBottom));
 | 
| +            bounds.offset(0.5f, 0.5f);
 | 
| +            batch->setBounds(bounds, HasAABloat::kNo, IsZeroArea::kNo);
 | 
| +        } else {
 | 
| +            batch->setTransformedBounds(bounds, batch->fViewMatrix, HasAABloat ::kNo,
 | 
| +                                        IsZeroArea::kNo);
 | 
|          }
 | 
|          return batch;
 | 
|      }
 | 
| 
 |