RESOLVED FIXED Bug 183327
[Cairo] Path copy constructor and operator must also copy over CTM
https://bugs.webkit.org/show_bug.cgi?id=183327
Summary [Cairo] Path copy constructor and operator must also copy over CTM
Zan Dobersek
Reported 2018-03-05 03:56:03 PST
[Cairo] Path copy constructor and operator must also copy over CTM
Attachments
Patch (2.88 KB, patch)
2018-03-05 04:03 PST, Zan Dobersek
cgarcia: review+
Patch for landing (2.63 KB, patch)
2020-03-16 05:43 PDT, Carlos Garcia Campos
no flags
Zan Dobersek
Comment 1 2018-03-05 04:03:49 PST
Carlos Garcia Campos
Comment 2 2018-03-06 02:08:34 PST
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?
Zan Dobersek
Comment 3 2018-03-06 03:39:59 PST
(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.
Carlos Garcia Campos
Comment 4 2020-03-16 05:43:04 PDT
Created attachment 393650 [details] Patch for landing
WebKit Commit Bot
Comment 5 2020-03-16 08:27:10 PDT
Comment on attachment 393650 [details] Patch for landing Clearing flags on attachment: 393650 Committed r258497: <https://trac.webkit.org/changeset/258497>
WebKit Commit Bot
Comment 6 2020-03-16 08:27:12 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 7 2020-03-16 08:28:13 PDT
Darin Adler
Comment 8 2020-03-16 12:27:23 PDT
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.
Note You need to log in before you can comment on or make changes to this bug.