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

Issue 2057283002: Fix canvas-related crash caused by bad object teardown sequence (Closed)

Created:
4 years, 6 months ago by Justin Novosad
Modified:
4 years, 6 months ago
Reviewers:
xidachen, xlai (Olivia)
CC:
chromium-reviews, krit, dshwang, drott+blinkwatch_chromium.org, blink-reviews-platform-graphics_chromium.org, ajuma+watch-canvas_chromium.org, blink-reviews-html_chromium.org, pdr+graphicswatchlist_chromium.org, Justin Novosad, jbroman, haraken, dglazkov+blink, Rik, f(malita), blink-reviews, Stephen Chennney, ajuma+watch_chromium.org, danakj+watch_chromium.org, rwlbuis, Stephen White
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix canvas-related crash caused by bad object teardown sequence Made it safe for HTMLCanvasElement and its associated rendering context to be garbage collected in separate sweeps. Drive-by: changed ASSERTs to DCHECKs etc. BUG=616003 Committed: https://crrev.com/a5b85a5aa0b3949351143a35f41f93920db3baea Cr-Commit-Position: refs/heads/master@{#399587}

Patch Set 1 #

Total comments: 4

Patch Set 2 : belt+suspenders #

Patch Set 3 : build fixes #

Patch Set 4 : fix test crash #

Unified diffs Side-by-side diffs Delta from patch set Stats (+121 lines, -59 lines) Patch
M third_party/WebKit/Source/core/html/HTMLCanvasElement.h View 2 chunks +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp View 1 2 13 chunks +24 lines, -16 lines 0 comments Download
M third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h View 4 chunks +13 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.cpp View 1 2 chunks +15 lines, -1 line 0 comments Download
M third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp View 1 2 3 5 chunks +15 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp View 2 chunks +23 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp View 1 2 19 chunks +27 lines, -27 lines 0 comments Download

Messages

Total messages: 26 (12 generated)
Justin Novosad
PTAL
4 years, 6 months ago (2016-06-10 18:17:32 UTC) #2
xlai (Olivia)
lgtm with nits. The general idea looks correct. https://codereview.chromium.org/2057283002/diff/1/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp File third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp (right): https://codereview.chromium.org/2057283002/diff/1/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp#newcode160 third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp:160: m_context->detachCanvas(); ...
4 years, 6 months ago (2016-06-10 19:28:17 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2057283002/20001
4 years, 6 months ago (2016-06-10 19:39:05 UTC) #6
Justin Novosad
https://codereview.chromium.org/2057283002/diff/1/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp File third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp (right): https://codereview.chromium.org/2057283002/diff/1/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp#newcode160 third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp:160: m_context->detachCanvas(); On 2016/06/10 19:28:17, xlai (Olivia) wrote: > Maybe ...
4 years, 6 months ago (2016-06-10 19:39:09 UTC) #7
xidachen
lgtm
4 years, 6 months ago (2016-06-10 19:39:14 UTC) #8
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_gn_rel on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_gn_rel/builds/125858)
4 years, 6 months ago (2016-06-10 19:49:15 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2057283002/40001
4 years, 6 months ago (2016-06-13 15:48:26 UTC) #13
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/176616)
4 years, 6 months ago (2016-06-13 16:35:16 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2057283002/60001
4 years, 6 months ago (2016-06-13 17:49:16 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/86783)
4 years, 6 months ago (2016-06-13 20:50:13 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2057283002/60001
4 years, 6 months ago (2016-06-13 21:38:56 UTC) #22
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 6 months ago (2016-06-13 22:52:24 UTC) #23
commit-bot: I haz the power
CQ bit was unchecked
4 years, 6 months ago (2016-06-13 22:52:26 UTC) #24
commit-bot: I haz the power
4 years, 6 months ago (2016-06-13 22:54:13 UTC) #26
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/a5b85a5aa0b3949351143a35f41f93920db3baea
Cr-Commit-Position: refs/heads/master@{#399587}

Powered by Google App Engine
This is Rietveld 408576698