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

Side by Side Diff: Source/core/rendering/svg/RenderSVGGradientStop.cpp

Issue 236203020: Separate repaint and layout requirements of StyleDifference (Step 1) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase, Fix break Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007 Eric Seidel <eric@webkit.org> 2 * Copyright (C) 2007 Eric Seidel <eric@webkit.org>
3 * 3 *
4 * This library is free software; you can redistribute it and/or 4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public 5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version. 7 * version 2 of the License, or (at your option) any later version.
8 * 8 *
9 * This library is distributed in the hope that it will be useful, 9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 24 matching lines...) Expand all
35 { 35 {
36 } 36 }
37 37
38 RenderSVGGradientStop::~RenderSVGGradientStop() 38 RenderSVGGradientStop::~RenderSVGGradientStop()
39 { 39 {
40 } 40 }
41 41
42 void RenderSVGGradientStop::styleDidChange(StyleDifference diff, const RenderSty le* oldStyle) 42 void RenderSVGGradientStop::styleDidChange(StyleDifference diff, const RenderSty le* oldStyle)
43 { 43 {
44 RenderObject::styleDidChange(diff, oldStyle); 44 RenderObject::styleDidChange(diff, oldStyle);
45 if (diff == StyleDifferenceEqual) 45 if (diff.hasNoChange())
46 return; 46 return;
47 47
48 // <stop> elements should only be allowed to make renderers under gradient e lements 48 // <stop> elements should only be allowed to make renderers under gradient e lements
49 // but I can imagine a few cases we might not be catching, so let's not cras h if our parent isn't a gradient. 49 // but I can imagine a few cases we might not be catching, so let's not cras h if our parent isn't a gradient.
50 SVGGradientElement* gradient = gradientElement(); 50 SVGGradientElement* gradient = gradientElement();
51 if (!gradient) 51 if (!gradient)
52 return; 52 return;
53 53
54 RenderObject* renderer = gradient->renderer(); 54 RenderObject* renderer = gradient->renderer();
55 if (!renderer) 55 if (!renderer)
56 return; 56 return;
57 57
58 RenderSVGResourceContainer* container = toRenderSVGResourceContainer(rendere r); 58 RenderSVGResourceContainer* container = toRenderSVGResourceContainer(rendere r);
59 container->removeAllClientsFromCache(); 59 container->removeAllClientsFromCache();
60 } 60 }
61 61
62 void RenderSVGGradientStop::layout() 62 void RenderSVGGradientStop::layout()
63 { 63 {
64 clearNeedsLayout(); 64 clearNeedsLayout();
65 } 65 }
66 66
67 SVGGradientElement* RenderSVGGradientStop::gradientElement() const 67 SVGGradientElement* RenderSVGGradientStop::gradientElement() const
68 { 68 {
69 ContainerNode* parentNode = node()->parentNode(); 69 ContainerNode* parentNode = node()->parentNode();
70 ASSERT(parentNode); 70 ASSERT(parentNode);
71 return isSVGGradientElement(*parentNode) ? toSVGGradientElement(parentNode) : 0; 71 return isSVGGradientElement(*parentNode) ? toSVGGradientElement(parentNode) : 0;
72 } 72 }
73 73
74 } 74 }
OLDNEW
« no previous file with comments | « Source/core/rendering/svg/RenderSVGBlock.cpp ('k') | Source/core/rendering/svg/RenderSVGInline.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698