7802c871d0
CSSValuePool was used to be static instance on main thread only. But OffscreenCanvas in a worker requires to access the CSS value caches in a non-main thread. This patch uses the ThreadSpecific persistent handles to create static CSSValuePool instances per thread when needed, and the cleanup code is handled in ThreadState::cleanup() added by patch https://codereview.chromium.org/1881933005. As a result, WebKit unit tests (which does not use the ThreadState::cleanup() as the worker thread) need to be modified so that false positive leak errors will not be reported. In addition, an indirect memory leak "__strdup /build/eglibc-3GlaMS/eglibc-2.19/string/strdup.c" is generated in webkit unit tests; but after printing out the full error stack trace, we observe that it eventually originates from libfontconfig, a third_party library that has leaks and has already been suppressed in leak_suppression.cc. But the default stack trace is too short on suppress this indirect memory leak; so we added one more leak suppression underneath the libfontconfig. BUG=599659 Review URL: https://codereview.chromium.org/1870503002 Cr-Original-Commit-Position: refs/heads/master@{#388815} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 1174eb6ddb160985b51d1d45321e24c493aa7f83 |
||
---|---|---|
.. | ||
BUILD.gn | ||
OWNERS | ||
asan_suppressions.cc | ||
lsan_suppressions.cc | ||
sanitizer_options.cc | ||
sanitizers.gyp | ||
tsan_suppressions.cc |