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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/filters/FilterEffect.h

Issue 2846593008: Proactively dispose image filters for SVG filter chains (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008 Alex Mathews <possessedpenguinbob@gmail.com> 2 * Copyright (C) 2008 Alex Mathews <possessedpenguinbob@gmail.com>
3 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> 3 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org>
4 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 4 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
5 * Copyright (C) 2013 Google Inc. All rights reserved. 5 * Copyright (C) 2013 Google Inc. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 }; 49 };
50 50
51 class PLATFORM_EXPORT FilterEffect 51 class PLATFORM_EXPORT FilterEffect
52 : public GarbageCollectedFinalized<FilterEffect> { 52 : public GarbageCollectedFinalized<FilterEffect> {
53 WTF_MAKE_NONCOPYABLE(FilterEffect); 53 WTF_MAKE_NONCOPYABLE(FilterEffect);
54 54
55 public: 55 public:
56 virtual ~FilterEffect(); 56 virtual ~FilterEffect();
57 DECLARE_VIRTUAL_TRACE(); 57 DECLARE_VIRTUAL_TRACE();
58 58
59 void ClearResult(); 59 void DisposeImageFilters();
60 void DisposeImageFiltersRecursive();
60 61
61 FilterEffectVector& InputEffects() { return input_effects_; } 62 FilterEffectVector& InputEffects() { return input_effects_; }
62 FilterEffect* InputEffect(unsigned) const; 63 FilterEffect* InputEffect(unsigned) const;
63 unsigned NumberOfEffectInputs() const { return input_effects_.size(); } 64 unsigned NumberOfEffectInputs() const { return input_effects_.size(); }
64 65
65 inline bool HasImageFilter() const { 66 inline bool HasImageFilter() const {
66 return image_filters_[0] || image_filters_[1] || image_filters_[2] || 67 return image_filters_[0] || image_filters_[1] || image_filters_[2] ||
67 image_filters_[3]; 68 image_filters_[3];
68 } 69 }
69 70
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 bool origin_tainted_; 161 bool origin_tainted_;
161 162
162 ColorSpace operating_color_space_; 163 ColorSpace operating_color_space_;
163 164
164 sk_sp<SkImageFilter> image_filters_[4]; 165 sk_sp<SkImageFilter> image_filters_[4];
165 }; 166 };
166 167
167 } // namespace blink 168 } // namespace blink
168 169
169 #endif // FilterEffect_h 170 #endif // FilterEffect_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698