Somehow on resizing and bringing up the print dialog, possibly just doing layout, the m_subpixelOffsetFromRenderer gets a small value such as ~0.18. This causes the optimization to be lost, because contentsBox "moves" away from the origo, even though in practice it does not. auto contents = contentsBox(); if (contents.location() != LayoutPoint(0, 0)) return false; E.g. repro case like: load page canvas gets the optimization resize canvas does not get the optimization reload canvas gets the optimization
<rdar://problem/111902075>
Created attachment 466970 [details] proposal for LayoutTests/compositing/canvas/ resize/print this and add debug print to inspect whether the canvas is painted with Copy or SourceOver