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

Unified Diff: Source/core/rendering/svg/RenderSVGResourceFilter.h

Issue 871983003: [Slimming Paint] Implement deferred SVG filters (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add note Created 5 years, 11 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/core/rendering/svg/RenderSVGResourceFilter.h
diff --git a/Source/core/rendering/svg/RenderSVGResourceFilter.h b/Source/core/rendering/svg/RenderSVGResourceFilter.h
index ff92d2dfd31f50f4dd01361447d3b97b61335249..c02f181cbe93fbdc9a65fef2420e3b0a005a7442 100644
--- a/Source/core/rendering/svg/RenderSVGResourceFilter.h
+++ b/Source/core/rendering/svg/RenderSVGResourceFilter.h
@@ -28,6 +28,8 @@
#include "core/svg/SVGFilterElement.h"
#include "core/svg/graphics/filters/SVGFilter.h"
#include "core/svg/graphics/filters/SVGFilterBuilder.h"
+#include "platform/graphics/GraphicsContext.h"
+#include "platform/graphics/paint/DisplayItemList.h"
namespace blink {
@@ -43,6 +45,8 @@ public:
RefPtrWillBeMember<SVGFilter> filter;
RefPtrWillBeMember<SVGFilterBuilder> builder;
+ OwnPtr<DisplayItemList> m_displayItemList;
+ OwnPtr<GraphicsContext> m_context;
FloatRect boundaries;
bool m_needToEndFilter;
@@ -51,8 +55,6 @@ private:
};
-class GraphicsContext;
-
class RenderSVGResourceFilter final : public RenderSVGResourceContainer {
public:
explicit RenderSVGResourceFilter(SVGFilterElement*);
@@ -69,7 +71,9 @@ public:
virtual void removeAllClientsFromCache(bool markForInvalidation = true) override;
virtual void removeClientFromCache(RenderObject*, bool markForInvalidation = true) override;
- bool prepareEffect(RenderObject*, GraphicsContext*);
+ // Returns the context that should be used to paint the filter contents, or
+ // null if there is an error.
+ GraphicsContext* prepareEffect(RenderObject*, GraphicsContext*);
void finishEffect(RenderObject*, GraphicsContext*);
FloatRect resourceBoundingBox(const RenderObject*);
« no previous file with comments | « LayoutTests/virtual/slimmingpaint/svg/filters/README.txt ('k') | Source/core/rendering/svg/RenderSVGResourceFilter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698