The code in RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality tests if the scaling has changed from the previous value by comparing the transformations: // We are scaled, but we painted already at this size, so just keep using whatever mode we last painted with. if ((!contextIsScaled || data->transform() == currentTransform) && data->size() == size) return data->useLowQualityScale(); This test fails if the scale is the same but the translation changes. This can lead to infinite repaint loop, if the document is painted in pieces using different translations (for example for tiling).
Created attachment 51154 [details] patch
Comment on attachment 51154 [details] patch Landing manually
Committed r56239: <http://trac.webkit.org/changeset/56239>