Index: src/core/SkPictureShader.cpp |
diff --git a/src/core/SkPictureShader.cpp b/src/core/SkPictureShader.cpp |
index bbac9ed1146b32f0074caa86316c42eb5d1b83af..4b0adeb8140a54b91e5820d979279b624ba28fc7 100644 |
--- a/src/core/SkPictureShader.cpp |
+++ b/src/core/SkPictureShader.cpp |
@@ -123,8 +123,6 @@ SkShader* SkPictureShader::Create(const SkPicture* picture, TileMode tmx, TileMo |
return SkNEW_ARGS(SkPictureShader, (picture, tmx, tmy, localMatrix, tile)); |
} |
-// TODO: rename SK_DISALLOW_CROSSPROCESS_PICTUREIMAGEFILTERS to SK_DISALLOW_CROSSPROCESS_PICTURES |
- |
SkFlattenable* SkPictureShader::CreateProc(SkReadBuffer& buffer) { |
SkMatrix lm; |
buffer.readMatrix(&lm); |
@@ -134,8 +132,8 @@ SkFlattenable* SkPictureShader::CreateProc(SkReadBuffer& buffer) { |
buffer.readRect(&tile); |
SkAutoTUnref<SkPicture> picture; |
-#ifdef SK_DISALLOW_CROSSPROCESS_PICTUREIMAGEFILTERS |
- if (buffer.isCrossProcess()) { |
+ |
+ if (buffer.isCrossProcess() && SkPicture::PictureIOSecurityPrecautionsEnabled()) { |
if (buffer.isVersionLT(SkReadBuffer::kPictureShaderHasPictureBool_Version)) { |
// Older code blindly serialized pictures. We don't trust them. |
buffer.validate(false); |
@@ -144,9 +142,7 @@ SkFlattenable* SkPictureShader::CreateProc(SkReadBuffer& buffer) { |
// Newer code won't serialize pictures in disallow-cross-process-picture mode. |
// Assert that they didn't serialize anything except a false here. |
buffer.validate(!buffer.readBool()); |
- } else |
-#endif |
- { |
+ } else { |
// Old code always serialized the picture. New code writes a 'true' first if it did. |
if (buffer.isVersionLT(SkReadBuffer::kPictureShaderHasPictureBool_Version) || |
buffer.readBool()) { |
@@ -162,14 +158,11 @@ void SkPictureShader::flatten(SkWriteBuffer& buffer) const { |
buffer.write32(fTmy); |
buffer.writeRect(fTile); |
-#ifdef SK_DISALLOW_CROSSPROCESS_PICTUREIMAGEFILTERS |
// The deserialization code won't trust that our serialized picture is safe to deserialize. |
// So write a 'false' telling it that we're not serializing a picture. |
- if (buffer.isCrossProcess()) { |
+ if (buffer.isCrossProcess() && SkPicture::PictureIOSecurityPrecautionsEnabled()) { |
buffer.writeBool(false); |
- } else |
-#endif |
- { |
+ } else { |
buffer.writeBool(true); |
fPicture->flatten(buffer); |
} |