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

Unified Diff: Source/core/rendering/svg/RenderSVGResourceMarker.cpp

Issue 23785014: [SVG] Resources should be laid out in dependecy order. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Set #3 rebased. Created 7 years, 3 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/RenderSVGResourceMarker.cpp
diff --git a/Source/core/rendering/svg/RenderSVGResourceMarker.cpp b/Source/core/rendering/svg/RenderSVGResourceMarker.cpp
index 4b5652280b96b76445f77b20fb20475a71a828d5..4d22a922f76228acc3916a4016dfa6ea80e19b35 100644
--- a/Source/core/rendering/svg/RenderSVGResourceMarker.cpp
+++ b/Source/core/rendering/svg/RenderSVGResourceMarker.cpp
@@ -25,11 +25,12 @@
#include "core/platform/graphics/GraphicsContextStateSaver.h"
#include "core/rendering/svg/RenderSVGContainer.h"
-#include "core/rendering/svg/RenderSVGRoot.h"
#include "core/rendering/svg/SVGRenderSupport.h"
#include "core/svg/SVGElement.h"
#include "core/svg/SVGMarkerElement.h"
+#include "wtf/TemporaryChange.h"
+
namespace WebCore {
RenderSVGResourceType RenderSVGResourceMarker::s_resourceType = MarkerResourceType;
@@ -45,9 +46,14 @@ RenderSVGResourceMarker::~RenderSVGResourceMarker()
void RenderSVGResourceMarker::layout()
{
+ if (!needsLayout() || m_isInLayout)
pdr. 2013/09/23 22:26:02 Ditto on asserts
+ return;
+
+ TemporaryChange<bool> inLayoutChange(m_isInLayout, true);
+
// Invalidate all resources if our layout changed.
if (everHadLayout() && selfNeedsLayout())
- RenderSVGRoot::addResourceForClientInvalidation(this);
+ removeAllClientsFromCache();
// RenderSVGHiddenContainer overwrites layout(). We need the
// layouting of RenderSVGContainer for calculating local

Powered by Google App Engine
This is Rietveld 408576698