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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 | 48 |
49 typedef HashMap<const PaintLayer*, PaintLayerFilterInfo*> PaintLayerFilterInfoMa
p; | 49 typedef HashMap<const PaintLayer*, PaintLayerFilterInfo*> PaintLayerFilterInfoMa
p; |
50 | 50 |
51 // PaintLayerFilterInfo holds the filter information for painting. | 51 // PaintLayerFilterInfo holds the filter information for painting. |
52 // https://drafts.fxtf.org/filters/ | 52 // https://drafts.fxtf.org/filters/ |
53 // | 53 // |
54 // Because PaintLayer is not allocated for SVG objects, SVG filters (both | 54 // Because PaintLayer is not allocated for SVG objects, SVG filters (both |
55 // software and hardware-accelerated) use a different code path to paint the | 55 // software and hardware-accelerated) use a different code path to paint the |
56 // filters (SVGFilterPainter), but both code paths use the same abstraction for | 56 // filters (SVGFilterPainter), but both code paths use the same abstraction for |
57 // painting non-hardware accelerated filters (FilterEffect). Hardware | 57 // painting non-hardware accelerated filters (FilterEffect). Hardware |
58 // accelerated CSS filters use WebFilterOperations, that is backed by cc. | 58 // accelerated CSS filters use CompositorFilterOperations, that is backed by cc. |
59 // | 59 // |
60 // PaintLayerFilterInfo is allocated when filters are present and stored in an | 60 // PaintLayerFilterInfo is allocated when filters are present and stored in an |
61 // internal map (s_filterMap) to save memory as 'filter' should be a rare | 61 // internal map (s_filterMap) to save memory as 'filter' should be a rare |
62 // property. | 62 // property. |
63 class PaintLayerFilterInfo final : public DocumentResourceClient { | 63 class PaintLayerFilterInfo final : public DocumentResourceClient { |
64 USING_FAST_MALLOC(PaintLayerFilterInfo); | 64 USING_FAST_MALLOC(PaintLayerFilterInfo); |
65 WTF_MAKE_NONCOPYABLE(PaintLayerFilterInfo); | 65 WTF_MAKE_NONCOPYABLE(PaintLayerFilterInfo); |
66 public: | 66 public: |
67 // Queries the PaintLayerFilterInfo for the associated PaintLayer. | 67 // Queries the PaintLayerFilterInfo for the associated PaintLayer. |
68 // The function returns nullptr if there is no associated | 68 // The function returns nullptr if there is no associated |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 | 103 |
104 // Same as m_internalSVGReferences, except that the reference belongs to a | 104 // Same as m_internalSVGReferences, except that the reference belongs to a |
105 // different document. | 105 // different document. |
106 Vector<ResourcePtr<DocumentResource>> m_externalSVGReferences; | 106 Vector<ResourcePtr<DocumentResource>> m_externalSVGReferences; |
107 }; | 107 }; |
108 | 108 |
109 } // namespace blink | 109 } // namespace blink |
110 | 110 |
111 | 111 |
112 #endif // PaintLayerFilterInfo_h | 112 #endif // PaintLayerFilterInfo_h |
OLD | NEW |