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

Side by Side Diff: third_party/WebKit/Source/core/layout/svg/LayoutSVGImage.cpp

Issue 2478233002: Make 'transform' a presentation attribute on SVG elements (Closed)
Patch Set: Rebase Created 4 years 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org> 2 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org>
3 * Copyright (C) 2006 Apple Computer, Inc. 3 * Copyright (C) 2006 Apple Computer, Inc.
4 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> 4 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org>
5 * Copyright (C) 2007, 2008, 2009 Rob Buis <buis@kde.org> 5 * Copyright (C) 2007, 2008, 2009 Rob Buis <buis@kde.org>
6 * Copyright (C) 2009 Google, Inc. 6 * Copyright (C) 2009 Google, Inc.
7 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> 7 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org>
8 * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com> 8 * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com>
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 LayoutAnalyzer::Scope analyzer(*this); 120 LayoutAnalyzer::Scope analyzer(*this);
121 121
122 // Invalidate all resources of this client if our layout changed. 122 // Invalidate all resources of this client if our layout changed.
123 if (everHadLayout() && selfNeedsLayout()) 123 if (everHadLayout() && selfNeedsLayout())
124 SVGResourcesCache::clientLayoutChanged(this); 124 SVGResourcesCache::clientLayoutChanged(this);
125 125
126 updateBoundingBox(); 126 updateBoundingBox();
127 127
128 bool updateParentBoundaries = false; 128 bool updateParentBoundaries = false;
129 if (m_needsTransformUpdate) { 129 if (m_needsTransformUpdate) {
130 m_localTransform = 130 m_localTransform = toSVGImageElement(element())->calculateTransform(
131 toSVGImageElement(element())->calculateAnimatedLocalTransform(); 131 SVGElement::IncludeMotionTransform);
132 m_needsTransformUpdate = false; 132 m_needsTransformUpdate = false;
133 updateParentBoundaries = true; 133 updateParentBoundaries = true;
134 } 134 }
135 135
136 if (m_needsBoundariesUpdate) { 136 if (m_needsBoundariesUpdate) {
137 m_localVisualRect = m_objectBoundingBox; 137 m_localVisualRect = m_objectBoundingBox;
138 SVGLayoutSupport::adjustVisualRectWithResources(this, m_localVisualRect); 138 SVGLayoutSupport::adjustVisualRectWithResources(this, m_localVisualRect);
139 m_needsBoundariesUpdate = false; 139 m_needsBoundariesUpdate = false;
140 updateParentBoundaries = true; 140 updateParentBoundaries = true;
141 } 141 }
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 202
203 void LayoutSVGImage::addOutlineRects(Vector<LayoutRect>& rects, 203 void LayoutSVGImage::addOutlineRects(Vector<LayoutRect>& rects,
204 const LayoutPoint&, 204 const LayoutPoint&,
205 IncludeBlockVisualOverflowOrNot) const { 205 IncludeBlockVisualOverflowOrNot) const {
206 // this is called from paint() after the localTransform has already been 206 // this is called from paint() after the localTransform has already been
207 // applied 207 // applied
208 rects.append(LayoutRect(visualRectInLocalSVGCoordinates())); 208 rects.append(LayoutRect(visualRectInLocalSVGCoordinates()));
209 } 209 }
210 210
211 } // namespace blink 211 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698