< prev index next >
modules/javafx.web/src/main/native/Source/WebCore/rendering/RenderBox.h
Print this page
*** 59,72 ****
bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect) const final;
// Returns false for the body renderer if its background is propagated to the root.
bool paintsOwnBackground() const;
- // Use this with caution! No type checking is done!
- RenderBox* firstChildBox() const;
- RenderBox* lastChildBox() const;
-
LayoutUnit x() const { return m_frameRect.x(); }
LayoutUnit y() const { return m_frameRect.y(); }
LayoutUnit width() const { return m_frameRect.width(); }
LayoutUnit height() const { return m_frameRect.height(); }
--- 59,68 ----
*** 176,189 ****
void addFocusRingRects(Vector<LayoutRect>&, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer = nullptr) override;
FloatRect repaintRectInLocalCoordinates() const override { return borderBoxRect(); }
FloatRect objectBoundingBox() const override { return borderBoxRect(); }
! // Use this with caution! No type checking is done!
RenderBox* previousSiblingBox() const;
RenderBox* nextSiblingBox() const;
- RenderBox* parentBox() const;
// Visual and layout overflow are in the coordinate space of the box. This means that they aren't purely physical directions.
// For horizontal-tb and vertical-lr they will match physical directions, but for horizontal-bt and vertical-rl, the top/bottom and left/right
// respectively are flipped when compared to their physical counterparts. For example minX is on the left in vertical-lr,
// but it is on the right in vertical-rl.
--- 172,187 ----
void addFocusRingRects(Vector<LayoutRect>&, const LayoutPoint& additionalOffset, const RenderLayerModelObject* paintContainer = nullptr) override;
FloatRect repaintRectInLocalCoordinates() const override { return borderBoxRect(); }
FloatRect objectBoundingBox() const override { return borderBoxRect(); }
! // Note these functions are not equivalent of childrenOfType<RenderBox>
! RenderBox* parentBox() const;
! RenderBox* firstChildBox() const;
! RenderBox* lastChildBox() const;
RenderBox* previousSiblingBox() const;
RenderBox* nextSiblingBox() const;
// Visual and layout overflow are in the coordinate space of the box. This means that they aren't purely physical directions.
// For horizontal-tb and vertical-lr they will match physical directions, but for horizontal-bt and vertical-rl, the top/bottom and left/right
// respectively are flipped when compared to their physical counterparts. For example minX is on the left in vertical-lr,
// but it is on the right in vertical-rl.
*** 738,770 ****
private:
// Used to store state between styleWillChange and styleDidChange
static bool s_hadOverflowClip;
};
- inline RenderBox* RenderBox::previousSiblingBox() const
- {
- return downcast<RenderBox>(previousSibling());
- }
-
- inline RenderBox* RenderBox::nextSiblingBox() const
- {
- return downcast<RenderBox>(nextSibling());
- }
-
inline RenderBox* RenderBox::parentBox() const
{
return downcast<RenderBox>(parent());
}
inline RenderBox* RenderBox::firstChildBox() const
{
return downcast<RenderBox>(firstChild());
}
inline RenderBox* RenderBox::lastChildBox() const
{
return downcast<RenderBox>(lastChild());
}
inline void RenderBox::setInlineBoxWrapper(InlineElementBox* boxWrapper)
{
if (boxWrapper) {
--- 736,788 ----
private:
// Used to store state between styleWillChange and styleDidChange
static bool s_hadOverflowClip;
};
inline RenderBox* RenderBox::parentBox() const
{
+ if (is<RenderBox>(parent()))
return downcast<RenderBox>(parent());
+
+ ASSERT(!parent());
+ return nullptr;
}
inline RenderBox* RenderBox::firstChildBox() const
{
+ if (is<RenderBox>(firstChild()))
return downcast<RenderBox>(firstChild());
+
+ ASSERT(!firstChild());
+ return nullptr;
}
inline RenderBox* RenderBox::lastChildBox() const
{
+ if (is<RenderBox>(lastChild()))
return downcast<RenderBox>(lastChild());
+
+ ASSERT(!lastChild());
+ return nullptr;
+ }
+
+ inline RenderBox* RenderBox::previousSiblingBox() const
+ {
+ if (is<RenderBox>(previousSibling()))
+ return downcast<RenderBox>(previousSibling());
+
+ ASSERT(!previousSibling());
+ return nullptr;
+ }
+
+ inline RenderBox* RenderBox::nextSiblingBox() const
+ {
+ if (is<RenderBox>(nextSibling()))
+ return downcast<RenderBox>(nextSibling());
+
+ ASSERT(!nextSibling());
+ return nullptr;
}
inline void RenderBox::setInlineBoxWrapper(InlineElementBox* boxWrapper)
{
if (boxWrapper) {
< prev index next >