| 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 * |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 LayoutRect m_previousContentBoxRect; | 75 LayoutRect m_previousContentBoxRect; |
| 76 LayoutRect m_previousLayoutOverflowRect; | 76 LayoutRect m_previousLayoutOverflowRect; |
| 77 | 77 |
| 78 LayoutUnit m_pageLogicalOffset; | 78 LayoutUnit m_pageLogicalOffset; |
| 79 }; | 79 }; |
| 80 | 80 |
| 81 class CORE_EXPORT LayoutBox : public LayoutBoxModelObject { | 81 class CORE_EXPORT LayoutBox : public LayoutBoxModelObject { |
| 82 public: | 82 public: |
| 83 explicit LayoutBox(ContainerNode*); | 83 explicit LayoutBox(ContainerNode*); |
| 84 | 84 |
| 85 virtual DeprecatedPaintLayerType layerTypeRequired() const override; | 85 DeprecatedPaintLayerType layerTypeRequired() const override; |
| 86 | 86 |
| 87 virtual bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect)
const override; | 87 bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect) const ov
erride; |
| 88 | 88 |
| 89 virtual bool backgroundShouldAlwaysBeClipped() const { return false; } | 89 virtual bool backgroundShouldAlwaysBeClipped() const { return false; } |
| 90 | 90 |
| 91 // Use this with caution! No type checking is done! | 91 // Use this with caution! No type checking is done! |
| 92 LayoutBox* firstChildBox() const; | 92 LayoutBox* firstChildBox() const; |
| 93 LayoutBox* lastChildBox() const; | 93 LayoutBox* lastChildBox() const; |
| 94 | 94 |
| 95 int pixelSnappedWidth() const { return m_frameRect.pixelSnappedWidth(); } | 95 int pixelSnappedWidth() const { return m_frameRect.pixelSnappedWidth(); } |
| 96 int pixelSnappedHeight() const { return m_frameRect.pixelSnappedHeight(); } | 96 int pixelSnappedHeight() const { return m_frameRect.pixelSnappedHeight(); } |
| 97 | 97 |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 { | 219 { |
| 220 if (rect == m_frameRect) | 220 if (rect == m_frameRect) |
| 221 return; | 221 return; |
| 222 m_frameRect = rect; | 222 m_frameRect = rect; |
| 223 frameRectChanged(); | 223 frameRectChanged(); |
| 224 } | 224 } |
| 225 | 225 |
| 226 LayoutRect borderBoxRect() const { return LayoutRect(LayoutPoint(), size());
} | 226 LayoutRect borderBoxRect() const { return LayoutRect(LayoutPoint(), size());
} |
| 227 LayoutRect paddingBoxRect() const { return LayoutRect(borderLeft(), borderTo
p(), clientWidth(), clientHeight()); } | 227 LayoutRect paddingBoxRect() const { return LayoutRect(borderLeft(), borderTo
p(), clientWidth(), clientHeight()); } |
| 228 IntRect pixelSnappedBorderBoxRect() const { return IntRect(IntPoint(), m_fra
meRect.pixelSnappedSize()); } | 228 IntRect pixelSnappedBorderBoxRect() const { return IntRect(IntPoint(), m_fra
meRect.pixelSnappedSize()); } |
| 229 virtual IntRect borderBoundingBox() const override final { return pixelSnapp
edBorderBoxRect(); } | 229 IntRect borderBoundingBox() const final { return pixelSnappedBorderBoxRect()
; } |
| 230 | 230 |
| 231 // The content area of the box (excludes padding - and intrinsic padding for
table cells, etc... - and border). | 231 // The content area of the box (excludes padding - and intrinsic padding for
table cells, etc... - and border). |
| 232 LayoutRect contentBoxRect() const { return LayoutRect(borderLeft() + padding
Left(), borderTop() + paddingTop(), contentWidth(), contentHeight()); } | 232 LayoutRect contentBoxRect() const { return LayoutRect(borderLeft() + padding
Left(), borderTop() + paddingTop(), contentWidth(), contentHeight()); } |
| 233 LayoutSize contentBoxOffset() const { return LayoutSize(borderLeft() + paddi
ngLeft(), borderTop() + paddingTop()); } | 233 LayoutSize contentBoxOffset() const { return LayoutSize(borderLeft() + paddi
ngLeft(), borderTop() + paddingTop()); } |
| 234 // The content box in absolute coords. Ignores transforms. | 234 // The content box in absolute coords. Ignores transforms. |
| 235 IntRect absoluteContentBox() const; | 235 IntRect absoluteContentBox() const; |
| 236 // The offset of the content box in absolute coords, ignoring transforms. | 236 // The offset of the content box in absolute coords, ignoring transforms. |
| 237 IntSize absoluteContentBoxOffset() const; | 237 IntSize absoluteContentBoxOffset() const; |
| 238 // The content box converted to absolute coords (taking transforms into acco
unt). | 238 // The content box converted to absolute coords (taking transforms into acco
unt). |
| 239 FloatQuad absoluteContentQuad() const; | 239 FloatQuad absoluteContentQuad() const; |
| 240 | 240 |
| 241 // This returns the content area of the box (excluding padding and border).
The only difference with contentBoxRect is that computedCSSContentBoxRect | 241 // This returns the content area of the box (excluding padding and border).
The only difference with contentBoxRect is that computedCSSContentBoxRect |
| 242 // does include the intrinsic padding in the content box as this is what som
e callers expect (like getComputedStyle). | 242 // does include the intrinsic padding in the content box as this is what som
e callers expect (like getComputedStyle). |
| 243 LayoutRect computedCSSContentBoxRect() const { return LayoutRect(borderLeft(
) + computedCSSPaddingLeft(), borderTop() + computedCSSPaddingTop(), clientWidth
() - computedCSSPaddingLeft() - computedCSSPaddingRight(), clientHeight() - comp
utedCSSPaddingTop() - computedCSSPaddingBottom()); } | 243 LayoutRect computedCSSContentBoxRect() const { return LayoutRect(borderLeft(
) + computedCSSPaddingLeft(), borderTop() + computedCSSPaddingTop(), clientWidth
() - computedCSSPaddingLeft() - computedCSSPaddingRight(), clientHeight() - comp
utedCSSPaddingTop() - computedCSSPaddingBottom()); } |
| 244 | 244 |
| 245 virtual void addFocusRingRects(Vector<LayoutRect>&, const LayoutPoint& addit
ionalOffset) const override; | 245 void addFocusRingRects(Vector<LayoutRect>&, const LayoutPoint& additionalOff
set) const override; |
| 246 | 246 |
| 247 // Use this with caution! No type checking is done! | 247 // Use this with caution! No type checking is done! |
| 248 LayoutBox* previousSiblingBox() const; | 248 LayoutBox* previousSiblingBox() const; |
| 249 LayoutBox* previousInFlowSiblingBox() const; | 249 LayoutBox* previousInFlowSiblingBox() const; |
| 250 LayoutBox* nextSiblingBox() const; | 250 LayoutBox* nextSiblingBox() const; |
| 251 LayoutBox* nextInFlowSiblingBox() const; | 251 LayoutBox* nextInFlowSiblingBox() const; |
| 252 LayoutBox* parentBox() const; | 252 LayoutBox* parentBox() const; |
| 253 | 253 |
| 254 // Return the previous sibling column set or spanner placeholder. Only to be
used on multicol container children. | 254 // Return the previous sibling column set or spanner placeholder. Only to be
used on multicol container children. |
| 255 LayoutBox* previousSiblingMultiColumnBox() const; | 255 LayoutBox* previousSiblingMultiColumnBox() const; |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 291 void updateLayerTransformAfterLayout(); | 291 void updateLayerTransformAfterLayout(); |
| 292 | 292 |
| 293 LayoutUnit contentWidth() const { return clientWidth() - paddingLeft() - pad
dingRight(); } | 293 LayoutUnit contentWidth() const { return clientWidth() - paddingLeft() - pad
dingRight(); } |
| 294 LayoutUnit contentHeight() const { return clientHeight() - paddingTop() - pa
ddingBottom(); } | 294 LayoutUnit contentHeight() const { return clientHeight() - paddingTop() - pa
ddingBottom(); } |
| 295 LayoutSize contentSize() const { return LayoutSize(contentWidth(), contentHe
ight()); } | 295 LayoutSize contentSize() const { return LayoutSize(contentWidth(), contentHe
ight()); } |
| 296 LayoutUnit contentLogicalWidth() const { return style()->isHorizontalWriting
Mode() ? contentWidth() : contentHeight(); } | 296 LayoutUnit contentLogicalWidth() const { return style()->isHorizontalWriting
Mode() ? contentWidth() : contentHeight(); } |
| 297 LayoutUnit contentLogicalHeight() const { return style()->isHorizontalWritin
gMode() ? contentHeight() : contentWidth(); } | 297 LayoutUnit contentLogicalHeight() const { return style()->isHorizontalWritin
gMode() ? contentHeight() : contentWidth(); } |
| 298 | 298 |
| 299 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlin
es (LayoutFlow) | 299 // IE extensions. Used to calculate offsetWidth/Height. Overridden by inlin
es (LayoutFlow) |
| 300 // to return the remaining width on a given line (and the height of a single
line). | 300 // to return the remaining width on a given line (and the height of a single
line). |
| 301 virtual LayoutUnit offsetWidth() const override { return m_frameRect.width()
; } | 301 LayoutUnit offsetWidth() const override { return m_frameRect.width(); } |
| 302 virtual LayoutUnit offsetHeight() const override { return m_frameRect.height
(); } | 302 LayoutUnit offsetHeight() const override { return m_frameRect.height(); } |
| 303 | 303 |
| 304 virtual int pixelSnappedOffsetWidth() const override final; | 304 int pixelSnappedOffsetWidth() const final; |
| 305 virtual int pixelSnappedOffsetHeight() const override final; | 305 int pixelSnappedOffsetHeight() const final; |
| 306 | 306 |
| 307 // More IE extensions. clientWidth and clientHeight represent the interior
of an object | 307 // More IE extensions. clientWidth and clientHeight represent the interior
of an object |
| 308 // excluding border and scrollbar. clientLeft/Top are just the borderLeftWi
dth and borderTopWidth. | 308 // excluding border and scrollbar. clientLeft/Top are just the borderLeftWi
dth and borderTopWidth. |
| 309 LayoutUnit clientLeft() const { return borderLeft() + (style()->shouldPlaceB
lockDirectionScrollbarOnLogicalLeft() ? verticalScrollbarWidth() : 0); } | 309 LayoutUnit clientLeft() const { return borderLeft() + (style()->shouldPlaceB
lockDirectionScrollbarOnLogicalLeft() ? verticalScrollbarWidth() : 0); } |
| 310 LayoutUnit clientTop() const { return borderTop(); } | 310 LayoutUnit clientTop() const { return borderTop(); } |
| 311 LayoutUnit clientWidth() const; | 311 LayoutUnit clientWidth() const; |
| 312 LayoutUnit clientHeight() const; | 312 LayoutUnit clientHeight() const; |
| 313 LayoutUnit clientLogicalWidth() const { return style()->isHorizontalWritingM
ode() ? clientWidth() : clientHeight(); } | 313 LayoutUnit clientLogicalWidth() const { return style()->isHorizontalWritingM
ode() ? clientWidth() : clientHeight(); } |
| 314 LayoutUnit clientLogicalHeight() const { return style()->isHorizontalWriting
Mode() ? clientHeight() : clientWidth(); } | 314 LayoutUnit clientLogicalHeight() const { return style()->isHorizontalWriting
Mode() ? clientHeight() : clientWidth(); } |
| 315 LayoutUnit clientLogicalBottom() const { return borderBefore() + clientLogic
alHeight(); } | 315 LayoutUnit clientLogicalBottom() const { return borderBefore() + clientLogic
alHeight(); } |
| (...skipping 13 matching lines...) Expand all Loading... |
| 329 virtual LayoutUnit scrollHeight() const; | 329 virtual LayoutUnit scrollHeight() const; |
| 330 int pixelSnappedScrollWidth() const; | 330 int pixelSnappedScrollWidth() const; |
| 331 int pixelSnappedScrollHeight() const; | 331 int pixelSnappedScrollHeight() const; |
| 332 virtual void setScrollLeft(LayoutUnit); | 332 virtual void setScrollLeft(LayoutUnit); |
| 333 virtual void setScrollTop(LayoutUnit); | 333 virtual void setScrollTop(LayoutUnit); |
| 334 | 334 |
| 335 void scrollToOffset(const DoubleSize&, ScrollBehavior = ScrollBehaviorInstan
t); | 335 void scrollToOffset(const DoubleSize&, ScrollBehavior = ScrollBehaviorInstan
t); |
| 336 void scrollByRecursively(const DoubleSize& delta, ScrollOffsetClamping = Scr
ollOffsetUnclamped); | 336 void scrollByRecursively(const DoubleSize& delta, ScrollOffsetClamping = Scr
ollOffsetUnclamped); |
| 337 void scrollRectToVisible(const LayoutRect&, const ScrollAlignment& alignX, c
onst ScrollAlignment& alignY); | 337 void scrollRectToVisible(const LayoutRect&, const ScrollAlignment& alignX, c
onst ScrollAlignment& alignY); |
| 338 | 338 |
| 339 virtual LayoutRectOutsets marginBoxOutsets() const override { return m_margi
nBoxOutsets; } | 339 LayoutRectOutsets marginBoxOutsets() const override { return m_marginBoxOuts
ets; } |
| 340 virtual LayoutUnit marginTop() const override { return m_marginBoxOutsets.to
p(); } | 340 LayoutUnit marginTop() const override { return m_marginBoxOutsets.top(); } |
| 341 virtual LayoutUnit marginBottom() const override { return m_marginBoxOutsets
.bottom(); } | 341 LayoutUnit marginBottom() const override { return m_marginBoxOutsets.bottom(
); } |
| 342 virtual LayoutUnit marginLeft() const override { return m_marginBoxOutsets.l
eft(); } | 342 LayoutUnit marginLeft() const override { return m_marginBoxOutsets.left(); } |
| 343 virtual LayoutUnit marginRight() const override { return m_marginBoxOutsets.
right(); } | 343 LayoutUnit marginRight() const override { return m_marginBoxOutsets.right();
} |
| 344 void setMarginTop(LayoutUnit margin) { m_marginBoxOutsets.setTop(margin); } | 344 void setMarginTop(LayoutUnit margin) { m_marginBoxOutsets.setTop(margin); } |
| 345 void setMarginBottom(LayoutUnit margin) { m_marginBoxOutsets.setBottom(margi
n); } | 345 void setMarginBottom(LayoutUnit margin) { m_marginBoxOutsets.setBottom(margi
n); } |
| 346 void setMarginLeft(LayoutUnit margin) { m_marginBoxOutsets.setLeft(margin);
} | 346 void setMarginLeft(LayoutUnit margin) { m_marginBoxOutsets.setLeft(margin);
} |
| 347 void setMarginRight(LayoutUnit margin) { m_marginBoxOutsets.setRight(margin)
; } | 347 void setMarginRight(LayoutUnit margin) { m_marginBoxOutsets.setRight(margin)
; } |
| 348 | 348 |
| 349 LayoutUnit marginLogicalLeft() const { return m_marginBoxOutsets.logicalLeft
(style()->writingMode()); } | 349 LayoutUnit marginLogicalLeft() const { return m_marginBoxOutsets.logicalLeft
(style()->writingMode()); } |
| 350 LayoutUnit marginLogicalRight() const { return m_marginBoxOutsets.logicalRig
ht(style()->writingMode()); } | 350 LayoutUnit marginLogicalRight() const { return m_marginBoxOutsets.logicalRig
ht(style()->writingMode()); } |
| 351 | 351 |
| 352 virtual LayoutUnit marginBefore(const ComputedStyle* overrideStyle = nullptr
) const override final { return m_marginBoxOutsets.before((overrideStyle ? overr
ideStyle : style())->writingMode()); } | 352 LayoutUnit marginBefore(const ComputedStyle* overrideStyle = nullptr) const
final { return m_marginBoxOutsets.before((overrideStyle ? overrideStyle : style(
))->writingMode()); } |
| 353 virtual LayoutUnit marginAfter(const ComputedStyle* overrideStyle = nullptr)
const override final { return m_marginBoxOutsets.after((overrideStyle ? overrid
eStyle : style())->writingMode()); } | 353 LayoutUnit marginAfter(const ComputedStyle* overrideStyle = nullptr) const f
inal { return m_marginBoxOutsets.after((overrideStyle ? overrideStyle : style())
->writingMode()); } |
| 354 virtual LayoutUnit marginStart(const ComputedStyle* overrideStyle = nullptr)
const override final | 354 LayoutUnit marginStart(const ComputedStyle* overrideStyle = nullptr) const f
inal |
| 355 { | 355 { |
| 356 const ComputedStyle* styleToUse = overrideStyle ? overrideStyle : style(
); | 356 const ComputedStyle* styleToUse = overrideStyle ? overrideStyle : style(
); |
| 357 return m_marginBoxOutsets.start(styleToUse->writingMode(), styleToUse->d
irection()); | 357 return m_marginBoxOutsets.start(styleToUse->writingMode(), styleToUse->d
irection()); |
| 358 } | 358 } |
| 359 virtual LayoutUnit marginEnd(const ComputedStyle* overrideStyle = nullptr) c
onst override final | 359 LayoutUnit marginEnd(const ComputedStyle* overrideStyle = nullptr) const fin
al |
| 360 { | 360 { |
| 361 const ComputedStyle* styleToUse = overrideStyle ? overrideStyle : style(
); | 361 const ComputedStyle* styleToUse = overrideStyle ? overrideStyle : style(
); |
| 362 return m_marginBoxOutsets.end(styleToUse->writingMode(), styleToUse->dir
ection()); | 362 return m_marginBoxOutsets.end(styleToUse->writingMode(), styleToUse->dir
ection()); |
| 363 } | 363 } |
| 364 void setMarginBefore(LayoutUnit value, const ComputedStyle* overrideStyle =
nullptr) { m_marginBoxOutsets.setBefore((overrideStyle ? overrideStyle : style()
)->writingMode(), value); } | 364 void setMarginBefore(LayoutUnit value, const ComputedStyle* overrideStyle =
nullptr) { m_marginBoxOutsets.setBefore((overrideStyle ? overrideStyle : style()
)->writingMode(), value); } |
| 365 void setMarginAfter(LayoutUnit value, const ComputedStyle* overrideStyle = n
ullptr) { m_marginBoxOutsets.setAfter((overrideStyle ? overrideStyle : style())-
>writingMode(), value); } | 365 void setMarginAfter(LayoutUnit value, const ComputedStyle* overrideStyle = n
ullptr) { m_marginBoxOutsets.setAfter((overrideStyle ? overrideStyle : style())-
>writingMode(), value); } |
| 366 void setMarginStart(LayoutUnit value, const ComputedStyle* overrideStyle = n
ullptr) | 366 void setMarginStart(LayoutUnit value, const ComputedStyle* overrideStyle = n
ullptr) |
| 367 { | 367 { |
| 368 const ComputedStyle* styleToUse = overrideStyle ? overrideStyle : style(
); | 368 const ComputedStyle* styleToUse = overrideStyle ? overrideStyle : style(
); |
| 369 m_marginBoxOutsets.setStart(styleToUse->writingMode(), styleToUse->direc
tion(), value); | 369 m_marginBoxOutsets.setStart(styleToUse->writingMode(), styleToUse->direc
tion(), value); |
| 370 } | 370 } |
| 371 void setMarginEnd(LayoutUnit value, const ComputedStyle* overrideStyle = nul
lptr) | 371 void setMarginEnd(LayoutUnit value, const ComputedStyle* overrideStyle = nul
lptr) |
| 372 { | 372 { |
| 373 const ComputedStyle* styleToUse = overrideStyle ? overrideStyle : style(
); | 373 const ComputedStyle* styleToUse = overrideStyle ? overrideStyle : style(
); |
| 374 m_marginBoxOutsets.setEnd(styleToUse->writingMode(), styleToUse->directi
on(), value); | 374 m_marginBoxOutsets.setEnd(styleToUse->writingMode(), styleToUse->directi
on(), value); |
| 375 } | 375 } |
| 376 | 376 |
| 377 // The following functions are used to implement collapsing margins. | 377 // The following functions are used to implement collapsing margins. |
| 378 // All objects know their maximal positive and negative margins. The | 378 // All objects know their maximal positive and negative margins. The |
| 379 // formula for computing a collapsed margin is |maxPosMargin| - |maxNegmargi
n|. | 379 // formula for computing a collapsed margin is |maxPosMargin| - |maxNegmargi
n|. |
| 380 // For a non-collapsing box, such as a leaf element, this formula will simpl
y return | 380 // For a non-collapsing box, such as a leaf element, this formula will simpl
y return |
| 381 // the margin of the element. Blocks override the maxMarginBefore and maxMa
rginAfter | 381 // the margin of the element. Blocks override the maxMarginBefore and maxMa
rginAfter |
| 382 // methods. | 382 // methods. |
| 383 virtual bool isSelfCollapsingBlock() const { return false; } | 383 virtual bool isSelfCollapsingBlock() const { return false; } |
| 384 virtual LayoutUnit collapsedMarginBefore() const { return marginBefore(); } | 384 virtual LayoutUnit collapsedMarginBefore() const { return marginBefore(); } |
| 385 virtual LayoutUnit collapsedMarginAfter() const { return marginAfter(); } | 385 virtual LayoutUnit collapsedMarginAfter() const { return marginAfter(); } |
| 386 LayoutRectOutsets collapsedMarginBoxLogicalOutsets() const { return LayoutRe
ctOutsets(collapsedMarginBefore(), 0, collapsedMarginAfter(), 0); } | 386 LayoutRectOutsets collapsedMarginBoxLogicalOutsets() const { return LayoutRe
ctOutsets(collapsedMarginBefore(), 0, collapsedMarginAfter(), 0); } |
| 387 | 387 |
| 388 virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedO
ffset) const override; | 388 void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) c
onst override; |
| 389 virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const overrid
e; | 389 void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const override; |
| 390 | 390 |
| 391 int reflectionOffset() const; | 391 int reflectionOffset() const; |
| 392 // Given a rect in the object's coordinate space, returns the corresponding
rect in the reflection. | 392 // Given a rect in the object's coordinate space, returns the corresponding
rect in the reflection. |
| 393 LayoutRect reflectedRect(const LayoutRect&) const; | 393 LayoutRect reflectedRect(const LayoutRect&) const; |
| 394 | 394 |
| 395 virtual void layout() override; | 395 void layout() override; |
| 396 virtual void paint(const PaintInfo&, const LayoutPoint&) override; | 396 void paint(const PaintInfo&, const LayoutPoint&) override; |
| 397 virtual bool nodeAtPoint(HitTestResult&, const HitTestLocation& locationInCo
ntainer, const LayoutPoint& accumulatedOffset, HitTestAction) override; | 397 bool nodeAtPoint(HitTestResult&, const HitTestLocation& locationInContainer,
const LayoutPoint& accumulatedOffset, HitTestAction) override; |
| 398 | 398 |
| 399 virtual LayoutUnit minPreferredLogicalWidth() const override; | 399 LayoutUnit minPreferredLogicalWidth() const override; |
| 400 virtual LayoutUnit maxPreferredLogicalWidth() const override; | 400 LayoutUnit maxPreferredLogicalWidth() const override; |
| 401 | 401 |
| 402 // FIXME: We should rename these back to overrideLogicalHeight/Width and hav
e them store | 402 // FIXME: We should rename these back to overrideLogicalHeight/Width and hav
e them store |
| 403 // the border-box height/width like the regular height/width accessors on La
youtBox. | 403 // the border-box height/width like the regular height/width accessors on La
youtBox. |
| 404 // Right now, these are different than contentHeight/contentWidth because th
ey still | 404 // Right now, these are different than contentHeight/contentWidth because th
ey still |
| 405 // include the scrollbar height/width. | 405 // include the scrollbar height/width. |
| 406 LayoutUnit overrideLogicalContentWidth() const; | 406 LayoutUnit overrideLogicalContentWidth() const; |
| 407 LayoutUnit overrideLogicalContentHeight() const; | 407 LayoutUnit overrideLogicalContentHeight() const; |
| 408 bool hasOverrideLogicalContentHeight() const; | 408 bool hasOverrideLogicalContentHeight() const; |
| 409 bool hasOverrideLogicalContentWidth() const; | 409 bool hasOverrideLogicalContentWidth() const; |
| 410 void setOverrideLogicalContentHeight(LayoutUnit); | 410 void setOverrideLogicalContentHeight(LayoutUnit); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 421 void setOverrideContainingBlockContentLogicalHeight(LayoutUnit); | 421 void setOverrideContainingBlockContentLogicalHeight(LayoutUnit); |
| 422 void clearContainingBlockOverrideSize(); | 422 void clearContainingBlockOverrideSize(); |
| 423 void clearOverrideContainingBlockContentLogicalHeight(); | 423 void clearOverrideContainingBlockContentLogicalHeight(); |
| 424 | 424 |
| 425 LayoutUnit extraInlineOffset() const; | 425 LayoutUnit extraInlineOffset() const; |
| 426 LayoutUnit extraBlockOffset() const; | 426 LayoutUnit extraBlockOffset() const; |
| 427 void setExtraInlineOffset(LayoutUnit inlineOffest); | 427 void setExtraInlineOffset(LayoutUnit inlineOffest); |
| 428 void setExtraBlockOffset(LayoutUnit blockOffest); | 428 void setExtraBlockOffset(LayoutUnit blockOffest); |
| 429 void clearExtraInlineAndBlockOffests(); | 429 void clearExtraInlineAndBlockOffests(); |
| 430 | 430 |
| 431 virtual LayoutSize offsetFromContainer(const LayoutObject*, const LayoutPoin
t&, bool* offsetDependsOnPoint = nullptr) const override; | 431 LayoutSize offsetFromContainer(const LayoutObject*, const LayoutPoint&, bool
* offsetDependsOnPoint = nullptr) const override; |
| 432 | 432 |
| 433 LayoutUnit adjustBorderBoxLogicalWidthForBoxSizing(LayoutUnit width) const; | 433 LayoutUnit adjustBorderBoxLogicalWidthForBoxSizing(LayoutUnit width) const; |
| 434 LayoutUnit adjustBorderBoxLogicalHeightForBoxSizing(LayoutUnit height) const
; | 434 LayoutUnit adjustBorderBoxLogicalHeightForBoxSizing(LayoutUnit height) const
; |
| 435 LayoutUnit adjustContentBoxLogicalWidthForBoxSizing(LayoutUnit width) const; | 435 LayoutUnit adjustContentBoxLogicalWidthForBoxSizing(LayoutUnit width) const; |
| 436 LayoutUnit adjustContentBoxLogicalHeightForBoxSizing(LayoutUnit height) cons
t; | 436 LayoutUnit adjustContentBoxLogicalHeightForBoxSizing(LayoutUnit height) cons
t; |
| 437 | 437 |
| 438 struct ComputedMarginValues { | 438 struct ComputedMarginValues { |
| 439 ComputedMarginValues() { } | 439 ComputedMarginValues() { } |
| 440 | 440 |
| 441 LayoutUnit m_before; | 441 LayoutUnit m_before; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 472 | 472 |
| 473 // For inline replaced elements, this function returns the inline box that o
wns us. Enables | 473 // For inline replaced elements, this function returns the inline box that o
wns us. Enables |
| 474 // the replaced LayoutObject to quickly determine what line it is contained
on and to easily | 474 // the replaced LayoutObject to quickly determine what line it is contained
on and to easily |
| 475 // iterate over structures on the line. | 475 // iterate over structures on the line. |
| 476 InlineBox* inlineBoxWrapper() const { return m_rareData ? m_rareData->m_inli
neBoxWrapper : 0; } | 476 InlineBox* inlineBoxWrapper() const { return m_rareData ? m_rareData->m_inli
neBoxWrapper : 0; } |
| 477 void setInlineBoxWrapper(InlineBox*); | 477 void setInlineBoxWrapper(InlineBox*); |
| 478 void deleteLineBoxWrapper(); | 478 void deleteLineBoxWrapper(); |
| 479 | 479 |
| 480 void setSpannerPlaceholder(LayoutMultiColumnSpannerPlaceholder&); | 480 void setSpannerPlaceholder(LayoutMultiColumnSpannerPlaceholder&); |
| 481 void clearSpannerPlaceholder(); | 481 void clearSpannerPlaceholder(); |
| 482 virtual LayoutMultiColumnSpannerPlaceholder* spannerPlaceholder() const fina
l { return m_rareData ? m_rareData->m_spannerPlaceholder : 0; } | 482 LayoutMultiColumnSpannerPlaceholder* spannerPlaceholder() const final { retu
rn m_rareData ? m_rareData->m_spannerPlaceholder : 0; } |
| 483 | 483 |
| 484 virtual LayoutRect clippedOverflowRectForPaintInvalidation(const LayoutBoxMo
delObject* paintInvalidationContainer, const PaintInvalidationState* = nullptr)
const override; | 484 LayoutRect clippedOverflowRectForPaintInvalidation(const LayoutBoxModelObjec
t* paintInvalidationContainer, const PaintInvalidationState* = nullptr) const ov
erride; |
| 485 virtual void mapRectToPaintInvalidationBacking(const LayoutBoxModelObject* p
aintInvalidationContainer, LayoutRect&, const PaintInvalidationState*) const ove
rride; | 485 void mapRectToPaintInvalidationBacking(const LayoutBoxModelObject* paintInva
lidationContainer, LayoutRect&, const PaintInvalidationState*) const override; |
| 486 virtual void invalidatePaintForOverhangingFloats(bool paintAllDescendants); | 486 virtual void invalidatePaintForOverhangingFloats(bool paintAllDescendants); |
| 487 | 487 |
| 488 LayoutUnit containingBlockLogicalHeightForGetComputedStyle() const; | 488 LayoutUnit containingBlockLogicalHeightForGetComputedStyle() const; |
| 489 | 489 |
| 490 virtual LayoutUnit containingBlockLogicalWidthForContent() const override; | 490 LayoutUnit containingBlockLogicalWidthForContent() const override; |
| 491 LayoutUnit containingBlockLogicalHeightForContent(AvailableLogicalHeightType
) const; | 491 LayoutUnit containingBlockLogicalHeightForContent(AvailableLogicalHeightType
) const; |
| 492 | 492 |
| 493 LayoutUnit containingBlockAvailableLineWidth() const; | 493 LayoutUnit containingBlockAvailableLineWidth() const; |
| 494 LayoutUnit perpendicularContainingBlockLogicalHeight() const; | 494 LayoutUnit perpendicularContainingBlockLogicalHeight() const; |
| 495 | 495 |
| 496 virtual void updateLogicalWidth(); | 496 virtual void updateLogicalWidth(); |
| 497 void updateLogicalHeight(); | 497 void updateLogicalHeight(); |
| 498 virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logic
alTop, LogicalExtentComputedValues&) const; | 498 virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logic
alTop, LogicalExtentComputedValues&) const; |
| 499 // This function will compute the logical border-box height, without laying
out the box. This means that the result | 499 // This function will compute the logical border-box height, without laying
out the box. This means that the result |
| 500 // is only "correct" when the height is explicitly specified. This function
exists so that intrinsic width calculations | 500 // is only "correct" when the height is explicitly specified. This function
exists so that intrinsic width calculations |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 572 virtual bool scrollsOverflowY() const { return hasOverflowClip() && (style()
->overflowY() == OSCROLL || hasAutoVerticalScrollbar()); } | 572 virtual bool scrollsOverflowY() const { return hasOverflowClip() && (style()
->overflowY() == OSCROLL || hasAutoVerticalScrollbar()); } |
| 573 bool usesCompositedScrolling() const; | 573 bool usesCompositedScrolling() const; |
| 574 | 574 |
| 575 // Elements such as the <input> field override this to specify that they are
scrollable | 575 // Elements such as the <input> field override this to specify that they are
scrollable |
| 576 // outside the context of the CSS overflow style | 576 // outside the context of the CSS overflow style |
| 577 virtual bool isIntrinsicallyScrollable(ScrollbarOrientation orientation) con
st { return false; } | 577 virtual bool isIntrinsicallyScrollable(ScrollbarOrientation orientation) con
st { return false; } |
| 578 | 578 |
| 579 bool hasUnsplittableScrollingOverflow() const; | 579 bool hasUnsplittableScrollingOverflow() const; |
| 580 bool isUnsplittableForPagination() const; | 580 bool isUnsplittableForPagination() const; |
| 581 | 581 |
| 582 virtual LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* e
xtraWidthToEndOfLine = nullptr) override; | 582 LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* extraWidt
hToEndOfLine = nullptr) override; |
| 583 | 583 |
| 584 virtual LayoutRect overflowClipRect(const LayoutPoint& location, OverlayScro
llbarSizeRelevancy = IgnoreOverlayScrollbarSize) const; | 584 virtual LayoutRect overflowClipRect(const LayoutPoint& location, OverlayScro
llbarSizeRelevancy = IgnoreOverlayScrollbarSize) const; |
| 585 LayoutRect clipRect(const LayoutPoint& location); | 585 LayoutRect clipRect(const LayoutPoint& location); |
| 586 virtual bool hasControlClip() const { return false; } | 586 virtual bool hasControlClip() const { return false; } |
| 587 virtual LayoutRect controlClipRect(const LayoutPoint&) const { return Layout
Rect(); } | 587 virtual LayoutRect controlClipRect(const LayoutPoint&) const { return Layout
Rect(); } |
| 588 | 588 |
| 589 virtual void paintBoxDecorationBackground(const PaintInfo&, const LayoutPoin
t&); | 589 virtual void paintBoxDecorationBackground(const PaintInfo&, const LayoutPoin
t&); |
| 590 virtual void paintMask(const PaintInfo&, const LayoutPoint&); | 590 virtual void paintMask(const PaintInfo&, const LayoutPoint&); |
| 591 virtual void imageChanged(WrappedImagePtr, const IntRect* = nullptr) overrid
e; | 591 void imageChanged(WrappedImagePtr, const IntRect* = nullptr) override; |
| 592 | 592 |
| 593 void logicalExtentAfterUpdatingLogicalWidth(const LayoutUnit& logicalTop, Lo
gicalExtentComputedValues&); | 593 void logicalExtentAfterUpdatingLogicalWidth(const LayoutUnit& logicalTop, Lo
gicalExtentComputedValues&); |
| 594 | 594 |
| 595 virtual PositionWithAffinity positionForPoint(const LayoutPoint&) override; | 595 PositionWithAffinity positionForPoint(const LayoutPoint&) override; |
| 596 | 596 |
| 597 void removeFloatingOrPositionedChildFromBlockLists(); | 597 void removeFloatingOrPositionedChildFromBlockLists(); |
| 598 | 598 |
| 599 DeprecatedPaintLayer* enclosingFloatPaintingLayer() const; | 599 DeprecatedPaintLayer* enclosingFloatPaintingLayer() const; |
| 600 | 600 |
| 601 virtual int firstLineBoxBaseline() const { return -1; } | 601 virtual int firstLineBoxBaseline() const { return -1; } |
| 602 virtual int inlineBlockBaseline(LineDirectionMode) const { return -1; } // R
eturns -1 if we should skip this box when computing the baseline of an inline-bl
ock. | 602 virtual int inlineBlockBaseline(LineDirectionMode) const { return -1; } // R
eturns -1 if we should skip this box when computing the baseline of an inline-bl
ock. |
| 603 | 603 |
| 604 bool shrinkToAvoidFloats() const; | 604 bool shrinkToAvoidFloats() const; |
| 605 virtual bool avoidsFloats() const; | 605 virtual bool avoidsFloats() const; |
| 606 | 606 |
| 607 virtual void markForPaginationRelayoutIfNeeded(SubtreeLayoutScope&); | 607 virtual void markForPaginationRelayoutIfNeeded(SubtreeLayoutScope&); |
| 608 | 608 |
| 609 bool isWritingModeRoot() const { return !parent() || parent()->style()->writ
ingMode() != style()->writingMode(); } | 609 bool isWritingModeRoot() const { return !parent() || parent()->style()->writ
ingMode() != style()->writingMode(); } |
| 610 | 610 |
| 611 bool isDeprecatedFlexItem() const { return !isInline() && !isFloatingOrOutOf
FlowPositioned() && parent() && parent()->isDeprecatedFlexibleBox(); } | 611 bool isDeprecatedFlexItem() const { return !isInline() && !isFloatingOrOutOf
FlowPositioned() && parent() && parent()->isDeprecatedFlexibleBox(); } |
| 612 bool isFlexItemIncludingDeprecated() const { return !isInline() && !isFloati
ngOrOutOfFlowPositioned() && parent() && parent()->isFlexibleBoxIncludingDepreca
ted(); } | 612 bool isFlexItemIncludingDeprecated() const { return !isInline() && !isFloati
ngOrOutOfFlowPositioned() && parent() && parent()->isFlexibleBoxIncludingDepreca
ted(); } |
| 613 | 613 |
| 614 bool isGridItem() const { return parent() && parent()->isLayoutGrid(); } | 614 bool isGridItem() const { return parent() && parent()->isLayoutGrid(); } |
| 615 | 615 |
| 616 virtual LayoutUnit lineHeight(bool firstLine, LineDirectionMode, LinePositio
nMode = PositionOnContainingLine) const override; | 616 LayoutUnit lineHeight(bool firstLine, LineDirectionMode, LinePositionMode =
PositionOnContainingLine) const override; |
| 617 virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode
, LinePositionMode = PositionOnContainingLine) const override; | 617 int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePo
sitionMode = PositionOnContainingLine) const override; |
| 618 | 618 |
| 619 virtual LayoutUnit offsetLeft() const override; | 619 LayoutUnit offsetLeft() const override; |
| 620 virtual LayoutUnit offsetTop() const override; | 620 LayoutUnit offsetTop() const override; |
| 621 | 621 |
| 622 LayoutPoint flipForWritingModeForChild(const LayoutBox* child, const LayoutP
oint&) const; | 622 LayoutPoint flipForWritingModeForChild(const LayoutBox* child, const LayoutP
oint&) const; |
| 623 LayoutUnit flipForWritingMode(LayoutUnit position) const WARN_UNUSED_RETURN
{ | 623 LayoutUnit flipForWritingMode(LayoutUnit position) const WARN_UNUSED_RETURN
{ |
| 624 // The offset is in the block direction (y for horizontal writing modes,
x for vertical writing modes). | 624 // The offset is in the block direction (y for horizontal writing modes,
x for vertical writing modes). |
| 625 if (!UNLIKELY(hasFlippedBlocksWritingMode())) | 625 if (!UNLIKELY(hasFlippedBlocksWritingMode())) |
| 626 return position; | 626 return position; |
| 627 return logicalHeight() - position; | 627 return logicalHeight() - position; |
| 628 } | 628 } |
| 629 LayoutPoint flipForWritingMode(const LayoutPoint& position) const WARN_UNUSE
D_RETURN { | 629 LayoutPoint flipForWritingMode(const LayoutPoint& position) const WARN_UNUSE
D_RETURN { |
| 630 if (!UNLIKELY(hasFlippedBlocksWritingMode())) | 630 if (!UNLIKELY(hasFlippedBlocksWritingMode())) |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 715 { | 715 { |
| 716 if (isFloating()) | 716 if (isFloating()) |
| 717 removeFloatingOrPositionedChildFromBlockLists(); | 717 removeFloatingOrPositionedChildFromBlockLists(); |
| 718 } | 718 } |
| 719 | 719 |
| 720 void setIntrinsicContentLogicalHeight(LayoutUnit intrinsicContentLogicalHeig
ht) const { m_intrinsicContentLogicalHeight = intrinsicContentLogicalHeight; } | 720 void setIntrinsicContentLogicalHeight(LayoutUnit intrinsicContentLogicalHeig
ht) const { m_intrinsicContentLogicalHeight = intrinsicContentLogicalHeight; } |
| 721 | 721 |
| 722 bool canRenderBorderImage() const; | 722 bool canRenderBorderImage() const; |
| 723 | 723 |
| 724 protected: | 724 protected: |
| 725 virtual void willBeDestroyed() override; | 725 void willBeDestroyed() override; |
| 726 | 726 |
| 727 virtual void styleWillChange(StyleDifference, const ComputedStyle& newStyle)
override; | 727 void styleWillChange(StyleDifference, const ComputedStyle& newStyle) overrid
e; |
| 728 virtual void styleDidChange(StyleDifference, const ComputedStyle* oldStyle)
override; | 728 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override
; |
| 729 virtual void updateFromStyle() override; | 729 void updateFromStyle() override; |
| 730 | 730 |
| 731 // Returns false if it could not cheaply compute the extent (e.g. fixed back
ground), in which case the returned rect may be incorrect. | 731 // Returns false if it could not cheaply compute the extent (e.g. fixed back
ground), in which case the returned rect may be incorrect. |
| 732 // FIXME: make this a const method once the LayoutBox reference in BoxPainte
r is const. | 732 // FIXME: make this a const method once the LayoutBox reference in BoxPainte
r is const. |
| 733 bool getBackgroundPaintedExtent(LayoutRect&); | 733 bool getBackgroundPaintedExtent(LayoutRect&); |
| 734 virtual bool foregroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect,
unsigned maxDepthToTest) const; | 734 virtual bool foregroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect,
unsigned maxDepthToTest) const; |
| 735 virtual bool computeBackgroundIsKnownToBeObscured() override; | 735 bool computeBackgroundIsKnownToBeObscured() override; |
| 736 | 736 |
| 737 void computePositionedLogicalWidth(LogicalExtentComputedValues&) const; | 737 void computePositionedLogicalWidth(LogicalExtentComputedValues&) const; |
| 738 | 738 |
| 739 LayoutUnit computeIntrinsicLogicalWidthUsing(const Length& logicalWidthLengt
h, LayoutUnit availableLogicalWidth, LayoutUnit borderAndPadding) const; | 739 LayoutUnit computeIntrinsicLogicalWidthUsing(const Length& logicalWidthLengt
h, LayoutUnit availableLogicalWidth, LayoutUnit borderAndPadding) const; |
| 740 LayoutUnit computeIntrinsicLogicalContentHeightUsing(const Length& logicalHe
ightLength, LayoutUnit intrinsicContentHeight, LayoutUnit borderAndPadding) cons
t; | 740 LayoutUnit computeIntrinsicLogicalContentHeightUsing(const Length& logicalHe
ightLength, LayoutUnit intrinsicContentHeight, LayoutUnit borderAndPadding) cons
t; |
| 741 | 741 |
| 742 virtual bool shouldComputeSizeAsReplaced() const { return isReplaced() && !i
sInlineBlockOrInlineTable(); } | 742 virtual bool shouldComputeSizeAsReplaced() const { return isReplaced() && !i
sInlineBlockOrInlineTable(); } |
| 743 | 743 |
| 744 virtual void mapLocalToContainer(const LayoutBoxModelObject* paintInvalidati
onContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wa
sFixed = nullptr, const PaintInvalidationState* = nullptr) const override; | 744 void mapLocalToContainer(const LayoutBoxModelObject* paintInvalidationContai
ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed =
nullptr, const PaintInvalidationState* = nullptr) const override; |
| 745 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c
onst override; | 745 void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) const ove
rride; |
| 746 | 746 |
| 747 LayoutObject* splitAnonymousBoxesAroundChild(LayoutObject* beforeChild); | 747 LayoutObject* splitAnonymousBoxesAroundChild(LayoutObject* beforeChild); |
| 748 | 748 |
| 749 virtual void addLayerHitTestRects(LayerHitTestRects&, const DeprecatedPaintL
ayer* currentCompositedLayer, const LayoutPoint& layerOffset, const LayoutRect&
containerRect) const override; | 749 void addLayerHitTestRects(LayerHitTestRects&, const DeprecatedPaintLayer* cu
rrentCompositedLayer, const LayoutPoint& layerOffset, const LayoutRect& containe
rRect) const override; |
| 750 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint&
layerOffset) const override; | 750 void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layerOf
fset) const override; |
| 751 | 751 |
| 752 virtual PaintInvalidationReason paintInvalidationReason(const LayoutBoxModel
Object& paintInvalidationContainer, | 752 PaintInvalidationReason paintInvalidationReason(const LayoutBoxModelObject&
paintInvalidationContainer, |
| 753 const LayoutRect& oldBounds, const LayoutPoint& oldPositionFromPaintInva
lidationContainer, | 753 const LayoutRect& oldBounds, const LayoutPoint& oldPositionFromPaintInva
lidationContainer, |
| 754 const LayoutRect& newBounds, const LayoutPoint& newPositionFromPaintInva
lidationContainer) const override; | 754 const LayoutRect& newBounds, const LayoutPoint& newPositionFromPaintInva
lidationContainer) const override; |
| 755 virtual void incrementallyInvalidatePaint(const LayoutBoxModelObject& paintI
nvalidationContainer, const LayoutRect& oldBounds, const LayoutRect& newBounds,
const LayoutPoint& positionFromPaintInvalidationContainer) override; | 755 void incrementallyInvalidatePaint(const LayoutBoxModelObject& paintInvalidat
ionContainer, const LayoutRect& oldBounds, const LayoutRect& newBounds, const La
youtPoint& positionFromPaintInvalidationContainer) override; |
| 756 | 756 |
| 757 virtual void clearPaintInvalidationState(const PaintInvalidationState&) over
ride; | 757 void clearPaintInvalidationState(const PaintInvalidationState&) override; |
| 758 #if ENABLE(ASSERT) | 758 #if ENABLE(ASSERT) |
| 759 virtual bool paintInvalidationStateIsDirty() const override; | 759 bool paintInvalidationStateIsDirty() const override; |
| 760 #endif | 760 #endif |
| 761 | 761 |
| 762 virtual PaintInvalidationReason invalidatePaintIfNeeded(PaintInvalidationSta
te&, const LayoutBoxModelObject& newPaintInvalidationContainer) override; | 762 PaintInvalidationReason invalidatePaintIfNeeded(PaintInvalidationState&, con
st LayoutBoxModelObject& newPaintInvalidationContainer) override; |
| 763 | 763 |
| 764 virtual bool hasNonCompositedScrollbars() const override final; | 764 bool hasNonCompositedScrollbars() const final; |
| 765 | 765 |
| 766 private: | 766 private: |
| 767 bool mustInvalidateBackgroundOrBorderPaintOnHeightChange() const; | 767 bool mustInvalidateBackgroundOrBorderPaintOnHeightChange() const; |
| 768 bool mustInvalidateBackgroundOrBorderPaintOnWidthChange() const; | 768 bool mustInvalidateBackgroundOrBorderPaintOnWidthChange() const; |
| 769 inline bool mustInvalidateFillLayersPaintOnWidthChange(const FillLayer&) con
st; | 769 inline bool mustInvalidateFillLayersPaintOnWidthChange(const FillLayer&) con
st; |
| 770 | 770 |
| 771 void invalidatePaintRectClippedByOldAndNewBounds(const LayoutBoxModelObject&
paintInvalidationContainer, const LayoutRect&, const LayoutRect& oldBounds, con
st LayoutRect& newBounds); | 771 void invalidatePaintRectClippedByOldAndNewBounds(const LayoutBoxModelObject&
paintInvalidationContainer, const LayoutRect&, const LayoutRect& oldBounds, con
st LayoutRect& newBounds); |
| 772 | 772 |
| 773 void updateShapeOutsideInfoAfterStyleChange(const ComputedStyle&, const Comp
utedStyle* oldStyle); | 773 void updateShapeOutsideInfoAfterStyleChange(const ComputedStyle&, const Comp
utedStyle* oldStyle); |
| 774 void updateGridPositionAfterStyleChange(const ComputedStyle*); | 774 void updateGridPositionAfterStyleChange(const ComputedStyle*); |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 928 if (UNLIKELY(inlineBoxWrapper() != nullptr)) | 928 if (UNLIKELY(inlineBoxWrapper() != nullptr)) |
| 929 deleteLineBoxWrapper(); | 929 deleteLineBoxWrapper(); |
| 930 } | 930 } |
| 931 | 931 |
| 932 ensureRareData().m_inlineBoxWrapper = boxWrapper; | 932 ensureRareData().m_inlineBoxWrapper = boxWrapper; |
| 933 } | 933 } |
| 934 | 934 |
| 935 } // namespace blink | 935 } // namespace blink |
| 936 | 936 |
| 937 #endif // LayoutBox_h | 937 #endif // LayoutBox_h |
| OLD | NEW |