Summary: | Make sure we protect |this| in lambdas in WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver() | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Chris Dumez <cdumez> | ||||||
Component: | WebKit2 | Assignee: | Chris Dumez <cdumez> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | bfulgham, commit-queue, darin, webkit-bug-importer, wilander | ||||||
Priority: | P2 | Keywords: | InRadar | ||||||
Version: | WebKit Nightly Build | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Attachments: |
|
Description
Chris Dumez
2017-06-09 11:37:42 PDT
Created attachment 312464 [details]
Patch
Created attachment 312466 [details]
Patch
Comment on attachment 312466 [details]
Patch
Looks good to me.
After this change, though, WebResourceLoadStatisticsStore::processStatisticsAndDataRecords is the one remaining lambda that captures [this], but does not ref/deref it. The one passed to coreStore().processStatistics. Perhaps that function is guaranteed to run synchronously?
(In reply to Darin Adler from comment #4) > Comment on attachment 312466 [details] > Patch > > Looks good to me. > > After this change, though, > WebResourceLoadStatisticsStore::processStatisticsAndDataRecords is the one > remaining lambda that captures [this], but does not ref/deref it. The one > passed to coreStore().processStatistics. Perhaps that function is guaranteed > to run synchronously? That one is safe because it is synchronous. Comment on attachment 312466 [details] Patch Clearing flags on attachment: 312466 Committed r218006: <http://trac.webkit.org/changeset/218006> All reviewed patches have been landed. Closing bug. Landed a follow-up fix in https://trac.webkit.org/r218022. |