Commit 6f838129 authored by Kent Tamura's avatar Kent Tamura Committed by Commit Bot

TextControl NG: Remove DowncastTraits<LayoutTextControlSingleLine>

Text field inputs in LayoutNG might not use a subclass of
LayoutTextControlSingleLine. We should avoid operations on it.

LayoutTextControlSingleLineTest doesn't need to use
LayoutTextControlSingleLine, and LayoutBox is enough.

This CL has no behavior changes.

Bug: 1040826
Change-Id: Ica5a0acbf532b5a781b515d0ce9de1c4262abac0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2437721
Commit-Queue: Kent Tamura <tkent@chromium.org>
Commit-Queue: Koji Ishii <kojii@chromium.org>
Auto-Submit: Kent Tamura <tkent@chromium.org>
Reviewed-by: default avatarKoji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#811961}
parent 46677367
...@@ -2335,6 +2335,11 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject { ...@@ -2335,6 +2335,11 @@ class CORE_EXPORT LayoutBox : public LayoutBoxModelObject {
NGLayoutResultList layout_results_; NGLayoutResultList layout_results_;
}; };
template <>
struct DowncastTraits<LayoutBox> {
static bool AllowFrom(const LayoutObject& object) { return object.IsBox(); }
};
DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBox, IsBox()); DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBox, IsBox());
inline LayoutBox* LayoutBox::PreviousSiblingBox() const { inline LayoutBox* LayoutBox::PreviousSiblingBox() const {
......
...@@ -86,13 +86,6 @@ class LayoutTextControlSingleLine : public LayoutTextControl { ...@@ -86,13 +86,6 @@ class LayoutTextControlSingleLine : public LayoutTextControl {
HTMLElement* InnerSpinButtonElement() const; HTMLElement* InnerSpinButtonElement() const;
}; };
template <>
struct DowncastTraits<LayoutTextControlSingleLine> {
static bool AllowFrom(const LayoutObject& object) {
return object.IsTextField();
}
};
// ---------------------------- // ----------------------------
class LayoutTextControlInnerEditor : public LayoutBlockFlow { class LayoutTextControlInnerEditor : public LayoutBlockFlow {
......
...@@ -23,8 +23,7 @@ TEST_F(LayoutTextControlSingleLineTest, VisualOverflowCleared) { ...@@ -23,8 +23,7 @@ TEST_F(LayoutTextControlSingleLineTest, VisualOverflowCleared) {
</style> </style>
<input id=input type="text"></input. <input id=input type="text"></input.
)HTML"); )HTML");
auto* input = auto* input = To<LayoutBox>(GetLayoutObjectByElementId("input"));
To<LayoutTextControlSingleLine>(GetLayoutObjectByElementId("input"));
if (::features::IsFormControlsRefreshEnabled()) { if (::features::IsFormControlsRefreshEnabled()) {
EXPECT_EQ(LayoutRect(-3, -3, 74, 72), input->SelfVisualOverflowRect()); EXPECT_EQ(LayoutRect(-3, -3, 74, 72), input->SelfVisualOverflowRect());
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment