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

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

Issue 1774193002: New paint invalidation using paint property tree walk (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
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 491 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 502
503 Vector<SVGTextLayoutAttributes*, 2> affectedAttributes; 503 Vector<SVGTextLayoutAttributes*, 2> affectedAttributes;
504 FontCachePurgePreventer fontCachePurgePreventer; 504 FontCachePurgePreventer fontCachePurgePreventer;
505 subtreeChildWillBeRemoved(child, affectedAttributes); 505 subtreeChildWillBeRemoved(child, affectedAttributes);
506 LayoutSVGBlock::removeChild(child); 506 LayoutSVGBlock::removeChild(child);
507 subtreeChildWasRemoved(affectedAttributes); 507 subtreeChildWasRemoved(affectedAttributes);
508 } 508 }
509 509
510 void LayoutSVGText::invalidateTreeIfNeeded(PaintInvalidationState& paintInvalida tionState) 510 void LayoutSVGText::invalidateTreeIfNeeded(PaintInvalidationState& paintInvalida tionState)
511 { 511 {
512 ASSERT(!RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled());
512 ASSERT(!needsLayout()); 513 ASSERT(!needsLayout());
513 514
514 if (!shouldCheckForPaintInvalidation(paintInvalidationState)) 515 if (!shouldCheckForPaintInvalidation(paintInvalidationState))
515 return; 516 return;
516 517
517 PaintInvalidationReason reason = invalidatePaintIfNeeded(paintInvalidationSt ate, paintInvalidationState.paintInvalidationContainer()); 518 PaintInvalidationReason reason = invalidatePaintIfNeeded(paintInvalidationSt ate, paintInvalidationState.paintInvalidationContainer());
518 clearPaintInvalidationState(paintInvalidationState); 519 clearPaintInvalidationState(paintInvalidationState);
519 520
520 if (reason == PaintInvalidationDelayedFull) 521 if (reason == PaintInvalidationDelayedFull)
521 paintInvalidationState.pushDelayedPaintInvalidationTarget(*this); 522 paintInvalidationState.pushDelayedPaintInvalidationTarget(*this);
522 523
523 ForceHorriblySlowRectMapping slowRectMapping(&paintInvalidationState); 524 ForceHorriblySlowRectMapping slowRectMapping(&paintInvalidationState);
524 PaintInvalidationState childTreeWalkState(paintInvalidationState, *this, pai ntInvalidationState.paintInvalidationContainer()); 525 PaintInvalidationState childTreeWalkState(paintInvalidationState, *this, pai ntInvalidationState.paintInvalidationContainer());
525 if (reason == PaintInvalidationSVGResourceChange) 526 if (reason == PaintInvalidationSVGResourceChange)
526 childTreeWalkState.setForceSubtreeInvalidationWithinContainer(); 527 childTreeWalkState.setForceSubtreeInvalidationWithinContainer();
527 invalidatePaintOfSubtreesIfNeeded(childTreeWalkState); 528 invalidatePaintOfSubtreesIfNeeded(childTreeWalkState);
528 } 529 }
529 530
530 } // namespace blink 531 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698