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

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

Issue 647953004: Don't delete objects from the floating list during layout (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Updated Created 6 years, 2 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/http/tests/shapes/crash-image-changed-during-layout-expected.txt ('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 * 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 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com)
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. 7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 1243 matching lines...) Expand 10 before | Expand all | Expand 10 after
1254 1254
1255 AllowPaintInvalidationScope scoper(frameView()); 1255 AllowPaintInvalidationScope scoper(frameView());
1256 1256
1257 if ((style()->borderImage().image() && style()->borderImage().image()->data( ) == image) || 1257 if ((style()->borderImage().image() && style()->borderImage().image()->data( ) == image) ||
1258 (style()->maskBoxImage().image() && style()->maskBoxImage().image()->dat a() == image)) { 1258 (style()->maskBoxImage().image() && style()->maskBoxImage().image()->dat a() == image)) {
1259 setShouldDoFullPaintInvalidation(); 1259 setShouldDoFullPaintInvalidation();
1260 return; 1260 return;
1261 } 1261 }
1262 1262
1263 ShapeValue* shapeOutsideValue = style()->shapeOutside(); 1263 ShapeValue* shapeOutsideValue = style()->shapeOutside();
1264 if (isFloating() && shapeOutsideValue && shapeOutsideValue->image() && shape OutsideValue->image()->data() == image) { 1264 if (!frameView()->isInPerformLayout() && isFloating() && shapeOutsideValue & & shapeOutsideValue->image() && shapeOutsideValue->image()->data() == image) {
1265 ShapeOutsideInfo& info = ShapeOutsideInfo::ensureInfo(*this); 1265 ShapeOutsideInfo& info = ShapeOutsideInfo::ensureInfo(*this);
1266 if (!info.isComputingShape()) { 1266 if (!info.isComputingShape()) {
1267 info.markShapeAsDirty(); 1267 info.markShapeAsDirty();
1268 markShapeOutsideDependentsForLayout(); 1268 markShapeOutsideDependentsForLayout();
1269 } 1269 }
1270 } 1270 }
1271 1271
1272 if (!paintInvalidationLayerRectsForImage(image, style()->backgroundLayers(), true)) 1272 if (!paintInvalidationLayerRectsForImage(image, style()->backgroundLayers(), true))
1273 paintInvalidationLayerRectsForImage(image, style()->maskLayers(), false) ; 1273 paintInvalidationLayerRectsForImage(image, style()->maskLayers(), false) ;
1274 } 1274 }
(...skipping 3250 matching lines...) Expand 10 before | Expand all | Expand 10 after
4525 ASSERT(style()->hasBackground() || style()->hasBoxDecorations()); 4525 ASSERT(style()->hasBackground() || style()->hasBoxDecorations());
4526 4526
4527 if (m_rareData && m_rareData->m_previousBorderBoxSize.width() != -1) 4527 if (m_rareData && m_rareData->m_previousBorderBoxSize.width() != -1)
4528 return m_rareData->m_previousBorderBoxSize; 4528 return m_rareData->m_previousBorderBoxSize;
4529 4529
4530 // We didn't save the old border box size because it was the same as the siz e of oldBounds. 4530 // We didn't save the old border box size because it was the same as the siz e of oldBounds.
4531 return previousBoundsSize; 4531 return previousBoundsSize;
4532 } 4532 }
4533 4533
4534 } // namespace blink 4534 } // namespace blink
OLDNEW
« no previous file with comments | « LayoutTests/http/tests/shapes/crash-image-changed-during-layout-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698