OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> | 4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> |
5 * Copyright (C) 2010 Dirk Schulze <krit@webkit.org> | 5 * Copyright (C) 2010 Dirk Schulze <krit@webkit.org> |
6 * Copyright (C) 2013 Google Inc. All rights reserved. | 6 * Copyright (C) 2013 Google Inc. All rights reserved. |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 17 matching lines...) Expand all Loading... |
28 #include "core/svg/SVGPreserveAspectRatio.h" | 28 #include "core/svg/SVGPreserveAspectRatio.h" |
29 #include "platform/graphics/filters/FilterEffect.h" | 29 #include "platform/graphics/filters/FilterEffect.h" |
30 | 30 |
31 namespace blink { | 31 namespace blink { |
32 | 32 |
33 class Image; | 33 class Image; |
34 class RenderObject; | 34 class RenderObject; |
35 | 35 |
36 class FEImage final : public FilterEffect { | 36 class FEImage final : public FilterEffect { |
37 public: | 37 public: |
38 static PassRefPtr<FEImage> createWithImage(Filter*, PassRefPtr<Image>, PassR
efPtr<SVGPreserveAspectRatio>); | 38 static PassRefPtrWillBeRawPtr<FEImage> createWithImage(Filter*, PassRefPtr<I
mage>, PassRefPtrWillBeRawPtr<SVGPreserveAspectRatio>); |
39 static PassRefPtr<FEImage> createWithIRIReference(Filter*, TreeScope&, const
String&, PassRefPtr<SVGPreserveAspectRatio>); | 39 static PassRefPtrWillBeRawPtr<FEImage> createWithIRIReference(Filter*, TreeS
cope&, const String&, PassRefPtrWillBeRawPtr<SVGPreserveAspectRatio>); |
40 | 40 |
41 virtual FloatRect determineAbsolutePaintRect(const FloatRect& requestedRect)
override; | 41 virtual FloatRect determineAbsolutePaintRect(const FloatRect& requestedRect)
override; |
42 | 42 |
43 virtual FilterEffectType filterEffectType() const override { return FilterEf
fectTypeImage; } | 43 virtual FilterEffectType filterEffectType() const override { return FilterEf
fectTypeImage; } |
44 | 44 |
45 virtual TextStream& externalRepresentation(TextStream&, int indention) const
override; | 45 virtual TextStream& externalRepresentation(TextStream&, int indention) const
override; |
46 virtual PassRefPtr<SkImageFilter> createImageFilter(SkiaImageFilterBuilder*)
override; | 46 virtual PassRefPtr<SkImageFilter> createImageFilter(SkiaImageFilterBuilder*)
override; |
47 | 47 |
| 48 virtual void trace(Visitor*) override; |
| 49 |
48 private: | 50 private: |
49 virtual ~FEImage() { } | 51 virtual ~FEImage() { } |
50 FEImage(Filter*, PassRefPtr<Image>, PassRefPtr<SVGPreserveAspectRatio>); | 52 FEImage(Filter*, PassRefPtr<Image>, PassRefPtrWillBeRawPtr<SVGPreserveAspect
Ratio>); |
51 FEImage(Filter*, TreeScope&, const String&, PassRefPtr<SVGPreserveAspectRati
o>); | 53 FEImage(Filter*, TreeScope&, const String&, PassRefPtrWillBeRawPtr<SVGPreser
veAspectRatio>); |
52 RenderObject* referencedRenderer() const; | 54 RenderObject* referencedRenderer() const; |
53 | 55 |
54 PassRefPtr<SkImageFilter> createImageFilterForRenderer(RenderObject* rendere
rer, SkiaImageFilterBuilder*); | 56 PassRefPtr<SkImageFilter> createImageFilterForRenderer(RenderObject* rendere
rer, SkiaImageFilterBuilder*); |
55 | 57 |
56 RefPtr<Image> m_image; | 58 RefPtr<Image> m_image; |
57 | 59 |
58 // m_treeScope will never be a dangling reference. See https://bugs.webkit.o
rg/show_bug.cgi?id=99243 | 60 // m_treeScope will never be a dangling reference. See https://bugs.webkit.o
rg/show_bug.cgi?id=99243 |
| 61 // FIXME: Oilpan: turn into a (weak) member? |
59 TreeScope* m_treeScope; | 62 TreeScope* m_treeScope; |
60 String m_href; | 63 String m_href; |
61 PassRefPtr<SVGPreserveAspectRatio> m_preserveAspectRatio; | 64 RefPtrWillBeMember<SVGPreserveAspectRatio> m_preserveAspectRatio; |
62 }; | 65 }; |
63 | 66 |
64 } // namespace blink | 67 } // namespace blink |
65 | 68 |
66 #endif // SVGFEImage_h | 69 #endif // SVGFEImage_h |
OLD | NEW |