diff options
author | halcanary <halcanary@google.com> | 2016-04-01 11:43:39 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-04-01 11:43:39 -0700 |
commit | 389666bf1fed53a92b8c320157ee5fc0d5173552 (patch) | |
tree | 268adc7cb76ecc336a43bf8d2fa48aa36a80de98 /src/pdf/SkPDFShader.cpp | |
parent | f624204300d8cd3b2cdb933b144980ff56852d42 (diff) |
SkPDF: PDFShader does not hold images/bitmaps
motivation: measurable memory savings.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1851123002
Review URL: https://codereview.chromium.org/1851123002
Diffstat (limited to 'src/pdf/SkPDFShader.cpp')
-rw-r--r-- | src/pdf/SkPDFShader.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/pdf/SkPDFShader.cpp b/src/pdf/SkPDFShader.cpp index 5dd94e2c68..abcae7be12 100644 --- a/src/pdf/SkPDFShader.cpp +++ b/src/pdf/SkPDFShader.cpp @@ -452,7 +452,9 @@ private: //////////////////////////////////////////////////////////////////////////////// SkPDFFunctionShader::SkPDFFunctionShader(SkPDFShader::State* state) - : SkPDFDict("Pattern"), fShaderState(state) {} + : SkPDFDict("Pattern"), fShaderState(state) { + state->fImage.reset(); +} SkPDFFunctionShader::~SkPDFFunctionShader() {} @@ -463,7 +465,9 @@ bool SkPDFFunctionShader::equals(const SkPDFShader::State& state) const { //////////////////////////////////////////////////////////////////////////////// SkPDFAlphaFunctionShader::SkPDFAlphaFunctionShader(SkPDFShader::State* state) - : fShaderState(state) {} + : fShaderState(state) { + state->fImage.reset(); +} bool SkPDFAlphaFunctionShader::equals(const SkPDFShader::State& state) const { return state == *fShaderState; @@ -474,7 +478,9 @@ SkPDFAlphaFunctionShader::~SkPDFAlphaFunctionShader() {} //////////////////////////////////////////////////////////////////////////////// SkPDFImageShader::SkPDFImageShader(SkPDFShader::State* state) - : fShaderState(state) {} + : fShaderState(state) { + state->fImage.reset(); +} bool SkPDFImageShader::equals(const SkPDFShader::State& state) const { return state == *fShaderState; |