| 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) 2007 David Smith (catfish.man@gmail.com) | 4 * (C) 2007 David Smith (catfish.man@gmail.com) |
| 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. |
| 6 * All rights reserved. | 6 * All rights reserved. |
| 7 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 7 * Copyright (C) Research In Motion Limited 2010. 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 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 // By default, subclasses do not have inline children. | 105 // By default, subclasses do not have inline children. |
| 106 } | 106 } |
| 107 | 107 |
| 108 void LayoutBlock::removeFromGlobalMaps() { | 108 void LayoutBlock::removeFromGlobalMaps() { |
| 109 if (hasPositionedObjects()) { | 109 if (hasPositionedObjects()) { |
| 110 std::unique_ptr<TrackedLayoutBoxListHashSet> descendants = | 110 std::unique_ptr<TrackedLayoutBoxListHashSet> descendants = |
| 111 gPositionedDescendantsMap->take(this); | 111 gPositionedDescendantsMap->take(this); |
| 112 ASSERT(!descendants->isEmpty()); | 112 ASSERT(!descendants->isEmpty()); |
| 113 for (LayoutBox* descendant : *descendants) { | 113 for (LayoutBox* descendant : *descendants) { |
| 114 ASSERT(gPositionedContainerMap->get(descendant) == this); | 114 ASSERT(gPositionedContainerMap->get(descendant) == this); |
| 115 gPositionedContainerMap->remove(descendant); | 115 gPositionedContainerMap->erase(descendant); |
| 116 } | 116 } |
| 117 } | 117 } |
| 118 if (hasPercentHeightDescendants()) { | 118 if (hasPercentHeightDescendants()) { |
| 119 std::unique_ptr<TrackedLayoutBoxListHashSet> descendants = | 119 std::unique_ptr<TrackedLayoutBoxListHashSet> descendants = |
| 120 gPercentHeightDescendantsMap->take(this); | 120 gPercentHeightDescendantsMap->take(this); |
| 121 ASSERT(!descendants->isEmpty()); | 121 ASSERT(!descendants->isEmpty()); |
| 122 for (LayoutBox* descendant : *descendants) { | 122 for (LayoutBox* descendant : *descendants) { |
| 123 ASSERT(descendant->percentHeightContainer() == this); | 123 ASSERT(descendant->percentHeightContainer() == this); |
| 124 descendant->setPercentHeightContainer(nullptr); | 124 descendant->setPercentHeightContainer(nullptr); |
| 125 } | 125 } |
| (...skipping 879 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1005 | 1005 |
| 1006 LayoutBlock* container = gPositionedContainerMap->take(o); | 1006 LayoutBlock* container = gPositionedContainerMap->take(o); |
| 1007 if (!container) | 1007 if (!container) |
| 1008 return; | 1008 return; |
| 1009 | 1009 |
| 1010 TrackedLayoutBoxListHashSet* positionedDescendants = | 1010 TrackedLayoutBoxListHashSet* positionedDescendants = |
| 1011 gPositionedDescendantsMap->get(container); | 1011 gPositionedDescendantsMap->get(container); |
| 1012 ASSERT(positionedDescendants && positionedDescendants->contains(o)); | 1012 ASSERT(positionedDescendants && positionedDescendants->contains(o)); |
| 1013 positionedDescendants->remove(o); | 1013 positionedDescendants->remove(o); |
| 1014 if (positionedDescendants->isEmpty()) { | 1014 if (positionedDescendants->isEmpty()) { |
| 1015 gPositionedDescendantsMap->remove(container); | 1015 gPositionedDescendantsMap->erase(container); |
| 1016 container->m_hasPositionedObjects = false; | 1016 container->m_hasPositionedObjects = false; |
| 1017 } | 1017 } |
| 1018 } | 1018 } |
| 1019 | 1019 |
| 1020 PaintInvalidationReason LayoutBlock::invalidatePaintIfNeeded( | 1020 PaintInvalidationReason LayoutBlock::invalidatePaintIfNeeded( |
| 1021 const PaintInvalidationState& paintInvalidationState) { | 1021 const PaintInvalidationState& paintInvalidationState) { |
| 1022 return LayoutBox::invalidatePaintIfNeeded(paintInvalidationState); | 1022 return LayoutBox::invalidatePaintIfNeeded(paintInvalidationState); |
| 1023 } | 1023 } |
| 1024 | 1024 |
| 1025 PaintInvalidationReason LayoutBlock::invalidatePaintIfNeeded( | 1025 PaintInvalidationReason LayoutBlock::invalidatePaintIfNeeded( |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1065 if (p) | 1065 if (p) |
| 1066 p->setChildNeedsLayout(); | 1066 p->setChildNeedsLayout(); |
| 1067 | 1067 |
| 1068 deadObjects.push_back(positionedObject); | 1068 deadObjects.push_back(positionedObject); |
| 1069 } | 1069 } |
| 1070 } | 1070 } |
| 1071 | 1071 |
| 1072 for (auto object : deadObjects) { | 1072 for (auto object : deadObjects) { |
| 1073 ASSERT(gPositionedContainerMap->get(object) == this); | 1073 ASSERT(gPositionedContainerMap->get(object) == this); |
| 1074 positionedDescendants->remove(object); | 1074 positionedDescendants->remove(object); |
| 1075 gPositionedContainerMap->remove(object); | 1075 gPositionedContainerMap->erase(object); |
| 1076 } | 1076 } |
| 1077 if (positionedDescendants->isEmpty()) { | 1077 if (positionedDescendants->isEmpty()) { |
| 1078 gPositionedDescendantsMap->remove(this); | 1078 gPositionedDescendantsMap->erase(this); |
| 1079 m_hasPositionedObjects = false; | 1079 m_hasPositionedObjects = false; |
| 1080 } | 1080 } |
| 1081 } | 1081 } |
| 1082 | 1082 |
| 1083 void LayoutBlock::addPercentHeightDescendant(LayoutBox* descendant) { | 1083 void LayoutBlock::addPercentHeightDescendant(LayoutBox* descendant) { |
| 1084 if (descendant->percentHeightContainer()) { | 1084 if (descendant->percentHeightContainer()) { |
| 1085 if (descendant->percentHeightContainer() == this) { | 1085 if (descendant->percentHeightContainer() == this) { |
| 1086 ASSERT(hasPercentHeightDescendant(descendant)); | 1086 ASSERT(hasPercentHeightDescendant(descendant)); |
| 1087 return; | 1087 return; |
| 1088 } | 1088 } |
| (...skipping 12 matching lines...) Expand all Loading... |
| 1101 descendantSet->add(descendant); | 1101 descendantSet->add(descendant); |
| 1102 | 1102 |
| 1103 m_hasPercentHeightDescendants = true; | 1103 m_hasPercentHeightDescendants = true; |
| 1104 } | 1104 } |
| 1105 | 1105 |
| 1106 void LayoutBlock::removePercentHeightDescendant(LayoutBox* descendant) { | 1106 void LayoutBlock::removePercentHeightDescendant(LayoutBox* descendant) { |
| 1107 if (TrackedLayoutBoxListHashSet* descendants = percentHeightDescendants()) { | 1107 if (TrackedLayoutBoxListHashSet* descendants = percentHeightDescendants()) { |
| 1108 descendants->remove(descendant); | 1108 descendants->remove(descendant); |
| 1109 descendant->setPercentHeightContainer(nullptr); | 1109 descendant->setPercentHeightContainer(nullptr); |
| 1110 if (descendants->isEmpty()) { | 1110 if (descendants->isEmpty()) { |
| 1111 gPercentHeightDescendantsMap->remove(this); | 1111 gPercentHeightDescendantsMap->erase(this); |
| 1112 m_hasPercentHeightDescendants = false; | 1112 m_hasPercentHeightDescendants = false; |
| 1113 } | 1113 } |
| 1114 } | 1114 } |
| 1115 } | 1115 } |
| 1116 | 1116 |
| 1117 TrackedLayoutBoxListHashSet* LayoutBlock::percentHeightDescendantsInternal() | 1117 TrackedLayoutBoxListHashSet* LayoutBlock::percentHeightDescendantsInternal() |
| 1118 const { | 1118 const { |
| 1119 return gPercentHeightDescendantsMap ? gPercentHeightDescendantsMap->get(this) | 1119 return gPercentHeightDescendantsMap ? gPercentHeightDescendantsMap->get(this) |
| 1120 : nullptr; | 1120 : nullptr; |
| 1121 } | 1121 } |
| (...skipping 1083 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2205 } | 2205 } |
| 2206 | 2206 |
| 2207 return availableHeight; | 2207 return availableHeight; |
| 2208 } | 2208 } |
| 2209 | 2209 |
| 2210 bool LayoutBlock::hasDefiniteLogicalHeight() const { | 2210 bool LayoutBlock::hasDefiniteLogicalHeight() const { |
| 2211 return availableLogicalHeightForPercentageComputation() != LayoutUnit(-1); | 2211 return availableLogicalHeightForPercentageComputation() != LayoutUnit(-1); |
| 2212 } | 2212 } |
| 2213 | 2213 |
| 2214 } // namespace blink | 2214 } // namespace blink |
| OLD | NEW |