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

Issue 293963009: Fixing GraphicsContext state checks to support oilpan (Closed)

Created:
6 years, 7 months ago by Justin Novosad
Modified:
6 years, 6 months ago
CC:
blink-reviews, jamesr, krit, blink-reviews-html_chromium.org, jbroman, danakj, dglazkov+blink, Rik, Stephen Chennney, aandrey+blink_chromium.org, pdr., rwlbuis
Visibility:
Public.

Description

Fixing GraphicsContext state checks to support oilpan Debug assertions in the GraphicsContext destructor were dependent on object destruction order, which made them incompatible with oilpan. The state validation logic was refactored to make the state validation checks more useful. BUG=370793 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=174981

Patch Set 1 #

Patch Set 2 : updated test expectations #

Total comments: 11

Patch Set 3 : clarified comments #

Patch Set 4 : response to review comments #

Total comments: 4

Patch Set 5 : removed change to test expectations #

Unified diffs Side-by-side diffs Delta from patch set Stats (+40 lines, -22 lines) Patch
M Source/core/html/HTMLCanvasElement.cpp View 1 2 3 2 chunks +6 lines, -1 line 0 comments Download
M Source/core/html/canvas/CanvasRenderingContext2D.h View 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/html/canvas/CanvasRenderingContext2D.cpp View 1 2 3 9 chunks +17 lines, -7 lines 0 comments Download
M Source/platform/graphics/GraphicsContext.h View 1 2 3 2 chunks +5 lines, -0 lines 0 comments Download
M Source/platform/graphics/GraphicsContext.cpp View 1 2 3 2 chunks +10 lines, -14 lines 0 comments Download

Messages

Total messages: 25 (0 generated)
Justin Novosad
PTAL
6 years, 7 months ago (2014-05-21 20:56:11 UTC) #1
Mads Ager (chromium)
LGTM from an Oilpan perspective. Thanks for doing this junov! https://codereview.chromium.org/293963009/diff/20001/Source/core/html/HTMLCanvasElement.cpp File Source/core/html/HTMLCanvasElement.cpp (right): https://codereview.chromium.org/293963009/diff/20001/Source/core/html/HTMLCanvasElement.cpp#newcode501 ...
6 years, 7 months ago (2014-05-22 05:53:02 UTC) #2
Justin Novosad
https://codereview.chromium.org/293963009/diff/20001/Source/core/html/HTMLCanvasElement.cpp File Source/core/html/HTMLCanvasElement.cpp (right): https://codereview.chromium.org/293963009/diff/20001/Source/core/html/HTMLCanvasElement.cpp#newcode501 Source/core/html/HTMLCanvasElement.cpp:501: if (is3D()) { On 2014/05/22 05:53:03, Mads Ager (chromium) ...
6 years, 7 months ago (2014-05-26 17:17:50 UTC) #3
Justin Novosad
Still need approval from OWNER
6 years, 7 months ago (2014-05-26 17:19:34 UTC) #4
Stephen White
Stephen C. or Florin should probably look at the GraphicsContext changes. To be honest, I ...
6 years, 7 months ago (2014-05-27 18:11:31 UTC) #5
Justin Novosad
On 2014/05/27 18:11:31, Stephen White wrote: > Stephen C. or Florin should probably look at ...
6 years, 7 months ago (2014-05-27 19:17:10 UTC) #6
Stephen White
I meant a layout test that fails 100% of the time without the code change, ...
6 years, 7 months ago (2014-05-27 19:25:40 UTC) #7
Justin Novosad
The CQ bit was checked by junov@chromium.org
6 years, 7 months ago (2014-05-27 20:14:18 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/junov@chromium.org/293963009/40001
6 years, 7 months ago (2014-05-27 20:14:38 UTC) #9
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 7 months ago (2014-05-27 20:14:56 UTC) #10
commit-bot: I haz the power
Failed to apply patch for Source/core/html/HTMLCanvasElement.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
6 years, 7 months ago (2014-05-27 20:14:57 UTC) #11
f(malita)
https://codereview.chromium.org/293963009/diff/20001/Source/core/html/HTMLCanvasElement.cpp File Source/core/html/HTMLCanvasElement.cpp (right): https://codereview.chromium.org/293963009/diff/20001/Source/core/html/HTMLCanvasElement.cpp#newcode520 Source/core/html/HTMLCanvasElement.cpp:520: m_imageBuffer->context()->disableDestructionChecks(); // 2D canvas is allowed to leave context ...
6 years, 7 months ago (2014-05-27 20:28:22 UTC) #12
Justin Novosad
https://codereview.chromium.org/293963009/diff/20001/Source/core/html/HTMLCanvasElement.cpp File Source/core/html/HTMLCanvasElement.cpp (right): https://codereview.chromium.org/293963009/diff/20001/Source/core/html/HTMLCanvasElement.cpp#newcode520 Source/core/html/HTMLCanvasElement.cpp:520: m_imageBuffer->context()->disableDestructionChecks(); // 2D canvas is allowed to leave context ...
6 years, 7 months ago (2014-05-27 22:25:25 UTC) #13
Justin Novosad
On 2014/05/27 22:25:25, junov wrote: > > Right now ImageBuffer is not explicitly aware that ...
6 years, 7 months ago (2014-05-27 22:34:19 UTC) #14
Justin Novosad
New patch.
6 years, 7 months ago (2014-05-27 23:30:04 UTC) #15
zerny-chromium
DBC https://codereview.chromium.org/293963009/diff/60001/Source/core/html/HTMLCanvasElement.cpp File Source/core/html/HTMLCanvasElement.cpp (right): https://codereview.chromium.org/293963009/diff/60001/Source/core/html/HTMLCanvasElement.cpp#newcode102 Source/core/html/HTMLCanvasElement.cpp:102: m_contextStateSaver.clear(); This should be outside the #if !ENABLE(OILPAN) ...
6 years, 6 months ago (2014-05-28 06:17:26 UTC) #16
f(malita)
It still bothers me that we have to do this, but GC lgtm.
6 years, 6 months ago (2014-05-28 13:15:46 UTC) #17
Stephen White
https://codereview.chromium.org/293963009/diff/60001/Source/core/html/canvas/CanvasRenderingContext2D.cpp File Source/core/html/canvas/CanvasRenderingContext2D.cpp (right): https://codereview.chromium.org/293963009/diff/60001/Source/core/html/canvas/CanvasRenderingContext2D.cpp#newcode231 Source/core/html/canvas/CanvasRenderingContext2D.cpp:231: unwindStateStack(); Just so I understand: there was no bug ...
6 years, 6 months ago (2014-05-28 13:23:34 UTC) #18
Justin Novosad
On 2014/05/28 06:17:26, zerny-chromium wrote: > DBC > > https://codereview.chromium.org/293963009/diff/60001/Source/core/html/HTMLCanvasElement.cpp > File Source/core/html/HTMLCanvasElement.cpp (right): > ...
6 years, 6 months ago (2014-05-28 15:36:56 UTC) #19
Justin Novosad
https://codereview.chromium.org/293963009/diff/60001/Source/platform/graphics/GraphicsContext.cpp File Source/platform/graphics/GraphicsContext.cpp (right): https://codereview.chromium.org/293963009/diff/60001/Source/platform/graphics/GraphicsContext.cpp#newcode148 Source/platform/graphics/GraphicsContext.cpp:148: #if !ASSERT_DISABLED On 2014/05/28 13:23:34, Stephen White wrote: > ...
6 years, 6 months ago (2014-05-28 15:39:07 UTC) #20
Justin Novosad
The CQ bit was checked by junov@chromium.org
6 years, 6 months ago (2014-05-28 16:54:43 UTC) #21
Justin Novosad
The CQ bit was unchecked by junov@chromium.org
6 years, 6 months ago (2014-05-28 16:54:48 UTC) #22
Justin Novosad
The CQ bit was checked by junov@chromium.org
6 years, 6 months ago (2014-05-28 16:55:27 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/junov@chromium.org/293963009/80001
6 years, 6 months ago (2014-05-28 16:55:47 UTC) #24
commit-bot: I haz the power
6 years, 6 months ago (2014-05-28 18:15:32 UTC) #25
Message was sent while issue was closed.
Change committed as 174981

Powered by Google App Engine
This is Rietveld 408576698