Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(206)

Issue 1068413002: Fix memory leak in display list canvas overdraw optimization. (Closed)

Created:
5 years, 8 months ago by Justin Novosad
Modified:
5 years, 8 months ago
Reviewers:
danakj, Stephen White
CC:
blink-reviews, Dominik Röttsches, krit, Rik, dshwang, pdr+graphicswatchlist_chromium.org, f(malita), Stephen Chennney, rwlbuis
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Fix memory leak in display list canvas overdraw optimization. This change simply adds a missing unref() call in the code that handles overdraw optimization. The memory leak would manifest itself as a race condition in animation loops that use setTimeout or setInterval instead of requestAnimationFrame: If a new frame starts before the previous frame is consumed by the compositor, the previous frame is to be droped. But in this case, the frame was being leaked instead of dropped. BUG=474510 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=193398

Patch Set 1 #

Total comments: 2

Patch Set 2 : use RefPtr to unref #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1 line, -1 line) Patch
M Source/platform/graphics/RecordingImageBufferSurface.cpp View 1 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 16 (3 generated)
Justin Novosad
PTAL
5 years, 8 months ago (2015-04-08 20:47:00 UTC) #2
danakj
https://codereview.chromium.org/1068413002/diff/1/Source/platform/graphics/RecordingImageBufferSurface.cpp File Source/platform/graphics/RecordingImageBufferSurface.cpp (right): https://codereview.chromium.org/1068413002/diff/1/Source/platform/graphics/RecordingImageBufferSurface.cpp#newcode150 Source/platform/graphics/RecordingImageBufferSurface.cpp:150: m_currentFrame->endRecording()->unref(); Maybe not, but is there a way to ...
5 years, 8 months ago (2015-04-08 20:48:10 UTC) #4
Justin Novosad
On 2015/04/08 20:48:10, danakj wrote: > Maybe not, but is there a way to use ...
5 years, 8 months ago (2015-04-08 20:58:40 UTC) #5
Stephen White
LGTM As discussed, IWBN to have some kind of don't-ignore-my-return-value warning goodness in this Skia ...
5 years, 8 months ago (2015-04-08 21:00:09 UTC) #6
jbroman
https://codereview.chromium.org/1068413002/diff/1/Source/platform/graphics/RecordingImageBufferSurface.cpp File Source/platform/graphics/RecordingImageBufferSurface.cpp (right): https://codereview.chromium.org/1068413002/diff/1/Source/platform/graphics/RecordingImageBufferSurface.cpp#newcode150 Source/platform/graphics/RecordingImageBufferSurface.cpp:150: m_currentFrame->endRecording()->unref(); On 2015/04/08 20:48:10, danakj wrote: > Maybe not, ...
5 years, 8 months ago (2015-04-08 21:00:13 UTC) #7
danakj
On 2015/04/08 20:58:40, junov wrote: > On 2015/04/08 20:48:10, danakj wrote: > > Maybe not, ...
5 years, 8 months ago (2015-04-08 21:00:13 UTC) #8
Stephen White
On 2015/04/08 21:00:13, jbroman wrote: > drive-by: I'm going to see if we can get ...
5 years, 8 months ago (2015-04-08 21:01:17 UTC) #9
Justin Novosad
On 2015/04/08 21:01:17, Stephen White wrote: > On 2015/04/08 21:00:13, jbroman wrote: > > > ...
5 years, 8 months ago (2015-04-08 21:05:13 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1068413002/20001
5 years, 8 months ago (2015-04-08 21:06:51 UTC) #12
danakj
On Wed, Apr 8, 2015 at 2:05 PM, <junov@chromium.org> wrote: > On 2015/04/08 21:01:17, Stephen ...
5 years, 8 months ago (2015-04-08 21:07:30 UTC) #13
Justin Novosad
On 2015/04/08 21:07:30, danakj wrote: > > Side note: Doing a bunch of work to ...
5 years, 8 months ago (2015-04-08 21:09:14 UTC) #14
jbroman
On 2015/04/08 21:01:17, Stephen White wrote: > On 2015/04/08 21:00:13, jbroman wrote: > > > ...
5 years, 8 months ago (2015-04-08 21:15:23 UTC) #15
commit-bot: I haz the power
5 years, 8 months ago (2015-04-09 00:02:47 UTC) #16
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=193398

Powered by Google App Engine
This is Rietveld 408576698