| Index: src/gpu/batches/GrAAHairLinePathRenderer.cpp
 | 
| diff --git a/src/gpu/batches/GrAAHairLinePathRenderer.cpp b/src/gpu/batches/GrAAHairLinePathRenderer.cpp
 | 
| index 206a72899f812da456781d5c580135ce3201a3c9..194c79e41e0d1ef80d8566defc517ee79c2512b1 100644
 | 
| --- a/src/gpu/batches/GrAAHairLinePathRenderer.cpp
 | 
| +++ b/src/gpu/batches/GrAAHairLinePathRenderer.cpp
 | 
| @@ -683,13 +683,8 @@ public:
 | 
|                      SkIRect devClipBounds) : INHERITED(ClassID()) {
 | 
|          fGeoData.emplace_back(Geometry{color, coverage, viewMatrix, path, devClipBounds});
 | 
|  
 | 
| -        // compute bounds
 | 
| -        fBounds = path.getBounds();
 | 
| -        viewMatrix.mapRect(&fBounds);
 | 
| -
 | 
| -        // This is b.c. hairlines are notionally infinitely thin so without expansion
 | 
| -        // two overlapping lines could be reordered even though they hit the same pixels.
 | 
| -        fBounds.outset(0.5f, 0.5f);
 | 
| +        this->setTransformedBounds(path.getBounds(), viewMatrix, HasAABloat::kYes,
 | 
| +                                   IsZeroArea::kYes);
 | 
|      }
 | 
|  
 | 
|      const char* name() const override { return "AAHairlineBatch"; }
 | 
| @@ -759,7 +754,7 @@ private:
 | 
|          }
 | 
|  
 | 
|          fGeoData.push_back_n(that->fGeoData.count(), that->fGeoData.begin());
 | 
| -        this->joinBounds(that->bounds());
 | 
| +        this->joinBounds(*that);
 | 
|          return true;
 | 
|      }
 | 
|  
 | 
| 
 |