Index: Source/core/rendering/RenderTextControl.h |
diff --git a/Source/core/rendering/RenderTextControl.h b/Source/core/rendering/RenderTextControl.h |
deleted file mode 100644 |
index d59a378326eea592c86f6cdfba5adbc898181d34..0000000000000000000000000000000000000000 |
--- a/Source/core/rendering/RenderTextControl.h |
+++ /dev/null |
@@ -1,113 +0,0 @@ |
-/* |
- * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. |
- * (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/) |
- * |
- * This library is free software; you can redistribute it and/or |
- * modify it under the terms of the GNU Library General Public |
- * License as published by the Free Software Foundation; either |
- * version 2 of the License, or (at your option) any later version. |
- * |
- * This library is distributed in the hope that it will be useful, |
- * but WITHOUT ANY WARRANTY; without even the implied warranty of |
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
- * Library General Public License for more details. |
- * |
- * You should have received a copy of the GNU Library General Public License |
- * along with this library; see the file COPYING.LIB. If not, write to |
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
- * Boston, MA 02110-1301, USA. |
- * |
- */ |
- |
-#ifndef RenderTextControl_h |
-#define RenderTextControl_h |
- |
-#include "core/rendering/RenderBlockFlow.h" |
-#include "core/rendering/RenderFlexibleBox.h" |
- |
-namespace blink { |
- |
-class HTMLTextFormControlElement; |
- |
-class RenderTextControl : public RenderBlockFlow { |
-public: |
- virtual ~RenderTextControl(); |
- |
- HTMLTextFormControlElement* textFormControlElement() const; |
- virtual PassRefPtr<LayoutStyle> createInnerEditorStyle(const LayoutStyle& startStyle) const = 0; |
- |
-protected: |
- RenderTextControl(HTMLTextFormControlElement*); |
- |
- // This convenience function should not be made public because |
- // innerEditorElement may outlive the render tree. |
- HTMLElement* innerEditorElement() const; |
- |
- int scrollbarThickness() const; |
- void adjustInnerEditorStyle(LayoutStyle& textBlockStyle) const; |
- |
- virtual void styleDidChange(StyleDifference, const LayoutStyle* oldStyle) override; |
- |
- void hitInnerEditorElement(HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset); |
- |
- int textBlockLogicalWidth() const; |
- int textBlockLogicalHeight() const; |
- |
- float scaleEmToUnits(int x) const; |
- |
- static bool hasValidAvgCharWidth(AtomicString family); |
- virtual float getAvgCharWidth(AtomicString family); |
- virtual LayoutUnit preferredContentLogicalWidth(float charWidth) const = 0; |
- virtual LayoutUnit computeControlLogicalHeight(LayoutUnit lineHeight, LayoutUnit nonContentHeight) const = 0; |
- |
- virtual void updateFromElement() override; |
- virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, LogicalExtentComputedValues&) const override; |
- virtual LayoutObject* layoutSpecialExcludedChild(bool relayoutChildren, SubtreeLayoutScope&) override; |
- |
- // We need to override this function because we don't want overflow:hidden on an <input> |
- // to affect the baseline calculation. This is necessary because we are an inline-block |
- // element as an implementation detail which would normally be affected by this. |
- virtual int inlineBlockBaseline(LineDirectionMode direction) const override { return lastLineBoxBaseline(direction); } |
- |
- virtual bool isOfType(LayoutObjectType type) const override { return type == LayoutObjectTextControl || RenderBlockFlow::isOfType(type); } |
- |
-private: |
- virtual const char* renderName() const override { return "RenderTextControl"; } |
- virtual void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, LayoutUnit& maxLogicalWidth) const override final; |
- virtual void computePreferredLogicalWidths() override final; |
- virtual void removeLeftoverAnonymousBlock(RenderBlock*) override final { } |
- virtual bool avoidsFloats() const override final { return true; } |
- virtual bool canHaveGeneratedChildren() const override final { return false; } |
- |
- virtual void addChild(LayoutObject* newChild, LayoutObject* beforeChild = 0) override final; |
- |
- virtual void addFocusRingRects(Vector<LayoutRect>&, const LayoutPoint& additionalOffset) const override final; |
- |
- virtual bool canBeProgramaticallyScrolled() const override final { return true; } |
-}; |
- |
-DEFINE_LAYOUT_OBJECT_TYPE_CASTS(RenderTextControl, isTextControl()); |
- |
-// Renderer for our inner container, for <search> and others. |
-// We can't use RenderFlexibleBox directly, because flexboxes have a different |
-// baseline definition, and then inputs of different types wouldn't line up |
-// anymore. |
-class RenderTextControlInnerContainer final : public RenderFlexibleBox { |
-public: |
- explicit RenderTextControlInnerContainer(Element* element) |
- : RenderFlexibleBox(element) |
- { } |
- virtual ~RenderTextControlInnerContainer() { } |
- |
- virtual int baselinePosition(FontBaseline baseline, bool firstLine, LineDirectionMode direction, LinePositionMode position) const override |
- { |
- return RenderBlock::baselinePosition(baseline, firstLine, direction, position); |
- } |
- virtual int firstLineBoxBaseline() const override { return RenderBlock::firstLineBoxBaseline(); } |
- virtual int inlineBlockBaseline(LineDirectionMode direction) const override { return lastLineBoxBaseline(direction); } |
-}; |
- |
- |
-} // namespace blink |
- |
-#endif // RenderTextControl_h |