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

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

Issue 377123002: Revert of Divorce PaintInvalidationState from LayoutState (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix conflict 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);
277 if (updateMarkerLocation()) { 280 if (updateMarkerLocation()) {
278 // If the marker is inside we need to redo the preferred width calculati ons 281 // If the marker is inside we need to redo the preferred width calculati ons
279 // as the size of the item now includes the size of the list marker. 282 // as the size of the item now includes the size of the list marker.
280 if (m_marker->isInside()) 283 if (m_marker->isInside())
281 containingBlock()->updateLogicalWidth(); 284 containingBlock()->updateLogicalWidth();
282 } 285 }
283 } 286 }
284 287
285 bool RenderListItem::updateMarkerLocation() 288 bool RenderListItem::updateMarkerLocation()
286 { 289 {
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
517 // assume that all the following ones have too. 520 // assume that all the following ones have too.
518 // This gives us the opportunity to stop here and avoid 521 // This gives us the opportunity to stop here and avoid
519 // marking the same nodes again. 522 // marking the same nodes again.
520 break; 523 break;
521 } 524 }
522 item->updateValue(); 525 item->updateValue();
523 } 526 }
524 } 527 }
525 528
526 } // namespace WebCore 529 } // 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