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

Issue 21154002: Add support for converting cc::FilterOperations into an SkImageFilter (Closed)

Created:
7 years, 4 months ago by ajuma
Modified:
7 years, 2 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, cc-bugs_chromium.org, jam, Ian Vollick
Visibility:
Public.

Description

Add support for converting cc::FilterOperations into an SkImageFilter This defines a new type of cc::FilterOperation for reference filters, and defines a method (RenderSurfaceFilters::BuildImageFilter) that builds an SkImageFilter from a given cc::FilterOperations. This also removes cc::Layer::SetFilter and cc::LayerImpl::SetFilter. These were only used when we had a reference filter, but they are no longer needed now that reference filters can be included in FilterOperations. BUG=181613 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=225329

Patch Set 1 #

Patch Set 2 : #

Total comments: 14

Patch Set 3 : WIP #

Patch Set 4 : Fix cc_unittests #

Patch Set 5 : Fix cc_messages #

Total comments: 38

Patch Set 6 : Rebased #

Patch Set 7 : Address review comments #

Patch Set 8 : Add TODO for software renderer #

Total comments: 2

Patch Set 9 : Fix nit #

Total comments: 10

Patch Set 10 : Remove DCHECK in HasFilterThatMovesPixels #

Patch Set 11 : Rebased #

Unified diffs Side-by-side diffs Delta from patch set Stats (+420 lines, -152 lines) Patch
M cc/layers/delegated_renderer_layer_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +0 lines, -2 lines 0 comments Download
M cc/layers/layer.h View 1 2 2 chunks +0 lines, -4 lines 0 comments Download
M cc/layers/layer.cc View 1 2 3 chunks +1 line, -15 lines 0 comments Download
M cc/layers/layer_impl.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +0 lines, -4 lines 0 comments Download
M cc/layers/layer_impl.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +0 lines, -11 lines 0 comments Download
M cc/layers/layer_impl_unittest.cc View 1 2 3 4 5 6 4 chunks +2 lines, -8 lines 0 comments Download
M cc/layers/render_surface_impl.cc View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M cc/output/filter_operation.h View 1 2 3 4 5 6 7 chunks +28 lines, -0 lines 0 comments Download
M cc/output/filter_operation.cc View 1 2 3 4 5 6 7 8 9 10 7 chunks +53 lines, -0 lines 0 comments Download
M cc/output/filter_operations.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M cc/output/filter_operations.cc View 1 2 3 4 5 6 7 8 9 4 chunks +20 lines, -3 lines 0 comments Download
M cc/output/filter_operations_unittest.cc View 1 2 3 4 5 6 2 chunks +41 lines, -0 lines 0 comments Download
M cc/output/gl_renderer.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +24 lines, -18 lines 0 comments Download
M cc/output/gl_renderer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 10 chunks +11 lines, -9 lines 0 comments Download
M cc/output/render_surface_filters.h View 1 2 2 chunks +6 lines, -0 lines 0 comments Download
M cc/output/render_surface_filters.cc View 1 2 3 4 5 6 7 8 5 chunks +126 lines, -0 lines 0 comments Download
M cc/output/renderer_pixeltest.cc View 1 2 3 4 5 6 7 8 9 10 6 chunks +6 lines, -6 lines 0 comments Download
M cc/output/software_renderer.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +9 lines, -3 lines 0 comments Download
M cc/quads/draw_quad_unittest.cc View 1 2 3 4 5 6 7 8 9 10 5 chunks +21 lines, -12 lines 0 comments Download
M cc/quads/render_pass_draw_quad.h View 1 2 3 chunks +1 line, -6 lines 0 comments Download
M cc/quads/render_pass_draw_quad.cc View 1 2 3 4 5 5 chunks +1 line, -7 lines 0 comments Download
M cc/test/render_pass_test_common.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +0 lines, -2 lines 0 comments Download
M cc/test/render_pass_test_utils.h View 1 2 3 4 5 6 2 chunks +2 lines, -1 line 0 comments Download
M cc/test/render_pass_test_utils.cc View 1 2 3 4 5 6 2 chunks +4 lines, -5 lines 0 comments Download
M cc/trees/damage_tracker.h View 1 2 1 chunk +1 line, -2 lines 0 comments Download
M cc/trees/damage_tracker.cc View 1 2 2 chunks +4 lines, -5 lines 0 comments Download
M cc/trees/damage_tracker_unittest.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +5 lines, -5 lines 0 comments Download
M cc/trees/layer_tree_host_common.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +3 lines, -3 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -2 lines 0 comments Download
M cc/trees/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -1 line 0 comments Download
M cc/trees/layer_tree_host_pixeltest_filters.cc View 1 2 3 1 chunk +3 lines, -1 line 0 comments Download
M cc/trees/layer_tree_host_unittest_delegated.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -1 line 0 comments Download
M cc/trees/occlusion_tracker.cc View 1 2 3 4 5 6 1 chunk +1 line, -4 lines 0 comments Download
M content/common/cc_messages.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -1 line 0 comments Download
M content/common/cc_messages.cc View 1 2 3 4 5 6 3 chunks +16 lines, -0 lines 0 comments Download
M content/common/cc_messages_unittest.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +14 lines, -9 lines 0 comments Download
M webkit/renderer/compositor_bindings/web_filter_operations_impl.h View 1 chunk +1 line, -0 lines 0 comments Download
M webkit/renderer/compositor_bindings/web_filter_operations_impl.cc View 2 chunks +7 lines, -0 lines 0 comments Download
M webkit/renderer/compositor_bindings/web_layer_impl.cc View 1 2 3 4 1 chunk +7 lines, -1 line 0 comments Download

Messages

Total messages: 40 (0 generated)
ajuma
senorblanco@, PTAL. This isn't in landable shape yet (e.g. I still need to add tests), ...
7 years, 4 months ago (2013-07-31 18:40:37 UTC) #1
Stephen White
This looks like a good start. I'd do the Skia change first, as noted below. ...
7 years, 4 months ago (2013-07-31 19:18:51 UTC) #2
ajuma
senorblanco@, PTAL. This now also removes cc::Layer::SetFilter (and, until the Blink side of this lands, ...
7 years, 3 months ago (2013-09-09 17:35:35 UTC) #3
Stephen White
LGTM, but compositor folks should look at this too. https://chromiumcodereview.appspot.com/21154002/diff/30001/cc/output/software_renderer.cc File cc/output/software_renderer.cc (right): https://chromiumcodereview.appspot.com/21154002/diff/30001/cc/output/software_renderer.cc#newcode437 cc/output/software_renderer.cc:437: ...
7 years, 3 months ago (2013-09-09 18:51:01 UTC) #4
danakj
https://chromiumcodereview.appspot.com/21154002/diff/30001/cc/layers/layer_impl_unittest.cc File cc/layers/layer_impl_unittest.cc (right): https://chromiumcodereview.appspot.com/21154002/diff/30001/cc/layers/layer_impl_unittest.cc#newcode269 cc/layers/layer_impl_unittest.cc:269: VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(FilterOperations())); This should be a non-empty filter ops. How ...
7 years, 3 months ago (2013-09-09 22:04:49 UTC) #5
piman
https://chromiumcodereview.appspot.com/21154002/diff/30001/content/common/cc_messages.cc File content/common/cc_messages.cc (right): https://chromiumcodereview.appspot.com/21154002/diff/30001/content/common/cc_messages.cc#newcode49 content/common/cc_messages.cc:49: switches::kAllowFiltersOverIPC)) nit: we already test the flag in ParamTraits<SkImageFilter>, ...
7 years, 3 months ago (2013-09-09 23:29:14 UTC) #6
ajuma
Thanks for the review! https://chromiumcodereview.appspot.com/21154002/diff/30001/cc/layers/layer_impl_unittest.cc File cc/layers/layer_impl_unittest.cc (right): https://chromiumcodereview.appspot.com/21154002/diff/30001/cc/layers/layer_impl_unittest.cc#newcode269 cc/layers/layer_impl_unittest.cc:269: VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(root->SetFilters(FilterOperations())); On 2013/09/09 22:04:50, danakj ...
7 years, 3 months ago (2013-09-10 21:17:58 UTC) #7
danakj
https://chromiumcodereview.appspot.com/21154002/diff/30001/cc/output/software_renderer.cc File cc/output/software_renderer.cc (right): https://chromiumcodereview.appspot.com/21154002/diff/30001/cc/output/software_renderer.cc#newcode437 cc/output/software_renderer.cc:437: if (quad->filters.HasReferenceFilter()) { On 2013/09/10 21:17:58, ajuma wrote: > ...
7 years, 3 months ago (2013-09-10 21:22:38 UTC) #8
ajuma
On 2013/09/10 21:22:38, danakj wrote: > https://chromiumcodereview.appspot.com/21154002/diff/30001/cc/output/software_renderer.cc > File cc/output/software_renderer.cc (right): > > https://chromiumcodereview.appspot.com/21154002/diff/30001/cc/output/software_renderer.cc#newcode437 > ...
7 years, 3 months ago (2013-09-10 21:30:18 UTC) #9
ajuma
> On 2013/09/10 21:22:38, danakj wrote: > > Do you know how the foreground filter ...
7 years, 3 months ago (2013-09-10 21:48:12 UTC) #10
danakj
On Tue, Sep 10, 2013 at 5:30 PM, <ajuma@chromium.org> wrote: > On 2013/09/10 21:22:38, danakj ...
7 years, 3 months ago (2013-09-10 22:05:07 UTC) #11
danakj
On Tue, Sep 10, 2013 at 6:04 PM, Dana Jansens <danakj@chromium.org> wrote: > On Tue, ...
7 years, 3 months ago (2013-09-10 22:06:01 UTC) #12
ajuma
On 2013/09/10 22:06:01, danakj wrote: > On Tue, Sep 10, 2013 at 6:04 PM, Dana ...
7 years, 3 months ago (2013-09-10 23:10:45 UTC) #13
piman
LGTM for the content bits.
7 years, 3 months ago (2013-09-11 00:03:56 UTC) #14
ajuma
On 2013/09/10 22:05:07, danakj wrote: > Huh weird, thanks for investigating. Ok then I think ...
7 years, 3 months ago (2013-09-11 16:02:22 UTC) #15
danakj
Thanks, LGTM https://chromiumcodereview.appspot.com/21154002/diff/81001/cc/output/render_surface_filters.cc File cc/output/render_surface_filters.cc (right): https://chromiumcodereview.appspot.com/21154002/diff/81001/cc/output/render_surface_filters.cc#newcode579 cc/output/render_surface_filters.cc:579: } else if (image_filter.get()) { nit: don't ...
7 years, 3 months ago (2013-09-11 17:33:09 UTC) #16
ajuma
+cevans for content/common/cc_messsages.h +enne for webkit/renderer/compositor_bindings https://codereview.chromium.org/21154002/diff/81001/cc/output/render_surface_filters.cc File cc/output/render_surface_filters.cc (right): https://codereview.chromium.org/21154002/diff/81001/cc/output/render_surface_filters.cc#newcode579 cc/output/render_surface_filters.cc:579: } else if ...
7 years, 3 months ago (2013-09-11 17:41:30 UTC) #17
Stephen White
https://codereview.chromium.org/21154002/diff/75001/cc/trees/layer_tree_host_common.cc File cc/trees/layer_tree_host_common.cc (right): https://codereview.chromium.org/21154002/diff/75001/cc/trees/layer_tree_host_common.cc#newcode1550 cc/trees/layer_tree_host_common.cc:1550: if (layer->filters().HasReferenceFilter() || It occurs to me that HasFilterThatMovesPixels() ...
7 years, 3 months ago (2013-09-11 17:56:24 UTC) #18
enne (OOO)
lgtm https://codereview.chromium.org/21154002/diff/75001/cc/output/filter_operations.cc File cc/output/filter_operations.cc (right): https://codereview.chromium.org/21154002/diff/75001/cc/output/filter_operations.cc#newcode89 cc/output/filter_operations.cc:89: DCHECK(op.type() != FilterOperation::REFERENCE); This is a little awkward ...
7 years, 3 months ago (2013-09-11 17:57:23 UTC) #19
danakj
https://codereview.chromium.org/21154002/diff/75001/cc/trees/layer_tree_host_common.cc File cc/trees/layer_tree_host_common.cc (right): https://codereview.chromium.org/21154002/diff/75001/cc/trees/layer_tree_host_common.cc#newcode1550 cc/trees/layer_tree_host_common.cc:1550: if (layer->filters().HasReferenceFilter() || On 2013/09/11 17:56:25, Stephen White wrote: ...
7 years, 3 months ago (2013-09-11 18:01:16 UTC) #20
danakj
https://codereview.chromium.org/21154002/diff/75001/cc/output/filter_operations.cc File cc/output/filter_operations.cc (right): https://codereview.chromium.org/21154002/diff/75001/cc/output/filter_operations.cc#newcode89 cc/output/filter_operations.cc:89: DCHECK(op.type() != FilterOperation::REFERENCE); On 2013/09/11 17:57:24, enne wrote: > ...
7 years, 3 months ago (2013-09-11 18:01:54 UTC) #21
danakj
https://codereview.chromium.org/21154002/diff/75001/cc/output/gl_renderer.cc File cc/output/gl_renderer.cc (right): https://codereview.chromium.org/21154002/diff/75001/cc/output/gl_renderer.cc#newcode788 cc/output/gl_renderer.cc:788: { On 2013/09/11 17:57:24, enne wrote: > style nit: ...
7 years, 3 months ago (2013-09-11 18:02:46 UTC) #22
Stephen White
https://codereview.chromium.org/21154002/diff/75001/cc/trees/layer_tree_host_common.cc File cc/trees/layer_tree_host_common.cc (right): https://codereview.chromium.org/21154002/diff/75001/cc/trees/layer_tree_host_common.cc#newcode1550 cc/trees/layer_tree_host_common.cc:1550: if (layer->filters().HasReferenceFilter() || On 2013/09/11 18:01:16, danakj wrote: > ...
7 years, 3 months ago (2013-09-11 18:04:19 UTC) #23
enne (OOO)
https://codereview.chromium.org/21154002/diff/75001/cc/output/filter_operations.cc File cc/output/filter_operations.cc (right): https://codereview.chromium.org/21154002/diff/75001/cc/output/filter_operations.cc#newcode89 cc/output/filter_operations.cc:89: DCHECK(op.type() != FilterOperation::REFERENCE); On 2013/09/11 18:01:55, danakj wrote: > ...
7 years, 3 months ago (2013-09-11 18:06:32 UTC) #24
danakj
https://codereview.chromium.org/21154002/diff/75001/cc/output/filter_operations.cc File cc/output/filter_operations.cc (right): https://codereview.chromium.org/21154002/diff/75001/cc/output/filter_operations.cc#newcode89 cc/output/filter_operations.cc:89: DCHECK(op.type() != FilterOperation::REFERENCE); On 2013/09/11 18:06:33, enne wrote: > ...
7 years, 3 months ago (2013-09-11 18:18:16 UTC) #25
ajuma
https://codereview.chromium.org/21154002/diff/75001/cc/output/filter_operations.cc File cc/output/filter_operations.cc (right): https://codereview.chromium.org/21154002/diff/75001/cc/output/filter_operations.cc#newcode89 cc/output/filter_operations.cc:89: DCHECK(op.type() != FilterOperation::REFERENCE); On 2013/09/11 18:18:17, danakj wrote: > ...
7 years, 3 months ago (2013-09-11 18:24:56 UTC) #26
ajuma
cevans, PTAL at the removal of a field in content/common/cc_messages.h.
7 years, 3 months ago (2013-09-12 19:25:36 UTC) #27
ajuma
cevans@, friendly ping!
7 years, 3 months ago (2013-09-18 16:58:47 UTC) #28
ajuma
+palmer for removing a field in cc_messages.h
7 years, 3 months ago (2013-09-20 20:09:53 UTC) #29
palmer
IPC security LGTM
7 years, 2 months ago (2013-09-24 19:29:06 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ajuma@chromium.org/21154002/125001
7 years, 2 months ago (2013-09-24 22:00:09 UTC) #31
commit-bot: I haz the power
Retried try job too often on linux_chromeos for step(s) browser_tests, content_browsertests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_chromeos&number=157911
7 years, 2 months ago (2013-09-25 03:47:36 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ajuma@chromium.org/21154002/125001
7 years, 2 months ago (2013-09-25 12:49:41 UTC) #33
commit-bot: I haz the power
Retried try job too often on linux_aura for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_aura&number=81026
7 years, 2 months ago (2013-09-25 19:04:53 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ajuma@chromium.org/21154002/125001
7 years, 2 months ago (2013-09-25 19:13:33 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ajuma@chromium.org/21154002/125001
7 years, 2 months ago (2013-09-25 21:21:28 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ajuma@chromium.org/21154002/125001
7 years, 2 months ago (2013-09-25 22:29:07 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ajuma@chromium.org/21154002/125001
7 years, 2 months ago (2013-09-26 01:23:29 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ajuma@chromium.org/21154002/125001
7 years, 2 months ago (2013-09-26 02:00:38 UTC) #39
commit-bot: I haz the power
7 years, 2 months ago (2013-09-26 04:41:51 UTC) #40
Message was sent while issue was closed.
Change committed as 225329

Powered by Google App Engine
This is Rietveld 408576698