RenderFileUploadControl.h [plain text]
#ifndef RenderFileUploadControl_h
#define RenderFileUploadControl_h
#include "RenderBlockFlow.h"
namespace WebCore {
class HTMLInputElement;
class RenderFileUploadControl final : public RenderBlockFlow {
public:
RenderFileUploadControl(HTMLInputElement&, RenderStyle&&);
virtual ~RenderFileUploadControl();
String buttonValue();
String fileTextValue() const;
HTMLInputElement& inputElement() const;
private:
void element() const = delete;
bool isFileUploadControl() const override { return true; }
const char* renderName() const override { return "RenderFileUploadControl"; }
void updateFromElement() override;
void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, LayoutUnit& maxLogicalWidth) const override;
void computePreferredLogicalWidths() override;
void paintObject(PaintInfo&, const LayoutPoint&) override;
bool requiresForcedStyleRecalcPropagation() const override { return true; }
int maxFilenameWidth() const;
VisiblePosition positionForPoint(const LayoutPoint&, const RenderRegion*) override;
HTMLInputElement* uploadButton() const;
bool m_canReceiveDroppedFiles;
};
}
SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderFileUploadControl, isFileUploadControl())
#endif // RenderFileUploadControl_h