DescriptionFix crashes in MemoryCache related to successful revalidation
If the same url is revalidated multiple times, the first revalidation may end
up being incorrectly left in an LRU list after it is deleted. This is because
we have an early exit in removeFromLRUList() when the resource's accessCount()
is zero, even though we unconditionally put the resource in an LRU list when
it is added to the cache. We increment accessCount for the new resources case
in add(), but not the successful revalidation case in replace().
(All of these bugs are most likely the same root cause, but it's not absolutely certain)
BUG=353035, 352538, 352444
TEST=MemoryCacheTest.MultipleReplace
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=169463
Patch Set 1 #Patch Set 2 : Make mac builder happy #Patch Set 3 : #
Messages
Total messages: 23 (0 generated)
|