| 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 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved. | 4 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved. |
| 5 * | 5 * |
| 6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
| 7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
| 8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
| 9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
| 10 * | 10 * |
| 11 * This library is distributed in the hope that it will be useful, | 11 * This library is distributed in the hope that it will be useful, |
| 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 14 * Library General Public License for more details. | 14 * Library General Public License for more details. |
| 15 * | 15 * |
| 16 * You should have received a copy of the GNU Library General Public License | 16 * You should have received a copy of the GNU Library General Public License |
| 17 * along with this library; see the file COPYING.LIB. If not, write to | 17 * along with this library; see the file COPYING.LIB. If not, write to |
| 18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| 19 * Boston, MA 02110-1301, USA. | 19 * Boston, MA 02110-1301, USA. |
| 20 * | 20 * |
| 21 */ | 21 */ |
| 22 | 22 |
| 23 #ifndef LayoutBox_h | 23 #ifndef LayoutBox_h |
| 24 #define LayoutBox_h | 24 #define LayoutBox_h |
| 25 | 25 |
| 26 #include "core/CoreExport.h" | 26 #include "core/CoreExport.h" |
| 27 #include "core/layout/ng/ng_physical_box_fragment.h" |
| 27 #include "core/layout/LayoutBoxModelObject.h" | 28 #include "core/layout/LayoutBoxModelObject.h" |
| 28 #include "core/layout/OverflowModel.h" | 29 #include "core/layout/OverflowModel.h" |
| 29 #include "platform/scroll/ScrollTypes.h" | 30 #include "platform/scroll/ScrollTypes.h" |
| 30 #include "wtf/Compiler.h" | 31 #include "wtf/Compiler.h" |
| 31 #include "wtf/PtrUtil.h" | 32 #include "wtf/PtrUtil.h" |
| 32 #include <memory> | 33 #include <memory> |
| 33 | 34 |
| 34 namespace blink { | 35 namespace blink { |
| 35 | 36 |
| 36 class LayoutBlockFlow; | 37 class LayoutBlockFlow; |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 bool backgroundIsKnownToBeOpaqueInRect( | 208 bool backgroundIsKnownToBeOpaqueInRect( |
| 208 const LayoutRect& localRect) const override; | 209 const LayoutRect& localRect) const override; |
| 209 | 210 |
| 210 virtual bool backgroundShouldAlwaysBeClipped() const { return false; } | 211 virtual bool backgroundShouldAlwaysBeClipped() const { return false; } |
| 211 | 212 |
| 212 // Use this with caution! No type checking is done! | 213 // Use this with caution! No type checking is done! |
| 213 LayoutBox* firstChildBox() const; | 214 LayoutBox* firstChildBox() const; |
| 214 LayoutBox* firstInFlowChildBox() const; | 215 LayoutBox* firstInFlowChildBox() const; |
| 215 LayoutBox* lastChildBox() const; | 216 LayoutBox* lastChildBox() const; |
| 216 | 217 |
| 217 int pixelSnappedWidth() const { return m_frameRect.pixelSnappedWidth(); } | 218 int pixelSnappedWidth() const { |
| 218 int pixelSnappedHeight() const { return m_frameRect.pixelSnappedHeight(); } | 219 return m_ngPhysicalBoxFragment->pixelSnappedWidth(); |
| 220 } |
| 221 int pixelSnappedHeight() const { |
| 222 return m_ngPhysicalBoxFragment->pixelSnappedHeight(); |
| 223 } |
| 219 | 224 |
| 220 void setX(LayoutUnit x) { | 225 void setX(LayoutUnit x) { |
| 221 if (x == m_frameRect.x()) | 226 if (x == m_ngPhysicalBoxFragment->x()) |
| 222 return; | 227 return; |
| 223 m_frameRect.setX(x); | 228 m_ngPhysicalBoxFragment->setX(x); |
| 224 locationChanged(); | 229 locationChanged(); |
| 225 } | 230 } |
| 226 void setY(LayoutUnit y) { | 231 void setY(LayoutUnit y) { |
| 227 if (y == m_frameRect.y()) | 232 if (y == m_ngPhysicalBoxFragment->y()) |
| 228 return; | 233 return; |
| 229 m_frameRect.setY(y); | 234 m_ngPhysicalBoxFragment->setY(y); |
| 230 locationChanged(); | 235 locationChanged(); |
| 231 } | 236 } |
| 232 void setWidth(LayoutUnit width) { | 237 void setWidth(LayoutUnit width) { |
| 233 if (width == m_frameRect.width()) | 238 if (width == m_ngPhysicalBoxFragment->Width()) |
| 234 return; | 239 return; |
| 235 m_frameRect.setWidth(width); | 240 m_ngPhysicalBoxFragment->setWidth(width); |
| 236 sizeChanged(); | 241 sizeChanged(); |
| 237 } | 242 } |
| 238 void setHeight(LayoutUnit height) { | 243 void setHeight(LayoutUnit height) { |
| 239 if (height == m_frameRect.height()) | 244 if (height == m_ngPhysicalBoxFragment->Height()) |
| 240 return; | 245 return; |
| 241 m_frameRect.setHeight(height); | 246 m_ngPhysicalBoxFragment->setHeight(height); |
| 242 sizeChanged(); | 247 sizeChanged(); |
| 243 } | 248 } |
| 244 | 249 |
| 245 LayoutUnit logicalLeft() const { | 250 LayoutUnit logicalLeft() const { |
| 246 return style()->isHorizontalWritingMode() ? m_frameRect.x() | 251 return style()->isHorizontalWritingMode() ? m_ngPhysicalBoxFragment->x() |
| 247 : m_frameRect.y(); | 252 : m_ngPhysicalBoxFragment->y(); |
| 248 } | 253 } |
| 249 LayoutUnit logicalRight() const { return logicalLeft() + logicalWidth(); } | 254 LayoutUnit logicalRight() const { return logicalLeft() + logicalWidth(); } |
| 250 LayoutUnit logicalTop() const { | 255 LayoutUnit logicalTop() const { |
| 251 return style()->isHorizontalWritingMode() ? m_frameRect.y() | 256 return style()->isHorizontalWritingMode() ? m_ngPhysicalBoxFragment->y() |
| 252 : m_frameRect.x(); | 257 : m_ngPhysicalBoxFragment->x(); |
| 253 } | 258 } |
| 254 LayoutUnit logicalBottom() const { return logicalTop() + logicalHeight(); } | 259 LayoutUnit logicalBottom() const { return logicalTop() + logicalHeight(); } |
| 255 LayoutUnit logicalWidth() const { | 260 LayoutUnit logicalWidth() const { |
| 256 return style()->isHorizontalWritingMode() ? m_frameRect.width() | 261 return style()->isHorizontalWritingMode() |
| 257 : m_frameRect.height(); | 262 ? m_ngPhysicalBoxFragment->Width() |
| 263 : m_ngPhysicalBoxFragment->Height(); |
| 258 } | 264 } |
| 259 LayoutUnit logicalHeight() const { | 265 LayoutUnit logicalHeight() const { |
| 260 return style()->isHorizontalWritingMode() ? m_frameRect.height() | 266 return style()->isHorizontalWritingMode() |
| 261 : m_frameRect.width(); | 267 ? m_ngPhysicalBoxFragment->Height() |
| 268 : m_ngPhysicalBoxFragment->Width(); |
| 262 } | 269 } |
| 263 | 270 |
| 264 // Logical height of the object, including content overflowing the | 271 // Logical height of the object, including content overflowing the |
| 265 // border-after edge. | 272 // border-after edge. |
| 266 virtual LayoutUnit logicalHeightWithVisibleOverflow() const; | 273 virtual LayoutUnit logicalHeightWithVisibleOverflow() const; |
| 267 | 274 |
| 268 LayoutUnit constrainLogicalWidthByMinMax(LayoutUnit, | 275 LayoutUnit constrainLogicalWidthByMinMax(LayoutUnit, |
| 269 LayoutUnit, | 276 LayoutUnit, |
| 270 LayoutBlock*) const; | 277 LayoutBlock*) const; |
| 271 LayoutUnit constrainLogicalHeightByMinMax( | 278 LayoutUnit constrainLogicalHeightByMinMax( |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 else | 322 else |
| 316 setHeight(size); | 323 setHeight(size); |
| 317 } | 324 } |
| 318 void setLogicalHeight(LayoutUnit size) { | 325 void setLogicalHeight(LayoutUnit size) { |
| 319 if (style()->isHorizontalWritingMode()) | 326 if (style()->isHorizontalWritingMode()) |
| 320 setHeight(size); | 327 setHeight(size); |
| 321 else | 328 else |
| 322 setWidth(size); | 329 setWidth(size); |
| 323 } | 330 } |
| 324 | 331 |
| 325 LayoutPoint location() const { return m_frameRect.location(); } | 332 LayoutPoint location() const { |
| 333 return m_ngPhysicalBoxFragment->Location(); |
| 334 } |
| 335 |
| 326 LayoutSize locationOffset() const { | 336 LayoutSize locationOffset() const { |
| 327 return LayoutSize(m_frameRect.x(), m_frameRect.y()); | 337 return LayoutSize(m_ngPhysicalBoxFragment->x(), |
| 338 m_ngPhysicalBoxFragment->y()); |
| 328 } | 339 } |
| 329 LayoutSize size() const { return m_frameRect.size(); } | 340 LayoutSize size() const { |
| 330 IntSize pixelSnappedSize() const { return m_frameRect.pixelSnappedSize(); } | 341 return m_ngPhysicalBoxFragment->LegacySize(); |
| 342 } |
| 343 IntSize pixelSnappedSize() const { |
| 344 return m_ngPhysicalBoxFragment->pixelSnappedSize(); |
| 345 } |
| 331 | 346 |
| 332 void setLocation(const LayoutPoint& location) { | 347 void setLocation(const LayoutPoint& location) { |
| 333 if (location == m_frameRect.location()) | 348 if (location == m_ngPhysicalBoxFragment->Location()) |
| 334 return; | 349 return; |
| 335 m_frameRect.setLocation(location); | 350 m_ngPhysicalBoxFragment->setLocation(location); |
| 336 locationChanged(); | 351 locationChanged(); |
| 337 } | 352 } |
| 338 | 353 |
| 339 // The ancestor box that this object's location and physicalLocation are | 354 // The ancestor box that this object's location and physicalLocation are |
| 340 // relative to. | 355 // relative to. |
| 341 virtual LayoutBox* locationContainer() const; | 356 virtual LayoutBox* locationContainer() const; |
| 342 | 357 |
| 343 // FIXME: Currently scrollbars are using int geometry and positioned based on | 358 // FIXME: Currently scrollbars are using int geometry and positioned based on |
| 344 // pixelSnappedBorderBoxRect whose size may change when location changes | 359 // pixelSnappedBorderBoxRect whose size may change when location changes |
| 345 // because of pixel snapping. This function is used to change location of the | 360 // because of pixel snapping. This function is used to change location of the |
| 346 // LayoutBox outside of LayoutBox::layout(). Will remove when we use | 361 // LayoutBox outside of LayoutBox::layout(). Will remove when we use |
| 347 // LayoutUnits for scrollbars. | 362 // LayoutUnits for scrollbars. |
| 348 void setLocationAndUpdateOverflowControlsIfNeeded(const LayoutPoint&); | 363 void setLocationAndUpdateOverflowControlsIfNeeded(const LayoutPoint&); |
| 349 | 364 |
| 350 void setSize(const LayoutSize& size) { | 365 void setSize(const LayoutSize& size) { |
| 351 if (size == m_frameRect.size()) | 366 if (size == m_ngPhysicalBoxFragment->LegacySize()) |
| 352 return; | 367 return; |
| 353 m_frameRect.setSize(size); | 368 m_ngPhysicalBoxFragment->setSize(size); |
| 354 sizeChanged(); | 369 sizeChanged(); |
| 355 } | 370 } |
| 356 void move(LayoutUnit dx, LayoutUnit dy) { | 371 void move(LayoutUnit dx, LayoutUnit dy) { |
| 357 if (!dx && !dy) | 372 if (!dx && !dy) |
| 358 return; | 373 return; |
| 359 m_frameRect.move(dx, dy); | 374 m_ngPhysicalBoxFragment->move(dx, dy); |
| 360 locationChanged(); | 375 locationChanged(); |
| 361 } | 376 } |
| 362 | 377 |
| 363 // This function is in the container's coordinate system, meaning | 378 // This function is in the container's coordinate system, meaning |
| 364 // that it includes the logical top/left offset and the | 379 // that it includes the logical top/left offset and the |
| 365 // inline-start/block-start margins. | 380 // inline-start/block-start margins. |
| 366 LayoutRect frameRect() const { return m_frameRect; } | 381 LayoutRect frameRect() const { |
| 382 return m_ngPhysicalBoxFragment->getLayoutRect(); |
| 383 } |
| 367 void setFrameRect(const LayoutRect& rect) { | 384 void setFrameRect(const LayoutRect& rect) { |
| 368 setLocation(rect.location()); | 385 setLocation(rect.location()); |
| 369 setSize(rect.size()); | 386 setSize(rect.size()); |
| 370 } | 387 } |
| 371 | 388 |
| 372 // Note that those functions have their origin at this box's CSS border box. | 389 // Note that those functions have their origin at this box's CSS border box. |
| 373 // As such their location doesn't account for 'top'/'left'. | 390 // As such their location doesn't account for 'top'/'left'. |
| 374 LayoutRect borderBoxRect() const { return LayoutRect(LayoutPoint(), size()); } | 391 LayoutRect borderBoxRect() const { return LayoutRect(LayoutPoint(), size()); } |
| 375 LayoutRect paddingBoxRect() const { | 392 LayoutRect paddingBoxRect() const { |
| 376 return LayoutRect(borderLeft(), borderTop(), clientWidth(), clientHeight()); | 393 return LayoutRect(borderLeft(), borderTop(), clientWidth(), clientHeight()); |
| 377 } | 394 } |
| 378 IntRect pixelSnappedBorderBoxRect() const { | 395 IntRect pixelSnappedBorderBoxRect() const { |
| 379 return IntRect(IntPoint(), m_frameRect.pixelSnappedSize()); | 396 return IntRect(IntPoint(), m_ngPhysicalBoxFragment->pixelSnappedSize()); |
| 380 } | 397 } |
| 381 IntRect borderBoundingBox() const final { | 398 IntRect borderBoundingBox() const final { |
| 382 return pixelSnappedBorderBoxRect(); | 399 return pixelSnappedBorderBoxRect(); |
| 383 } | 400 } |
| 384 | 401 |
| 385 // The content area of the box (excludes padding - and intrinsic padding for | 402 // The content area of the box (excludes padding - and intrinsic padding for |
| 386 // table cells, etc... - and border). | 403 // table cells, etc... - and border). |
| 387 DISABLE_CFI_PERF LayoutRect contentBoxRect() const { | 404 DISABLE_CFI_PERF LayoutRect contentBoxRect() const { |
| 388 return LayoutRect(borderLeft() + paddingLeft(), borderTop() + paddingTop(), | 405 return LayoutRect(borderLeft() + paddingLeft(), borderTop() + paddingTop(), |
| 389 contentWidth(), contentHeight()); | 406 contentWidth(), contentHeight()); |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 526 : contentHeight(); | 543 : contentHeight(); |
| 527 } | 544 } |
| 528 LayoutUnit contentLogicalHeight() const { | 545 LayoutUnit contentLogicalHeight() const { |
| 529 return style()->isHorizontalWritingMode() ? contentHeight() | 546 return style()->isHorizontalWritingMode() ? contentHeight() |
| 530 : contentWidth(); | 547 : contentWidth(); |
| 531 } | 548 } |
| 532 | 549 |
| 533 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlines | 550 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlines |
| 534 // (LayoutFlow) to return the remaining width on a given line (and the height | 551 // (LayoutFlow) to return the remaining width on a given line (and the height |
| 535 // of a single line). | 552 // of a single line). |
| 536 LayoutUnit offsetWidth() const override { return m_frameRect.width(); } | 553 LayoutUnit offsetWidth() const override { |
| 537 LayoutUnit offsetHeight() const override { return m_frameRect.height(); } | 554 return m_ngPhysicalBoxFragment->Width(); |
| 555 } |
| 556 LayoutUnit offsetHeight() const override { |
| 557 return m_ngPhysicalBoxFragment->Height(); |
| 558 } |
| 538 | 559 |
| 539 int pixelSnappedOffsetWidth(const Element*) const final; | 560 int pixelSnappedOffsetWidth(const Element*) const final; |
| 540 int pixelSnappedOffsetHeight(const Element*) const final; | 561 int pixelSnappedOffsetHeight(const Element*) const final; |
| 541 | 562 |
| 542 // More IE extensions. clientWidth and clientHeight represent the interior of | 563 // More IE extensions. clientWidth and clientHeight represent the interior of |
| 543 // an object excluding border and scrollbar. clientLeft/Top are just the | 564 // an object excluding border and scrollbar. clientLeft/Top are just the |
| 544 // borderLeftWidth and borderTopWidth. | 565 // borderLeftWidth and borderTopWidth. |
| 545 DISABLE_CFI_PERF LayoutUnit clientLeft() const { | 566 DISABLE_CFI_PERF LayoutUnit clientLeft() const { |
| 546 return LayoutUnit(borderLeft() + | 567 return LayoutUnit(borderLeft() + |
| 547 (shouldPlaceBlockDirectionScrollbarOnLogicalLeft() | 568 (shouldPlaceBlockDirectionScrollbarOnLogicalLeft() |
| (...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1172 // for vertical writing modes). | 1193 // for vertical writing modes). |
| 1173 if (!UNLIKELY(hasFlippedBlocksWritingMode())) | 1194 if (!UNLIKELY(hasFlippedBlocksWritingMode())) |
| 1174 return position; | 1195 return position; |
| 1175 return logicalHeight() - position; | 1196 return logicalHeight() - position; |
| 1176 } | 1197 } |
| 1177 WARN_UNUSED_RESULT LayoutPoint | 1198 WARN_UNUSED_RESULT LayoutPoint |
| 1178 flipForWritingMode(const LayoutPoint& position) const { | 1199 flipForWritingMode(const LayoutPoint& position) const { |
| 1179 if (!UNLIKELY(hasFlippedBlocksWritingMode())) | 1200 if (!UNLIKELY(hasFlippedBlocksWritingMode())) |
| 1180 return position; | 1201 return position; |
| 1181 return isHorizontalWritingMode() | 1202 return isHorizontalWritingMode() |
| 1182 ? LayoutPoint(position.x(), m_frameRect.height() - position.y()) | 1203 ? LayoutPoint(position.x(), |
| 1183 : LayoutPoint(m_frameRect.width() - position.x(), position.y()); | 1204 m_ngPhysicalBoxFragment->Height() - position.y()) |
| 1205 : LayoutPoint(m_ngPhysicalBoxFragment->Width() - position.x(), |
| 1206 position.y()); |
| 1184 } | 1207 } |
| 1185 WARN_UNUSED_RESULT LayoutSize | 1208 WARN_UNUSED_RESULT LayoutSize |
| 1186 flipForWritingMode(const LayoutSize& offset) const { | 1209 flipForWritingMode(const LayoutSize& offset) const { |
| 1187 if (!UNLIKELY(hasFlippedBlocksWritingMode())) | 1210 if (!UNLIKELY(hasFlippedBlocksWritingMode())) |
| 1188 return offset; | 1211 return offset; |
| 1189 return LayoutSize(m_frameRect.width() - offset.width(), offset.height()); | 1212 return LayoutSize(m_ngPhysicalBoxFragment->Width() - offset.width(), |
| 1213 offset.height()); |
| 1190 } | 1214 } |
| 1191 void flipForWritingMode(LayoutRect& rect) const { | 1215 void flipForWritingMode(LayoutRect& rect) const { |
| 1192 if (!UNLIKELY(hasFlippedBlocksWritingMode())) | 1216 if (!UNLIKELY(hasFlippedBlocksWritingMode())) |
| 1193 return; | 1217 return; |
| 1194 rect.setX(m_frameRect.width() - rect.maxX()); | 1218 rect.setX(m_ngPhysicalBoxFragment->Width() - rect.maxX()); |
| 1195 } | 1219 } |
| 1196 WARN_UNUSED_RESULT FloatPoint | 1220 WARN_UNUSED_RESULT FloatPoint |
| 1197 flipForWritingMode(const FloatPoint& position) const { | 1221 flipForWritingMode(const FloatPoint& position) const { |
| 1198 if (!UNLIKELY(hasFlippedBlocksWritingMode())) | 1222 if (!UNLIKELY(hasFlippedBlocksWritingMode())) |
| 1199 return position; | 1223 return position; |
| 1200 return FloatPoint(m_frameRect.width() - position.x(), position.y()); | 1224 return FloatPoint(m_ngPhysicalBoxFragment->Width() - position.x(), |
| 1225 position.y()); |
| 1201 } | 1226 } |
| 1202 void flipForWritingMode(FloatRect& rect) const { | 1227 void flipForWritingMode(FloatRect& rect) const { |
| 1203 if (!UNLIKELY(hasFlippedBlocksWritingMode())) | 1228 if (!UNLIKELY(hasFlippedBlocksWritingMode())) |
| 1204 return; | 1229 return; |
| 1205 rect.setX(m_frameRect.width() - rect.maxX()); | 1230 rect.setX(m_ngPhysicalBoxFragment->Width() - rect.maxX()); |
| 1206 } | 1231 } |
| 1207 | 1232 |
| 1208 // Passing |container| causes flipped-block flipping w.r.t. that container, | 1233 // Passing |container| causes flipped-block flipping w.r.t. that container, |
| 1209 // or containingBlock() otherwise. | 1234 // or containingBlock() otherwise. |
| 1210 LayoutPoint physicalLocation( | 1235 LayoutPoint physicalLocation( |
| 1211 const LayoutBox* flippedBlocksContainer = nullptr) const; | 1236 const LayoutBox* flippedBlocksContainer = nullptr) const; |
| 1212 LayoutSize physicalLocationOffset() const { | 1237 LayoutSize physicalLocationOffset() const { |
| 1213 return toLayoutSize(physicalLocation()); | 1238 return toLayoutSize(physicalLocation()); |
| 1214 } | 1239 } |
| 1215 | 1240 |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1582 LayoutRect debugRect() const override; | 1607 LayoutRect debugRect() const override; |
| 1583 | 1608 |
| 1584 // The CSS border box rect for this box. | 1609 // The CSS border box rect for this box. |
| 1585 // | 1610 // |
| 1586 // The rectangle is in this box's physical coordinates but with a | 1611 // The rectangle is in this box's physical coordinates but with a |
| 1587 // flipped block-flow direction (see the COORDINATE SYSTEMS section | 1612 // flipped block-flow direction (see the COORDINATE SYSTEMS section |
| 1588 // in LayoutBoxModelObject). The location is the distance from this | 1613 // in LayoutBoxModelObject). The location is the distance from this |
| 1589 // object's border edge to the container's border edge (which is not | 1614 // object's border edge to the container's border edge (which is not |
| 1590 // always the parent). Thus it includes any logical top/left along | 1615 // always the parent). Thus it includes any logical top/left along |
| 1591 // with this box's margins. | 1616 // with this box's margins. |
| 1592 LayoutRect m_frameRect; | 1617 RefPtr<NGPhysicalBoxFragment> m_ngPhysicalBoxFragment; |
| 1593 | 1618 |
| 1594 // Previous size of m_frameRect, updated after paint invalidation. | 1619 // Previous size of m_frameRect, updated after paint invalidation. |
| 1595 LayoutSize m_previousSize; | 1620 LayoutSize m_previousSize; |
| 1596 | 1621 |
| 1597 // Our intrinsic height, used for min-height: min-content etc. Maintained by | 1622 // Our intrinsic height, used for min-height: min-content etc. Maintained by |
| 1598 // updateLogicalHeight. This is logicalHeight() before it is clamped to | 1623 // updateLogicalHeight. This is logicalHeight() before it is clamped to |
| 1599 // min/max. | 1624 // min/max. |
| 1600 mutable LayoutUnit m_intrinsicContentLogicalHeight; | 1625 mutable LayoutUnit m_intrinsicContentLogicalHeight; |
| 1601 | 1626 |
| 1602 protected: | 1627 protected: |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1698 breakValue == EBreakBetween::kLeft || | 1723 breakValue == EBreakBetween::kLeft || |
| 1699 breakValue == EBreakBetween::kPage || | 1724 breakValue == EBreakBetween::kPage || |
| 1700 breakValue == EBreakBetween::kRecto || | 1725 breakValue == EBreakBetween::kRecto || |
| 1701 breakValue == EBreakBetween::kRight || | 1726 breakValue == EBreakBetween::kRight || |
| 1702 breakValue == EBreakBetween::kVerso; | 1727 breakValue == EBreakBetween::kVerso; |
| 1703 } | 1728 } |
| 1704 | 1729 |
| 1705 } // namespace blink | 1730 } // namespace blink |
| 1706 | 1731 |
| 1707 #endif // LayoutBox_h | 1732 #endif // LayoutBox_h |
| OLD | NEW |