| Index: tests/TileGridTest.cpp | 
| =================================================================== | 
| --- tests/TileGridTest.cpp	(revision 8533) | 
| +++ tests/TileGridTest.cpp	(working copy) | 
| @@ -113,6 +113,39 @@ | 
| REPORTER_ASSERT(reporter, 1 == mockCanvas.fRects.count()); | 
| REPORTER_ASSERT(reporter, rect2 == mockCanvas.fRects[0]); | 
| } | 
| +        // Out of bounds queries, snap to border tiles | 
| +        { | 
| +            SkDevice device(store); | 
| +            MockCanvas mockCanvas(&device); | 
| +            mockCanvas.translate(SkFloatToScalar(2.0f), SkFloatToScalar(0.0f)); | 
| +            picture.draw(&mockCanvas); | 
| +            REPORTER_ASSERT(reporter, 1 == mockCanvas.fRects.count()); | 
| +            REPORTER_ASSERT(reporter, rect1 == mockCanvas.fRects[0]); | 
| +        } | 
| +        { | 
| +            SkDevice device(store); | 
| +            MockCanvas mockCanvas(&device); | 
| +            mockCanvas.translate(SkFloatToScalar(0.0f), SkFloatToScalar(2.0f)); | 
| +            picture.draw(&mockCanvas); | 
| +            REPORTER_ASSERT(reporter, 1 == mockCanvas.fRects.count()); | 
| +            REPORTER_ASSERT(reporter, rect1 == mockCanvas.fRects[0]); | 
| +        } | 
| +        { | 
| +            SkDevice device(store); | 
| +            MockCanvas mockCanvas(&device); | 
| +            mockCanvas.translate(SkFloatToScalar(-22.0f), SkFloatToScalar(-16.0f)); | 
| +            picture.draw(&mockCanvas); | 
| +            REPORTER_ASSERT(reporter, 1 == mockCanvas.fRects.count()); | 
| +            REPORTER_ASSERT(reporter, rect2 == mockCanvas.fRects[0]); | 
| +        } | 
| +        { | 
| +            SkDevice device(store); | 
| +            MockCanvas mockCanvas(&device); | 
| +            mockCanvas.translate(SkFloatToScalar(-16.0f), SkFloatToScalar(-22.0f)); | 
| +            picture.draw(&mockCanvas); | 
| +            REPORTER_ASSERT(reporter, 1 == mockCanvas.fRects.count()); | 
| +            REPORTER_ASSERT(reporter, rect2 == mockCanvas.fRects[0]); | 
| +        } | 
| } | 
|  | 
| static void TestOverlapOffsetQueryAlignment(skiatest::Reporter* reporter) { | 
| @@ -215,7 +248,6 @@ | 
| verifyTileHits(reporter, SkIRect::MakeXYWH(9, 9, 1, 1),  kAll_Tile, 1); | 
| verifyTileHits(reporter, SkIRect::MakeXYWH(10, 10, 1, 1),  kBottomRight_Tile, 1); | 
| verifyTileHits(reporter, SkIRect::MakeXYWH(17, 17, 1, 1),  kBottomRight_Tile, 1); | 
| -        verifyTileHits(reporter, SkIRect::MakeXYWH(18, 18, 1, 1),  0, 1); | 
|  | 
| // BBoxes that overlap tiles | 
| verifyTileHits(reporter, SkIRect::MakeXYWH(5, 5, 10, 1),  kTopLeft_Tile | kTopRight_Tile); | 
|  |