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

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

Issue 715023002: Make SVGTextPositioningElement::elementFromRenderer take a reference (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix compile problem Created 6 years, 1 month 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
« no previous file with comments | « no previous file | Source/core/rendering/svg/SVGTextLayoutAttributesBuilder.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006 Apple Computer, Inc. 2 * Copyright (C) 2006 Apple Computer, Inc.
3 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org> 3 * Copyright (C) 2006 Alexander Kellett <lypanov@kde.org>
4 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz> 4 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz>
5 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> 5 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org>
6 * Copyright (C) 2008 Rob Buis <buis@kde.org> 6 * Copyright (C) 2008 Rob Buis <buis@kde.org>
7 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> 7 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org>
8 * Copyright (C) Research In Motion Limited 2010-2012. All rights reserved. 8 * Copyright (C) Research In Motion Limited 2010-2012. All rights reserved.
9 * Copyright (C) 2012 Google Inc. 9 * Copyright (C) 2012 Google Inc.
10 * 10 *
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 m_needsTransformUpdate = false; 330 m_needsTransformUpdate = false;
331 updateCachedBoundariesInParents = true; 331 updateCachedBoundariesInParents = true;
332 } 332 }
333 333
334 if (!everHadLayout()) { 334 if (!everHadLayout()) {
335 // When laying out initially, collect all layout attributes, build the c haracter data map, 335 // When laying out initially, collect all layout attributes, build the c haracter data map,
336 // and propogate resulting SVGLayoutAttributes to all RenderSVGInlineTex t children in the subtree. 336 // and propogate resulting SVGLayoutAttributes to all RenderSVGInlineTex t children in the subtree.
337 ASSERT(m_layoutAttributes.isEmpty()); 337 ASSERT(m_layoutAttributes.isEmpty());
338 collectLayoutAttributes(this, m_layoutAttributes); 338 collectLayoutAttributes(this, m_layoutAttributes);
339 updateFontInAllDescendants(this); 339 updateFontInAllDescendants(this);
340 m_layoutAttributesBuilder.buildLayoutAttributesForForSubtree(this); 340 m_layoutAttributesBuilder.buildLayoutAttributesForForSubtree(*this);
341 341
342 m_needsReordering = true; 342 m_needsReordering = true;
343 m_needsTextMetricsUpdate = false; 343 m_needsTextMetricsUpdate = false;
344 m_needsPositioningValuesUpdate = false; 344 m_needsPositioningValuesUpdate = false;
345 updateCachedBoundariesInParents = true; 345 updateCachedBoundariesInParents = true;
346 } else if (m_needsPositioningValuesUpdate) { 346 } else if (m_needsPositioningValuesUpdate) {
347 // When the x/y/dx/dy/rotate lists change, recompute the layout attribut es, and eventually 347 // When the x/y/dx/dy/rotate lists change, recompute the layout attribut es, and eventually
348 // update the on-screen font objects as well in all descendants. 348 // update the on-screen font objects as well in all descendants.
349 if (m_needsTextMetricsUpdate) { 349 if (m_needsTextMetricsUpdate) {
350 updateFontInAllDescendants(this); 350 updateFontInAllDescendants(this);
351 m_needsTextMetricsUpdate = false; 351 m_needsTextMetricsUpdate = false;
352 } 352 }
353 353
354 m_layoutAttributesBuilder.buildLayoutAttributesForForSubtree(this); 354 m_layoutAttributesBuilder.buildLayoutAttributesForForSubtree(*this);
355 m_needsReordering = true; 355 m_needsReordering = true;
356 m_needsPositioningValuesUpdate = false; 356 m_needsPositioningValuesUpdate = false;
357 updateCachedBoundariesInParents = true; 357 updateCachedBoundariesInParents = true;
358 } else if (m_needsTextMetricsUpdate || SVGRenderSupport::findTreeRootObject( this)->isLayoutSizeChanged()) { 358 } else if (m_needsTextMetricsUpdate || SVGRenderSupport::findTreeRootObject( this)->isLayoutSizeChanged()) {
359 // If the root layout size changed (eg. window size changes) or the tran sform to the root 359 // If the root layout size changed (eg. window size changes) or the tran sform to the root
360 // context has changed then recompute the on-screen font size. 360 // context has changed then recompute the on-screen font size.
361 updateFontInAllDescendants(this, &m_layoutAttributesBuilder); 361 updateFontInAllDescendants(this, &m_layoutAttributesBuilder);
362 362
363 ASSERT(!m_needsReordering); 363 ASSERT(!m_needsReordering);
364 ASSERT(!m_needsPositioningValuesUpdate); 364 ASSERT(!m_needsPositioningValuesUpdate);
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
507 SVGResourcesCache::clientWillBeRemovedFromTree(child); 507 SVGResourcesCache::clientWillBeRemovedFromTree(child);
508 508
509 Vector<SVGTextLayoutAttributes*, 2> affectedAttributes; 509 Vector<SVGTextLayoutAttributes*, 2> affectedAttributes;
510 FontCachePurgePreventer fontCachePurgePreventer; 510 FontCachePurgePreventer fontCachePurgePreventer;
511 subtreeChildWillBeRemoved(child, affectedAttributes); 511 subtreeChildWillBeRemoved(child, affectedAttributes);
512 RenderSVGBlock::removeChild(child); 512 RenderSVGBlock::removeChild(child);
513 subtreeChildWasRemoved(affectedAttributes); 513 subtreeChildWasRemoved(affectedAttributes);
514 } 514 }
515 515
516 } 516 }
OLDNEW
« no previous file with comments | « no previous file | Source/core/rendering/svg/SVGTextLayoutAttributesBuilder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698