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

Unified Diff: Source/WebCore/rendering/svg/ReferenceFilterRenderer.h

Issue 13984002: Extracting the SVG Filter Reference implementation out of the FilterEffectRenderer into its own typ… Base URL: https://chromium.googlesource.com/chromium/blink@master
Patch Set: Removed the changes in SkiaImageFilterBuilder.cpp Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: Source/WebCore/rendering/svg/ReferenceFilterRenderer.h
diff --git a/Source/WebCore/rendering/style/StyleCustomFilterProgram.cpp b/Source/WebCore/rendering/svg/ReferenceFilterRenderer.h
similarity index 62%
copy from Source/WebCore/rendering/style/StyleCustomFilterProgram.cpp
copy to Source/WebCore/rendering/svg/ReferenceFilterRenderer.h
index 5f4012f3f8a40627a9ffc311bac53d7e9140164c..402c03f4aa9bb5857eb921c8360237e5bf182c9a 100644
--- a/Source/WebCore/rendering/style/StyleCustomFilterProgram.cpp
+++ b/Source/WebCore/rendering/svg/ReferenceFilterRenderer.h
@@ -27,23 +27,38 @@
* SUCH DAMAGE.
*/
-#include "config.h"
+#ifndef ReferenceFilterRenderer_h
+#define ReferenceFilterRenderer_h
-#if ENABLE(CSS_SHADERS)
+#include "Filter.h"
+#include "FilterEffect.h"
+#include "FloatRect.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
-#include "StyleCustomFilterProgram.h"
+namespace WebCore {
-#include "StyleCustomFilterProgramCache.h"
+class ReferenceFilterOperation;
+class RenderObject;
-namespace WebCore {
+class ReferenceFilterRenderer: public Filter {
Stephen White 2013/04/10 22:19:38 I don't mind the Reference part, but the "Renderer
achicu 2013/04/16 22:11:16 That sounds fine. Will do.
+public:
+ static PassRefPtr<ReferenceFilterRenderer> create() { return adoptRef(new ReferenceFilterRenderer()); }
-StyleCustomFilterProgram::~StyleCustomFilterProgram()
-{
- if (m_cache)
- m_cache->remove(this);
-}
+ virtual FloatRect sourceImageRect() const { return FloatRect(); };
+ virtual FloatRect filterRegion() const { return FloatRect(); }
+
+ static void computeFilter(RenderObject*, ReferenceFilterOperation*);
Stephen White 2013/04/10 22:19:38 It's a personal pet peeve of mine, but on a comput
achicu 2013/04/16 22:11:16 What about simply "create"?
-} // namespace WebCore
+private:
+ ReferenceFilterRenderer();
+ ~ReferenceFilterRenderer();
-#endif // ENABLE(CSS_SHADERS)
+ PassRefPtr<FilterEffect> build(RenderObject* renderer, ReferenceFilterOperation*);
+
+ FilterEffectList m_effects;
+};
+
+}
+#endif // ReferenceFilterRenderer_h

Powered by Google App Engine
This is Rietveld 408576698