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

Issue 501353002: Transfer canvas state to the next frame with noticable restrictions. (Closed)

Created:
6 years, 3 months ago by Sergey
Modified:
6 years, 3 months ago
Reviewers:
zino, Justin Novosad
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Project:
blink
Visibility:
Public.

Description

Transfer canvas state to the next frame with noticable restrictions. Transfer canvas state to the next frame with the next restrictions: - transform matrix must be invertable (to get clip area before transform) - clip area must be rectangular BUG=392614 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=182036

Patch Set 1 : [WIP] first patch to check my approach #

Total comments: 18

Patch Set 2 : [WIP] adjusting to comments #

Total comments: 7

Patch Set 3 : Source code adjustements + [WIP] layout test problems #

Total comments: 15

Patch Set 4 : [WIP] No need to transfer canvas state in RecordingImageBufferSurface #

Patch Set 5 : Release candidate #

Total comments: 25

Patch Set 6 : Second release candidate #

Patch Set 7 : Release #

Unified diffs Side-by-side diffs Delta from patch set Stats (+105 lines, -13 lines) Patch
A LayoutTests/fast/canvas/canvas-state-stack-simple.html View 1 2 3 4 5 6 1 chunk +34 lines, -0 lines 0 comments Download
A LayoutTests/fast/canvas/canvas-state-stack-simple-expected.html View 1 2 3 4 5 6 1 chunk +15 lines, -0 lines 0 comments Download
M Source/platform/graphics/RecordingImageBufferSurface.h View 1 2 3 4 5 2 chunks +14 lines, -0 lines 0 comments Download
M Source/platform/graphics/RecordingImageBufferSurface.cpp View 1 2 3 4 5 1 chunk +42 lines, -13 lines 0 comments Download

Messages

Total messages: 38 (6 generated)
Sergey
p.sergey@samsung.com changed reviewers: + junov@chromium.org
6 years, 3 months ago (2014-08-26 12:01:31 UTC) #1
Sergey
PTAL.
6 years, 3 months ago (2014-08-26 12:02:14 UTC) #2
Sergey
Please, take a look. The idea is to transfer state using current capabilities of SKIA ...
6 years, 3 months ago (2014-08-26 12:05:30 UTC) #3
Justin Novosad
This is on the right track. You need to add a layout test for this ...
6 years, 3 months ago (2014-08-26 16:57:20 UTC) #4
Sergey
On 2014/08/26 16:57:20, junov wrote: > This is on the right track. You need to ...
6 years, 3 months ago (2014-08-28 07:52:32 UTC) #5
Sergey
PTAL. Although, two questions are left: 1. StackState type and constant declarations: probably I should ...
6 years, 3 months ago (2014-08-28 09:55:34 UTC) #6
Justin Novosad
On 2014/08/28 09:55:34, Sergey wrote: > 2. Layout tests, especially on Android. It might probably ...
6 years, 3 months ago (2014-08-28 14:44:05 UTC) #7
Justin Novosad
https://codereview.chromium.org/501353002/diff/20001/Source/platform/graphics/RecordingImageBufferSurface.cpp File Source/platform/graphics/RecordingImageBufferSurface.cpp (right): https://codereview.chromium.org/501353002/diff/20001/Source/platform/graphics/RecordingImageBufferSurface.cpp#newcode181 Source/platform/graphics/RecordingImageBufferSurface.cpp:181: dstCanvas->concat(stateStack->last().m_ctm); I think this should be setMatrix rather than ...
6 years, 3 months ago (2014-08-28 14:53:00 UTC) #8
Justin Novosad
On 2014/08/28 07:52:32, Sergey wrote: > I wonder, did you try that on Linux or ...
6 years, 3 months ago (2014-08-28 14:55:52 UTC) #9
Sergey
Hi. I've adjusted the source code but it seems we will have some trouble on ...
6 years, 3 months ago (2014-09-03 01:50:51 UTC) #10
Sergey
On 2014/09/03 01:50:51, Sergey wrote: > Hi. I've adjusted the source code but it seems ...
6 years, 3 months ago (2014-09-03 06:59:32 UTC) #11
zino
Hi Sergey, I'm not reviewer but I leave some comments. I hope my comments are ...
6 years, 3 months ago (2014-09-03 10:50:18 UTC) #13
zino
I wrote a simple clip test. You can use it and modify it. (I ignored ...
6 years, 3 months ago (2014-09-03 10:51:08 UTC) #14
Justin Novosad
On 2014/09/03 06:59:32, Sergey wrote: > On 2014/09/03 01:50:51, Sergey wrote: > > Hi. I've ...
6 years, 3 months ago (2014-09-03 15:16:38 UTC) #15
Justin Novosad
https://codereview.chromium.org/501353002/diff/40001/Source/platform/graphics/RecordingImageBufferSurface.cpp File Source/platform/graphics/RecordingImageBufferSurface.cpp (right): https://codereview.chromium.org/501353002/diff/40001/Source/platform/graphics/RecordingImageBufferSurface.cpp#newcode163 Source/platform/graphics/RecordingImageBufferSurface.cpp:163: srcCanvas->getClipBounds(&state.m_clip); On 2014/09/03 10:50:17, zino wrote: > I think ...
6 years, 3 months ago (2014-09-03 15:24:39 UTC) #16
Sergey
On 2014/09/03 15:16:38, junov wrote: > Basically, you need to create an asynchronous test by ...
6 years, 3 months ago (2014-09-04 10:26:18 UTC) #17
Sergey
https://codereview.chromium.org/501353002/diff/40001/Source/platform/graphics/RecordingImageBufferSurface.cpp File Source/platform/graphics/RecordingImageBufferSurface.cpp (right): https://codereview.chromium.org/501353002/diff/40001/Source/platform/graphics/RecordingImageBufferSurface.cpp#newcode138 Source/platform/graphics/RecordingImageBufferSurface.cpp:138: if (!saveState(m_currentFrame->getRecordingCanvas(), &stateStack)) On 2014/09/03 10:50:17, zino wrote: > ...
6 years, 3 months ago (2014-09-04 10:26:51 UTC) #18
Justin Novosad
On 2014/09/04 10:26:18, Sergey wrote: > On 2014/09/03 15:16:38, junov wrote: > > Basically, you ...
6 years, 3 months ago (2014-09-04 13:33:40 UTC) #19
Justin Novosad
On 2014/09/04 10:26:51, Sergey wrote: > https://codereview.chromium.org/501353002/diff/40001/Source/platform/graphics/RecordingImageBufferSurface.cpp > File Source/platform/graphics/RecordingImageBufferSurface.cpp (right): > > https://codereview.chromium.org/501353002/diff/40001/Source/platform/graphics/RecordingImageBufferSurface.cpp#newcode138 > ...
6 years, 3 months ago (2014-09-04 13:43:18 UTC) #20
Sergey
First of all, sorry for delay, we had some holidays here in Korea. On 2014/09/04 ...
6 years, 3 months ago (2014-09-11 12:58:40 UTC) #24
Sergey
https://codereview.chromium.org/501353002/diff/40001/LayoutTests/canvas/state-stack.html File LayoutTests/canvas/state-stack.html (right): https://codereview.chromium.org/501353002/diff/40001/LayoutTests/canvas/state-stack.html#newcode2 LayoutTests/canvas/state-stack.html:2: <title>Canvas.drawImage with narrow destination.</title> On 2014/09/03 10:50:17, zino wrote: ...
6 years, 3 months ago (2014-09-11 12:58:53 UTC) #25
Justin Novosad
On 2014/09/11 12:58:40, Sergey wrote: > > > My guess of the reason is that ...
6 years, 3 months ago (2014-09-11 13:53:43 UTC) #26
Justin Novosad
Here is an example of a test that fails currently with display list 2d canvas ...
6 years, 3 months ago (2014-09-11 13:55:49 UTC) #27
Sergey
On 2014/09/11 13:55:49, junov wrote: > Here is an example of a test that fails ...
6 years, 3 months ago (2014-09-12 07:30:18 UTC) #29
Justin Novosad
lgtm with minor corrections. https://codereview.chromium.org/501353002/diff/160001/LayoutTests/fast/canvas/canvas-state-stack-simple.html File LayoutTests/fast/canvas/canvas-state-stack-simple.html (right): https://codereview.chromium.org/501353002/diff/160001/LayoutTests/fast/canvas/canvas-state-stack-simple.html#newcode21 LayoutTests/fast/canvas/canvas-state-stack-simple.html:21: context.rect(0,0,300,300); This test would be ...
6 years, 3 months ago (2014-09-12 14:54:35 UTC) #30
zino
Dear Sergey, Looks good to me! But could you please follow layout-test-style-guidelines? http://www.chromium.org/blink/coding-style/layout-test-style-guidelines https://codereview.chromium.org/501353002/diff/160001/LayoutTests/fast/canvas/canvas-state-stack-simple.html File ...
6 years, 3 months ago (2014-09-13 16:00:29 UTC) #31
Sergey
PTAL. https://codereview.chromium.org/501353002/diff/160001/LayoutTests/fast/canvas/canvas-state-stack-simple.html File LayoutTests/fast/canvas/canvas-state-stack-simple.html (right): https://codereview.chromium.org/501353002/diff/160001/LayoutTests/fast/canvas/canvas-state-stack-simple.html#newcode3 LayoutTests/fast/canvas/canvas-state-stack-simple.html:3: <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> On 2014/09/13 16:00:28, zino ...
6 years, 3 months ago (2014-09-15 02:45:37 UTC) #32
zino
I'm sorry for interrupting landing this CL with layout-style-guideline. Thank you and non-owner lgtm. https://codereview.chromium.org/501353002/diff/160001/LayoutTests/fast/canvas/canvas-state-stack-simple.html ...
6 years, 3 months ago (2014-09-15 09:51:03 UTC) #33
Justin Novosad
Thank for the input zino. re-lgtm
6 years, 3 months ago (2014-09-15 23:07:05 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/501353002/200001
6 years, 3 months ago (2014-09-16 05:09:54 UTC) #36
Sergey
On 2014/09/15 09:51:03, zino wrote: > I'm sorry for interrupting landing this CL with layout-style-guideline. ...
6 years, 3 months ago (2014-09-16 05:12:09 UTC) #37
commit-bot: I haz the power
6 years, 3 months ago (2014-09-16 06:28:40 UTC) #38
Message was sent while issue was closed.
Committed patchset #7 (id:200001) as 182036

Powered by Google App Engine
This is Rietveld 408576698