OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. | 2 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above | 8 * 1. Redistributions of source code must retain the above |
9 * copyright notice, this list of conditions and the following | 9 * copyright notice, this list of conditions and the following |
10 * disclaimer. | 10 * disclaimer. |
(...skipping 22 matching lines...) Expand all Loading... |
33 #include "core/dom/Element.h" | 33 #include "core/dom/Element.h" |
34 #include "core/fetch/DocumentResource.h" | 34 #include "core/fetch/DocumentResource.h" |
35 #include "platform/geometry/LayoutRect.h" | 35 #include "platform/geometry/LayoutRect.h" |
36 #include "platform/graphics/filters/FilterOperation.h" | 36 #include "platform/graphics/filters/FilterOperation.h" |
37 #include "wtf/HashMap.h" | 37 #include "wtf/HashMap.h" |
38 #include "wtf/PassRefPtr.h" | 38 #include "wtf/PassRefPtr.h" |
39 #include "wtf/RefPtr.h" | 39 #include "wtf/RefPtr.h" |
40 | 40 |
41 namespace blink { | 41 namespace blink { |
42 | 42 |
43 class FilterEffectRenderer; | 43 class FilterEffectBuilder; |
44 class FilterOperations; | 44 class FilterOperations; |
45 class DeprecatedPaintLayer; | 45 class DeprecatedPaintLayer; |
46 class DeprecatedPaintLayerFilterInfo; | 46 class DeprecatedPaintLayerFilterInfo; |
47 | 47 |
48 typedef HashMap<const DeprecatedPaintLayer*, DeprecatedPaintLayerFilterInfo*> De
precatedPaintLayerFilterInfoMap; | 48 typedef HashMap<const DeprecatedPaintLayer*, DeprecatedPaintLayerFilterInfo*> De
precatedPaintLayerFilterInfoMap; |
49 | 49 |
50 class DeprecatedPaintLayerFilterInfo final : public DocumentResourceClient { | 50 class DeprecatedPaintLayerFilterInfo final : public DocumentResourceClient { |
51 public: | 51 public: |
52 static DeprecatedPaintLayerFilterInfo* filterInfoForLayer(const DeprecatedPa
intLayer*); | 52 static DeprecatedPaintLayerFilterInfo* filterInfoForLayer(const DeprecatedPa
intLayer*); |
53 static DeprecatedPaintLayerFilterInfo* createFilterInfoForLayerIfNeeded(Depr
ecatedPaintLayer*); | 53 static DeprecatedPaintLayerFilterInfo* createFilterInfoForLayerIfNeeded(Depr
ecatedPaintLayer*); |
54 static void removeFilterInfoForLayer(DeprecatedPaintLayer*); | 54 static void removeFilterInfoForLayer(DeprecatedPaintLayer*); |
55 | 55 |
56 FilterEffectRenderer* renderer() const { return m_renderer.get(); } | 56 FilterEffectBuilder* builder() const { return m_builder.get(); } |
57 void setRenderer(PassRefPtrWillBeRawPtr<FilterEffectRenderer>); | 57 void setBuilder(PassRefPtrWillBeRawPtr<FilterEffectBuilder>); |
58 | 58 |
59 void updateReferenceFilterClients(const FilterOperations&); | 59 void updateReferenceFilterClients(const FilterOperations&); |
60 virtual void notifyFinished(Resource*) override; | 60 virtual void notifyFinished(Resource*) override; |
61 void removeReferenceFilterClients(); | 61 void removeReferenceFilterClients(); |
62 | 62 |
63 private: | 63 private: |
64 DeprecatedPaintLayerFilterInfo(DeprecatedPaintLayer*); | 64 DeprecatedPaintLayerFilterInfo(DeprecatedPaintLayer*); |
65 virtual ~DeprecatedPaintLayerFilterInfo(); | 65 virtual ~DeprecatedPaintLayerFilterInfo(); |
66 | 66 |
67 DeprecatedPaintLayer* m_layer; | 67 DeprecatedPaintLayer* m_layer; |
68 | 68 |
69 RefPtrWillBePersistent<FilterEffectRenderer> m_renderer; | 69 RefPtrWillBePersistent<FilterEffectBuilder> m_builder; |
70 | 70 |
71 static DeprecatedPaintLayerFilterInfoMap* s_filterMap; | 71 static DeprecatedPaintLayerFilterInfoMap* s_filterMap; |
72 WillBePersistentHeapVector<RefPtrWillBeMember<Element>> m_internalSVGReferen
ces; | 72 WillBePersistentHeapVector<RefPtrWillBeMember<Element>> m_internalSVGReferen
ces; |
73 Vector<ResourcePtr<DocumentResource>> m_externalSVGReferences; | 73 Vector<ResourcePtr<DocumentResource>> m_externalSVGReferences; |
74 }; | 74 }; |
75 | 75 |
76 } // namespace blink | 76 } // namespace blink |
77 | 77 |
78 | 78 |
79 #endif // DeprecatedPaintLayerFilterInfo_h | 79 #endif // DeprecatedPaintLayerFilterInfo_h |
OLD | NEW |