From 0917fad2c6339b6452e6eb58d4a8485d291d8d43 Mon Sep 17 00:00:00 2001 From: Mike Reed Date: Tue, 19 Jun 2018 10:17:30 -0400 Subject: move imagefilters into separate dir and flag for build.gn Requires https://chromium-review.googlesource.com/c/chromium/src/+/1105062 Bug: skia: Change-Id: I948056234efa57c0f727a61d5fb3258034de5199 Reviewed-on: https://skia-review.googlesource.com/135566 Reviewed-by: Mike Klein Commit-Queue: Mike Reed --- src/ports/SkGlobalInitialization_default.cpp | 49 ------------------- ...SkGlobalInitialization_default_imagefilters.cpp | 57 ++++++++++++++++++++++ .../SkGlobalInitialization_none_imagefilters.cpp | 10 ++++ 3 files changed, 67 insertions(+), 49 deletions(-) create mode 100644 src/ports/SkGlobalInitialization_default_imagefilters.cpp create mode 100644 src/ports/SkGlobalInitialization_none_imagefilters.cpp (limited to 'src/ports') diff --git a/src/ports/SkGlobalInitialization_default.cpp b/src/ports/SkGlobalInitialization_default.cpp index 83a35acd4e..22aabc2314 100644 --- a/src/ports/SkGlobalInitialization_default.cpp +++ b/src/ports/SkGlobalInitialization_default.cpp @@ -7,48 +7,21 @@ #include "Sk1DPathEffect.h" #include "Sk2DPathEffect.h" -#include "SkAlphaThresholdFilter.h" -#include "SkBlurImageFilter.h" -#include "SkColorFilterImageFilter.h" #include "SkColorMatrixFilterRowMajor255.h" -#include "SkComposeImageFilter.h" #include "SkCornerPathEffect.h" #include "../../src/effects/SkDashImpl.h" #include "SkDiscretePathEffect.h" -#include "SkDisplacementMapEffect.h" -#include "SkDropShadowImageFilter.h" #include "../../src/effects/SkEmbossMaskFilter.h" #include "SkGradientShader.h" #include "SkHighContrastFilter.h" -#include "SkImageSource.h" #include "SkLayerDrawLooper.h" -#include "SkLightingImageFilter.h" -#include "SkLocalMatrixImageFilter.h" #include "SkLumaColorFilter.h" -#include "SkMagnifierImageFilter.h" -#include "SkMatrixConvolutionImageFilter.h" -#include "SkMergeImageFilter.h" -#include "SkMorphologyImageFilter.h" -#include "SkOffsetImageFilter.h" #include "SkOverdrawColorFilter.h" -#include "SkPaintImageFilter.h" #include "SkPerlinNoiseShader.h" -#include "SkPictureImageFilter.h" #include "SkShaderMaskFilter.h" #include "SkTableColorFilter.h" -#include "SkTileImageFilter.h" #include "SkToSRGBColorFilter.h" #include "../../src/effects/SkTrimPE.h" -#include "SkXfermodeImageFilter.h" - -// Security note: -// -// As new subclasses are added here, they should be reviewed by chrome security before they -// support deserializing cross-process: chrome-security@google.com. SampleFilterFuzz.cpp should -// also be amended to exercise the new subclass. -// -// See SkReadBuffer::isCrossProcess() and SkPicture::PictureIOSecurityPrecautionsEnabled() -// /* * None of these are strictly "required" for Skia to operate. @@ -71,7 +44,6 @@ void SkFlattenable::PrivateInitializer::InitEffects() { SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorMatrixFilterRowMajor255) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLumaColorFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkToSRGBColorFilter) - SkAlphaThresholdFilter::InitializeFlattenables(); SkTableColorFilter::InitializeFlattenables(); SkOverdrawColorFilter::InitializeFlattenables(); SkHighContrastFilter::InitializeFlattenables(); @@ -88,25 +60,4 @@ void SkFlattenable::PrivateInitializer::InitEffects() { SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLine2DPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPath2DPathEffect) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkTrimPE) - - // ImageFilter - SkImageFilter::InitializeFlattenables(); - SkArithmeticImageFilter::InitializeFlattenables(); - SkXfermodeImageFilter::InitializeFlattenables(); - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDilateImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDisplacementMapEffect) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDropShadowImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkErodeImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkImageSource) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLocalMatrixImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPaintImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPictureImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkTileImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMagnifierImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMatrixConvolutionImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkOffsetImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposeImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMergeImageFilter) - SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorFilterImageFilter) - SkLightingImageFilter::InitializeFlattenables(); } diff --git a/src/ports/SkGlobalInitialization_default_imagefilters.cpp b/src/ports/SkGlobalInitialization_default_imagefilters.cpp new file mode 100644 index 0000000000..5d731778e3 --- /dev/null +++ b/src/ports/SkGlobalInitialization_default_imagefilters.cpp @@ -0,0 +1,57 @@ +/* + * Copyright 2011 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "SkFlattenablePriv.h" +#include "SkAlphaThresholdFilter.h" +#include "SkBlurImageFilter.h" +#include "SkColorFilterImageFilter.h" +#include "SkComposeImageFilter.h" +#include "SkDisplacementMapEffect.h" +#include "SkDropShadowImageFilter.h" +#include "SkImageSource.h" +#include "SkLightingImageFilter.h" +#include "SkLocalMatrixImageFilter.h" +#include "SkMagnifierImageFilter.h" +#include "SkMatrixConvolutionImageFilter.h" +#include "SkMergeImageFilter.h" +#include "SkMorphologyImageFilter.h" +#include "SkOffsetImageFilter.h" +#include "SkPaintImageFilter.h" +#include "SkPictureImageFilter.h" +#include "SkTileImageFilter.h" +#include "SkXfermodeImageFilter.h" + +/* + * None of these are strictly "required" for Skia to operate. + * + * These are the bulk of our "effects" -- subclasses of various effects on SkPaint. + * + * Clients should feel free to dup this file and modify it as needed. This function "InitEffects" + * will automatically be called before any of skia's effects are asked to be deserialized. + */ +void SkFlattenable::PrivateInitializer::InitImageFilters() { + SkAlphaThresholdFilter::InitializeFlattenables(); + SkImageFilter::InitializeFlattenables(); + SkArithmeticImageFilter::InitializeFlattenables(); + SkXfermodeImageFilter::InitializeFlattenables(); + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDilateImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDisplacementMapEffect) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDropShadowImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkErodeImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkImageSource) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLocalMatrixImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPaintImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkPictureImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkTileImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMagnifierImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMatrixConvolutionImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkOffsetImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposeImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkMergeImageFilter) + SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorFilterImageFilter) + SkLightingImageFilter::InitializeFlattenables(); +} diff --git a/src/ports/SkGlobalInitialization_none_imagefilters.cpp b/src/ports/SkGlobalInitialization_none_imagefilters.cpp new file mode 100644 index 0000000000..c3b622fa1a --- /dev/null +++ b/src/ports/SkGlobalInitialization_none_imagefilters.cpp @@ -0,0 +1,10 @@ +/* + * Copyright 2017 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "SkFlattenable.h" + +void SkFlattenable::PrivateInitializer::InitImageFilters() {} -- cgit v1.2.3