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

Side by Side Diff: Source/core/rendering/svg/RenderSVGModelObject.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) 2009, Google Inc. All rights reserved. 2 * Copyright (c) 2009, Google Inc. 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 SVGRenderSupport::findTreeRootObject(this)->computeLayerHitTestRects(rects); 93 SVGRenderSupport::findTreeRootObject(this)->computeLayerHitTestRects(rects);
94 } 94 }
95 95
96 void RenderSVGModelObject::addLayerHitTestRects(LayerHitTestRects&, const Render Layer* currentLayer, const LayoutPoint& layerOffset, const LayoutRect& container Rect) const 96 void RenderSVGModelObject::addLayerHitTestRects(LayerHitTestRects&, const Render Layer* currentLayer, const LayoutPoint& layerOffset, const LayoutRect& container Rect) const
97 { 97 {
98 // We don't walk into SVG trees at all - just report their container. 98 // We don't walk into SVG trees at all - just report their container.
99 } 99 }
100 100
101 void RenderSVGModelObject::styleDidChange(StyleDifference diff, const RenderStyl e* oldStyle) 101 void RenderSVGModelObject::styleDidChange(StyleDifference diff, const RenderStyl e* oldStyle)
102 { 102 {
103 if (diff == StyleDifferenceLayout) { 103 if (diff.needsFullLayout()) {
104 setNeedsBoundariesUpdate(); 104 setNeedsBoundariesUpdate();
105 if (style()->hasTransform()) 105 if (style()->hasTransform())
106 setNeedsTransformUpdate(); 106 setNeedsTransformUpdate();
107 } 107 }
108 108
109 RenderObject::styleDidChange(diff, oldStyle); 109 RenderObject::styleDidChange(diff, oldStyle);
110 SVGResourcesCache::clientStyleChanged(this, diff, style()); 110 SVGResourcesCache::clientStyleChanged(this, diff, style());
111 } 111 }
112 112
113 bool RenderSVGModelObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, co nst HitTestLocation&, const LayoutPoint&, HitTestAction) 113 bool RenderSVGModelObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, co nst HitTestLocation&, const LayoutPoint&, HitTestAction)
114 { 114 {
115 ASSERT_NOT_REACHED(); 115 ASSERT_NOT_REACHED();
116 return false; 116 return false;
117 } 117 }
118 118
119 // The SVG addFocusRingRects() method adds rects in local coordinates so the def ault absoluteFocusRingQuads 119 // The SVG addFocusRingRects() method adds rects in local coordinates so the def ault absoluteFocusRingQuads
120 // returns incorrect values for SVG objects. Overriding this method provides acc ess to the absolute bounds. 120 // returns incorrect values for SVG objects. Overriding this method provides acc ess to the absolute bounds.
121 void RenderSVGModelObject::absoluteFocusRingQuads(Vector<FloatQuad>& quads) 121 void RenderSVGModelObject::absoluteFocusRingQuads(Vector<FloatQuad>& quads)
122 { 122 {
123 quads.append(localToAbsoluteQuad(FloatQuad(repaintRectInLocalCoordinates())) ); 123 quads.append(localToAbsoluteQuad(FloatQuad(repaintRectInLocalCoordinates())) );
124 } 124 }
125 125
126 } // namespace WebCore 126 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/rendering/svg/RenderSVGInlineText.cpp ('k') | Source/core/rendering/svg/RenderSVGResourceContainer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698