diff options
author | 2015-01-06 09:17:02 -0800 | |
---|---|---|
committer | 2015-01-06 09:17:02 -0800 | |
commit | c4bd39c903cc5da16f50d711063b01723b59281c (patch) | |
tree | 53ab81d241b34d49e0d617e6e0c19f17b4ed8c18 /src/effects/SkPictureImageFilter.cpp | |
parent | 3f4e045b4f8b97d189162d17c85b8410e083a3af (diff) |
Require explicit disabling of cross process pictureimagefilters
This is to allow capturing .skp files with their pictureimagefilters intact.
This is a companion to https://codereview.chromium.org/810933004/ (Provide a way of allowing cross process pictureimagefilters).
Review URL: https://codereview.chromium.org/834673006
Diffstat (limited to 'src/effects/SkPictureImageFilter.cpp')
-rw-r--r-- | src/effects/SkPictureImageFilter.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/effects/SkPictureImageFilter.cpp b/src/effects/SkPictureImageFilter.cpp index 37d86ce0d2..391af11169 100644 --- a/src/effects/SkPictureImageFilter.cpp +++ b/src/effects/SkPictureImageFilter.cpp @@ -39,12 +39,15 @@ SkFlattenable* SkPictureImageFilter::CreateProc(SkReadBuffer& buffer) { SkAutoTUnref<SkPicture> picture; SkRect cropRect; - if (!buffer.isCrossProcess()) { +#ifdef SK_DISALLOW_CROSSPROCESS_PICTUREIMAGEFILTERS + if (buffer.isCrossProcess()) { + buffer.validate(!buffer.readBool()); + } else +#endif + { if (buffer.readBool()) { picture.reset(SkPicture::CreateFromBuffer(buffer)); } - } else { - buffer.validate(!buffer.readBool()); } buffer.readRect(&cropRect); PictureResolution pictureResolution; @@ -68,14 +71,17 @@ SkFlattenable* SkPictureImageFilter::CreateProc(SkReadBuffer& buffer) { } void SkPictureImageFilter::flatten(SkWriteBuffer& buffer) const { - if (!buffer.isCrossProcess()) { +#ifdef SK_DISALLOW_CROSSPROCESS_PICTUREIMAGEFILTERS + if (buffer.isCrossProcess()) { + buffer.writeBool(false); + } else +#endif + { bool hasPicture = (fPicture != NULL); buffer.writeBool(hasPicture); if (hasPicture) { fPicture->flatten(buffer); } - } else { - buffer.writeBool(false); } buffer.writeRect(fCropRect); buffer.writeInt(fPictureResolution); |