[Cairo] Path copy constructor and operator must also copy over CTM
Created attachment 334995 [details] Patch
Comment on attachment 334995 [details] Patch Wow, I'm surprised this doesn't fix any test, how did you notice? does this fix a particular website, can we add a test?
(In reply to Carlos Garcia Campos from comment #2) > Comment on attachment 334995 [details] > Patch > > Wow, I'm surprised this doesn't fix any test, how did you notice? does this > fix a particular website, can we add a test? Copying of Path objects isn't that common, or at least isn't that well tested. This was spotted while running HTML5 Canvas tests with DisplayList recording enabled. That's one case of a Path objects being copied, since they are stored for later execution. It was still only affecting one single test. I'll try to come up with a test.
Created attachment 393650 [details] Patch for landing
Comment on attachment 393650 [details] Patch for landing Clearing flags on attachment: 393650 Committed r258497: <https://trac.webkit.org/changeset/258497>
All reviewed patches have been landed. Closing bug.
<rdar://problem/60495533>
Comment on attachment 393650 [details] Patch for landing I strongly suggest we follow this patch up with the following changes: - Move the private function swap(Path&) out of #if USE(CG) and implement it for Cairo and Direct2D. - Move the implementations of the two Path::operator= overloads from PathCG.cpp to Path.cpp. - Delete the implementations of Path::operator= from Cairo and Direct2D.