Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 98 setIsBox(); | 98 setIsBox(); |
| 99 } | 99 } |
| 100 | 100 |
| 101 void RenderBox::willBeDestroyed() | 101 void RenderBox::willBeDestroyed() |
| 102 { | 102 { |
| 103 clearOverrideSize(); | 103 clearOverrideSize(); |
| 104 clearContainingBlockOverrideSize(); | 104 clearContainingBlockOverrideSize(); |
| 105 | 105 |
| 106 RenderBlock::removePercentHeightDescendantIfNeeded(this); | 106 RenderBlock::removePercentHeightDescendantIfNeeded(this); |
| 107 | 107 |
| 108 ShapeOutsideInfo::removeInfo(*this); | 108 clearShapeOutside(); |
| 109 | 109 |
| 110 RenderBoxModelObject::willBeDestroyed(); | 110 RenderBoxModelObject::willBeDestroyed(); |
| 111 } | 111 } |
| 112 | 112 |
| 113 void RenderBox::clearShapeOutside() | |
| 114 { | |
| 115 const ShapeValue* shapeValue = style()->shapeOutside(); | |
| 116 if (shapeValue) { | |
|
rwlbuis
2014/04/10 15:05:55
Nit: you could inline the shapeValue into the if s
| |
| 117 if (StyleImage* shapeImage = shapeValue->image()) | |
| 118 shapeImage->removeClient(this); | |
| 119 } | |
| 120 | |
| 121 ShapeOutsideInfo::removeInfo(*this); | |
| 122 } | |
| 123 | |
| 113 void RenderBox::removeFloatingOrPositionedChildFromBlockLists() | 124 void RenderBox::removeFloatingOrPositionedChildFromBlockLists() |
| 114 { | 125 { |
| 115 ASSERT(isFloatingOrOutOfFlowPositioned()); | 126 ASSERT(isFloatingOrOutOfFlowPositioned()); |
| 116 | 127 |
| 117 if (documentBeingDestroyed()) | 128 if (documentBeingDestroyed()) |
| 118 return; | 129 return; |
| 119 | 130 |
| 120 if (isFloating()) { | 131 if (isFloating()) { |
| 121 RenderBlockFlow* parentBlockFlow = 0; | 132 RenderBlockFlow* parentBlockFlow = 0; |
| 122 for (RenderObject* curr = parent(); curr && !curr->isRenderView(); curr = curr->parent()) { | 133 for (RenderObject* curr = parent(); curr && !curr->isRenderView(); curr = curr->parent()) { |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 235 Length oldShapeMargin = oldStyle ? oldStyle->shapeMargin() : RenderStyle::in itialShapeMargin(); | 246 Length oldShapeMargin = oldStyle ? oldStyle->shapeMargin() : RenderStyle::in itialShapeMargin(); |
| 236 | 247 |
| 237 float shapeImageThreshold = style.shapeImageThreshold(); | 248 float shapeImageThreshold = style.shapeImageThreshold(); |
| 238 float oldShapeImageThreshold = oldStyle ? oldStyle->shapeImageThreshold() : RenderStyle::initialShapeImageThreshold(); | 249 float oldShapeImageThreshold = oldStyle ? oldStyle->shapeImageThreshold() : RenderStyle::initialShapeImageThreshold(); |
| 239 | 250 |
| 240 // FIXME: A future optimization would do a deep comparison for equality. (bu g 100811) | 251 // FIXME: A future optimization would do a deep comparison for equality. (bu g 100811) |
| 241 if (shapeOutside == oldShapeOutside && shapeMargin == oldShapeMargin && shap eImageThreshold == oldShapeImageThreshold) | 252 if (shapeOutside == oldShapeOutside && shapeMargin == oldShapeMargin && shap eImageThreshold == oldShapeImageThreshold) |
| 242 return; | 253 return; |
| 243 | 254 |
| 244 if (!shapeOutside) | 255 if (!shapeOutside) |
| 245 ShapeOutsideInfo::removeInfo(*this); | 256 clearShapeOutside(); |
| 246 else | 257 else |
| 247 ShapeOutsideInfo::ensureInfo(*this).markShapeAsDirty(); | 258 ShapeOutsideInfo::ensureInfo(*this).markShapeAsDirty(); |
| 248 | 259 |
| 249 if (shapeOutside || shapeOutside != oldShapeOutside) | 260 if (shapeOutside || shapeOutside != oldShapeOutside) |
| 250 markShapeOutsideDependentsForLayout(); | 261 markShapeOutsideDependentsForLayout(); |
| 251 } | 262 } |
| 252 | 263 |
| 253 void RenderBox::updateGridPositionAfterStyleChange(const RenderStyle* oldStyle) | 264 void RenderBox::updateGridPositionAfterStyleChange(const RenderStyle* oldStyle) |
| 254 { | 265 { |
| 255 if (!oldStyle || !parent() || !parent()->isRenderGrid()) | 266 if (!oldStyle || !parent() || !parent()->isRenderGrid()) |
| (...skipping 4482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4738 return 0; | 4749 return 0; |
| 4739 | 4750 |
| 4740 if (!layoutState && !flowThreadContainingBlock()) | 4751 if (!layoutState && !flowThreadContainingBlock()) |
| 4741 return 0; | 4752 return 0; |
| 4742 | 4753 |
| 4743 RenderBlock* containerBlock = containingBlock(); | 4754 RenderBlock* containerBlock = containingBlock(); |
| 4744 return containerBlock->offsetFromLogicalTopOfFirstPage() + logicalTop(); | 4755 return containerBlock->offsetFromLogicalTopOfFirstPage() + logicalTop(); |
| 4745 } | 4756 } |
| 4746 | 4757 |
| 4747 } // namespace WebCore | 4758 } // namespace WebCore |
| OLD | NEW |