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

Side by Side Diff: Source/core/rendering/RenderListItem.cpp

Issue 380583003: Revert of Revert of Divorce PaintInvalidationState from LayoutState (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 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
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 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 return result; 267 return result;
268 } 268 }
269 269
270 void RenderListItem::updateMarkerLocationAndInvalidateWidth() 270 void RenderListItem::updateMarkerLocationAndInvalidateWidth()
271 { 271 {
272 ASSERT(m_marker); 272 ASSERT(m_marker);
273 273
274 // FIXME: We should not modify the structure of the render tree 274 // FIXME: We should not modify the structure of the render tree
275 // during layout. crbug.com/370461 275 // during layout. crbug.com/370461
276 DeprecatedDisableModifyRenderTreeStructureAsserts disabler; 276 DeprecatedDisableModifyRenderTreeStructureAsserts disabler;
277 // Removing and adding the marker can trigger repainting in
278 // containers other than ourselves, so we need to disable LayoutState.
279 ForceHorriblySlowRectMapping slowRectMapping(*this);
280 if (updateMarkerLocation()) { 277 if (updateMarkerLocation()) {
281 // If the marker is inside we need to redo the preferred width calculati ons 278 // If the marker is inside we need to redo the preferred width calculati ons
282 // as the size of the item now includes the size of the list marker. 279 // as the size of the item now includes the size of the list marker.
283 if (m_marker->isInside()) 280 if (m_marker->isInside())
284 containingBlock()->updateLogicalWidth(); 281 containingBlock()->updateLogicalWidth();
285 } 282 }
286 } 283 }
287 284
288 bool RenderListItem::updateMarkerLocation() 285 bool RenderListItem::updateMarkerLocation()
289 { 286 {
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 // assume that all the following ones have too. 517 // assume that all the following ones have too.
521 // This gives us the opportunity to stop here and avoid 518 // This gives us the opportunity to stop here and avoid
522 // marking the same nodes again. 519 // marking the same nodes again.
523 break; 520 break;
524 } 521 }
525 item->updateValue(); 522 item->updateValue();
526 } 523 }
527 } 524 }
528 525
529 } // namespace WebCore 526 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderListBox.cpp ('k') | Source/core/rendering/RenderMediaControlElements.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698