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

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

Issue 1025213002: Begin tracking why layout is invalidated (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase Created 5 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
« no previous file with comments | « Source/core/layout/LayoutInline.cpp ('k') | Source/core/layout/LayoutListMarker.cpp » ('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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved. 4 * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) 5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net)
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 } 246 }
247 247
248 return 0; 248 return 0;
249 } 249 }
250 250
251 void LayoutListItem::updateValue() 251 void LayoutListItem::updateValue()
252 { 252 {
253 if (!m_hasExplicitValue) { 253 if (!m_hasExplicitValue) {
254 m_isValueUpToDate = false; 254 m_isValueUpToDate = false;
255 if (m_marker) 255 if (m_marker)
256 m_marker->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation( ); 256 m_marker->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation( LayoutInvalidationReason::ListValueChange);
257 } 257 }
258 } 258 }
259 259
260 static LayoutObject* firstNonMarkerChild(LayoutObject* parent) 260 static LayoutObject* firstNonMarkerChild(LayoutObject* parent)
261 { 261 {
262 LayoutObject* result = parent->slowFirstChild(); 262 LayoutObject* result = parent->slowFirstChild();
263 while (result && result->isListMarker()) 263 while (result && result->isListMarker())
264 result = result->nextSibling(); 264 result = result->nextSibling();
265 return result; 265 return result;
266 } 266 }
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 const String& LayoutListItem::markerText() const 450 const String& LayoutListItem::markerText() const
451 { 451 {
452 if (m_marker) 452 if (m_marker)
453 return m_marker->text(); 453 return m_marker->text();
454 return nullAtom.string(); 454 return nullAtom.string();
455 } 455 }
456 456
457 void LayoutListItem::explicitValueChanged() 457 void LayoutListItem::explicitValueChanged()
458 { 458 {
459 if (m_marker) 459 if (m_marker)
460 m_marker->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(); 460 m_marker->setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(Layo utInvalidationReason::ListValueChange);
461 Node* listNode = enclosingList(this); 461 Node* listNode = enclosingList(this);
462 for (LayoutListItem* item = this; item; item = nextListItem(listNode, item)) 462 for (LayoutListItem* item = this; item; item = nextListItem(listNode, item))
463 item->updateValue(); 463 item->updateValue();
464 } 464 }
465 465
466 void LayoutListItem::setExplicitValue(int value) 466 void LayoutListItem::setExplicitValue(int value)
467 { 467 {
468 ASSERT(node()); 468 ASSERT(node());
469 469
470 if (m_hasExplicitValue && m_explicitValue == value) 470 if (m_hasExplicitValue && m_explicitValue == value)
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 // assume that all the following ones have too. 528 // assume that all the following ones have too.
529 // This gives us the opportunity to stop here and avoid 529 // This gives us the opportunity to stop here and avoid
530 // marking the same nodes again. 530 // marking the same nodes again.
531 break; 531 break;
532 } 532 }
533 item->updateValue(); 533 item->updateValue();
534 } 534 }
535 } 535 }
536 536
537 } // namespace blink 537 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutInline.cpp ('k') | Source/core/layout/LayoutListMarker.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698