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

Issue 2326633002: Adds filter support for offscreen canvas (Closed)

Created:
4 years, 3 months ago by fserb
Modified:
3 years, 10 months ago
CC:
ajuma+watch-canvas_chromium.org, blink-reviews, Rik, chromium-reviews, dshwang, haraken
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

This adds support for filter on OffScreen canvas. Most of those changes are due to offscreen canvas not having access to a Document, that is needed by CSS filter parser. Also, filter(url) are still no-ops. BUG=593838 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2326633002 Cr-Commit-Position: refs/heads/master@{#447023} Committed: https://chromium.googlesource.com/chromium/src/+/ee25559e75c9fa03648b4fcaf52f162baa243d2a

Patch Set 1 #

Patch Set 2 : not segfaulting #

Patch Set 3 : Working #

Patch Set 4 : Working version of filters on offscreen canvas #

Total comments: 7

Patch Set 5 : New version without StyleResolver #

Total comments: 20

Patch Set 6 : Code using ConversionData #

Total comments: 14

Patch Set 7 : Updated #

Patch Set 8 : Working shadows #

Patch Set 9 : Refactored FilterOperations #

Patch Set 10 : C++ constructor #

Patch Set 11 : Added more tests, added CSS color identifiers #

Total comments: 6

Patch Set 12 : Cleanup #

Patch Set 13 : Fixed tests interface listing #

Total comments: 6

Patch Set 14 : Reviewed layout tests #

Patch Set 15 : Updated comment #

Patch Set 16 : Sync #

Unified diffs Side-by-side diffs Delta from patch set Stats (+504 lines, -164 lines) Patch
D third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-2d-filter.html View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -101 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-filter.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +55 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-filter-expected.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +51 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-filter-in-worker.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +88 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-filter-in-worker-expected.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +51 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/virtual/service-worker-navigation-preload/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-dedicated-worker-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-shared-worker-expected.txt View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.h View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 chunks +102 lines, -32 lines 0 comments Download
M third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.h View 1 2 3 4 5 6 7 8 3 chunks +7 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 chunks +76 lines, -15 lines 0 comments Download
M third_party/WebKit/Source/core/paint/FilterEffectBuilder.h View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/FilterEffectBuilder.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +8 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.h View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +41 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +5 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.idl View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 55 (27 generated)
fserb
4 years, 3 months ago (2016-09-12 19:58:55 UTC) #4
Justin Novosad
+dstockwell and esprehn to take a look at the CSS parts, which I am not ...
4 years, 3 months ago (2016-09-12 20:41:37 UTC) #6
esprehn
not lgtm, the resolver is not thread safe, and putting a bunch of null data ...
4 years, 3 months ago (2016-09-12 20:43:38 UTC) #7
esprehn
I'd really like to see a design doc for OffscreenCanvas. I feel like there's some ...
4 years, 3 months ago (2016-09-12 20:53:12 UTC) #8
Justin Novosad
On 2016/09/12 20:43:38, esprehn wrote: > not lgtm, the resolver is not thread safe, and ...
4 years, 3 months ago (2016-09-12 20:53:30 UTC) #9
esprehn
On 2016/09/12 at 20:53:30, junov wrote: > On 2016/09/12 20:43:38, esprehn wrote: > > not ...
4 years, 3 months ago (2016-09-12 20:56:16 UTC) #10
Justin Novosad
On 2016/09/12 20:53:12, esprehn wrote: > I'd really like to see a design doc for ...
4 years, 3 months ago (2016-09-12 20:59:38 UTC) #11
fserb
On 2016/09/12 at 20:59:38, junov wrote: > On 2016/09/12 20:53:12, esprehn wrote: > > I'd ...
4 years, 1 month ago (2016-10-24 18:05:21 UTC) #12
Justin Novosad
I feel we are getting closer. https://codereview.chromium.org/2326633002/diff/80001/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp File third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp (right): https://codereview.chromium.org/2326633002/diff/80001/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp#newcode122 third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp:122: StyleResolverState* state, This ...
4 years, 1 month ago (2016-10-24 18:51:23 UTC) #13
Justin Novosad
+meade to review use of CSS parser off the main thread
4 years, 1 month ago (2016-10-25 15:38:16 UTC) #15
Justin Novosad
On 2016/10/25 15:38:16, Justin Novosad wrote: > +meade to review use of CSS parser off ...
4 years, 1 month ago (2016-10-25 15:48:55 UTC) #16
meade_UTC10
I'm not super familiar with the threaded parts of this, so I'd trust Elliott's judgement ...
4 years, 1 month ago (2016-10-26 06:57:34 UTC) #17
fserb
Thanks for the comments. I'll work on addressing the two major issues and I'll ptal ...
4 years, 1 month ago (2016-10-26 19:08:26 UTC) #18
fserb
I've done the change for ConversionData, but not for the loop. PTAL?
4 years, 1 month ago (2016-11-08 20:40:51 UTC) #19
Justin Novosad
This look reasonable to me. @esprehn: WDYT? https://codereview.chromium.org/2326633002/diff/100001/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp File third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp (right): https://codereview.chromium.org/2326633002/diff/100001/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp#newcode135 third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp:135: static CSSToLengthConversionData::FontSizes ...
4 years, 1 month ago (2016-11-08 20:59:23 UTC) #20
Justin Novosad
Ping! esprehn
4 years, 1 month ago (2016-11-14 14:55:55 UTC) #21
esprehn
You're making all shadows black... :P https://codereview.chromium.org/2326633002/diff/80001/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp File third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp (right): https://codereview.chromium.org/2326633002/diff/80001/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp#newcode122 third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp:122: StyleResolverState* state, On ...
4 years, 1 month ago (2016-11-22 01:38:37 UTC) #22
fserb
Addressed all issues. Fixed shadow colors. PTAL. https://codereview.chromium.org/2326633002/diff/100001/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp File third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp (right): https://codereview.chromium.org/2326633002/diff/100001/third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp#newcode135 third_party/WebKit/Source/core/css/resolver/FilterOperationResolver.cpp:135: static CSSToLengthConversionData::FontSizes ...
3 years, 11 months ago (2017-01-17 17:58:45 UTC) #23
Justin Novosad
https://codereview.chromium.org/2326633002/diff/200001/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp File third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp (right): https://codereview.chromium.org/2326633002/diff/200001/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp#newcode364 third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp:364: // Checking for a non-null m_filterValue isn't sufficient, since ...
3 years, 11 months ago (2017-01-17 21:59:47 UTC) #30
fserb
https://codereview.chromium.org/2326633002/diff/200001/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp File third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp (right): https://codereview.chromium.org/2326633002/diff/200001/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp#newcode364 third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp:364: // Checking for a non-null m_filterValue isn't sufficient, since ...
3 years, 11 months ago (2017-01-17 22:10:42 UTC) #31
Justin Novosad
https://codereview.chromium.org/2326633002/diff/200001/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp File third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp (right): https://codereview.chromium.org/2326633002/diff/200001/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp#newcode238 third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp:238: BaseRenderingContext2D::setFilter(filterString); Ah, here it is. Why is this needed? ...
3 years, 11 months ago (2017-01-17 22:49:02 UTC) #32
fserb
https://codereview.chromium.org/2326633002/diff/200001/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp File third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp (right): https://codereview.chromium.org/2326633002/diff/200001/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp#newcode238 third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp:238: BaseRenderingContext2D::setFilter(filterString); On 2017/01/17 at 22:49:02, Justin Novosad wrote: > ...
3 years, 11 months ago (2017-01-18 15:47:59 UTC) #35
esprehn
Are you sure returning ::black is correct? Otherwise this looks good. https://codereview.chromium.org/2326633002/diff/240001/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-filter.html File third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-filter.html (right): ...
3 years, 10 months ago (2017-01-27 19:44:39 UTC) #46
fserb
https://codereview.chromium.org/2326633002/diff/240001/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-filter.html File third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-filter.html (right): https://codereview.chromium.org/2326633002/diff/240001/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-filter.html#newcode3 third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-filter.html:3: <body> On 2017/01/27 at 19:44:39, esprehn wrote: > you ...
3 years, 10 months ago (2017-01-27 19:54:47 UTC) #47
esprehn
lgtm
3 years, 10 months ago (2017-01-27 20:29:55 UTC) #48
fserb
3 years, 10 months ago (2017-01-30 17:24:35 UTC) #50
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2326633002/300001
3 years, 10 months ago (2017-01-30 17:24:58 UTC) #52
commit-bot: I haz the power
3 years, 10 months ago (2017-01-30 19:00:58 UTC) #55
Message was sent while issue was closed.
Committed patchset #16 (id:300001) as
https://chromium.googlesource.com/chromium/src/+/ee25559e75c9fa03648b4fcaf52f...

Powered by Google App Engine
This is Rietveld 408576698