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

Issue 311443003: Allow SkPictureImageFilter to be serialized when not run cross-process. (Closed)

Created:
6 years, 6 months ago by Stephen White
Modified:
6 years, 6 months ago
Reviewers:
sugoi, Justin Novosad
CC:
skia-review_googlegroups.com, sugoi1
Visibility:
Public.

Description

Allow SkPictureImageFilter to be serialized when not run cross-process. Picture serialization is not yet hardened, but it turns out we do need serialization of SkPictureImageFilter for deferred SVG-on-SVG filters, since the SkPaints (and thus the SkImageFilters) are serialized by SkPictureRecord. However, deferred filters are always drawn in the same process, so we can safely serialize them in this case. We do this by turning the compile-time check for SK_ALLOW_PICTUREIMAGEFILTER_SERIALIZATION to a runtime check for isCrossProcess(). The image filter fuzzer sample was also modified to enable fuzzing of basic picture image filters (the code had rotted a bit, being behind an #ifdef that no one sets). BUG=375162 R=sugoi@google.com Committed: https://code.google.com/p/skia/source/detail?r=15008

Patch Set 1 #

Total comments: 3

Patch Set 2 : Tweak the test a bit #

Patch Set 3 : Fix fuzzer to actually use the created picture #

Patch Set 4 : Fail validation early if handed an SkPicture in cross-process mode #

Patch Set 5 : Fix comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+82 lines, -24 lines) Patch
M samplecode/SampleFilterFuzz.cpp View 1 2 4 chunks +7 lines, -10 lines 0 comments Download
M src/effects/SkPictureImageFilter.cpp View 1 2 3 4 1 chunk +14 lines, -14 lines 0 comments Download
M tests/ImageFilterTest.cpp View 1 2 3 4 2 chunks +61 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Stephen White
PTAL. Thanks!
6 years, 6 months ago (2014-05-30 19:14:54 UTC) #1
sugoi
https://codereview.chromium.org/311443003/diff/1/samplecode/SampleFilterFuzz.cpp File samplecode/SampleFilterFuzz.cpp (right): https://codereview.chromium.org/311443003/diff/1/samplecode/SampleFilterFuzz.cpp#newcode386 samplecode/SampleFilterFuzz.cpp:386: recorder.endRecording(); missing "pict = " ? https://codereview.chromium.org/311443003/diff/1/src/effects/SkPictureImageFilter.cpp File src/effects/SkPictureImageFilter.cpp ...
6 years, 6 months ago (2014-05-30 20:24:45 UTC) #2
Stephen White
On 2014/05/30 20:24:45, sugoi wrote: > https://codereview.chromium.org/311443003/diff/1/samplecode/SampleFilterFuzz.cpp > File samplecode/SampleFilterFuzz.cpp (right): > > https://codereview.chromium.org/311443003/diff/1/samplecode/SampleFilterFuzz.cpp#newcode386 > ...
6 years, 6 months ago (2014-05-30 20:32:37 UTC) #3
sugoi
LGTM
6 years, 6 months ago (2014-05-30 20:36:22 UTC) #4
Stephen White
6 years, 6 months ago (2014-05-30 20:51:00 UTC) #5
Message was sent while issue was closed.
Committed patchset #5 manually as r15008 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698