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

Side by Side Diff: Source/core/layout/LayoutText.cpp

Issue 1149083009: Force invalidation of LayoutText when text data changes (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Update expectations (see previous try results for changes) Created 5 years, 6 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
« no previous file with comments | « LayoutTests/compositing/repaint/composited-inline-change-text-data-keep-geometry-expected.html ('k') | no next file » | 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 * (C) 1999 Lars Knoll (knoll@kde.org) 2 * (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Dirk Mueller (mueller@kde.org) 3 * (C) 2000 Dirk Mueller (mueller@kde.org)
4 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. 4 * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) 5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net)
6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) 6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com)
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 1378 matching lines...) Expand 10 before | Expand all | Expand 10 after
1389 ASSERT(text); 1389 ASSERT(text);
1390 1390
1391 if (!force && equal(m_text.impl(), text.get())) 1391 if (!force && equal(m_text.impl(), text.get()))
1392 return; 1392 return;
1393 1393
1394 setTextInternal(text); 1394 setTextInternal(text);
1395 // If preferredLogicalWidthsDirty() of an orphan child is true, LayoutObject ChildList:: 1395 // If preferredLogicalWidthsDirty() of an orphan child is true, LayoutObject ChildList::
1396 // insertChildNode() fails to set true to owner. To avoid that, we call 1396 // insertChildNode() fails to set true to owner. To avoid that, we call
1397 // setNeedsLayoutAndPrefWidthsRecalc() only if this LayoutText has parent. 1397 // setNeedsLayoutAndPrefWidthsRecalc() only if this LayoutText has parent.
1398 if (parent()) 1398 if (parent())
1399 setNeedsLayoutAndPrefWidthsRecalc(LayoutInvalidationReason::TextChanged) ; 1399 setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(LayoutInvalida tionReason::TextChanged);
1400 m_knownToHaveNoOverflowAndNoFallbackFonts = false; 1400 m_knownToHaveNoOverflowAndNoFallbackFonts = false;
1401 1401
1402 if (AXObjectCache* cache = document().existingAXObjectCache()) 1402 if (AXObjectCache* cache = document().existingAXObjectCache())
1403 cache->textChanged(this); 1403 cache->textChanged(this);
1404 } 1404 }
1405 1405
1406 void LayoutText::dirtyOrDeleteLineBoxesIfNeeded(bool fullLayout) 1406 void LayoutText::dirtyOrDeleteLineBoxesIfNeeded(bool fullLayout)
1407 { 1407 {
1408 if (fullLayout) 1408 if (fullLayout)
1409 deleteTextBoxes(); 1409 deleteTextBoxes();
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after
1858 } 1858 }
1859 1859
1860 void LayoutText::invalidateDisplayItemClients(const LayoutBoxModelObject& paintI nvalidationContainer) const 1860 void LayoutText::invalidateDisplayItemClients(const LayoutBoxModelObject& paintI nvalidationContainer) const
1861 { 1861 {
1862 LayoutObject::invalidateDisplayItemClients(paintInvalidationContainer); 1862 LayoutObject::invalidateDisplayItemClients(paintInvalidationContainer);
1863 for (InlineTextBox* box = firstTextBox(); box; box = box->nextTextBox()) 1863 for (InlineTextBox* box = firstTextBox(); box; box = box->nextTextBox())
1864 paintInvalidationContainer.invalidateDisplayItemClientOnBacking(*box); 1864 paintInvalidationContainer.invalidateDisplayItemClientOnBacking(*box);
1865 } 1865 }
1866 1866
1867 } // namespace blink 1867 } // namespace blink
OLDNEW
« no previous file with comments | « LayoutTests/compositing/repaint/composited-inline-change-text-data-keep-geometry-expected.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698