TextControlInnerElements.h [plain text]
#ifndef TextControlInnerElements_h
#define TextControlInnerElements_h
#include "HTMLDivElement.h"
#include <wtf/Forward.h>
namespace WebCore {
class RenderTextControlInnerBlock;
class TextControlInnerContainer final : public HTMLDivElement {
public:
static Ref<TextControlInnerContainer> create(Document&);
protected:
TextControlInnerContainer(Document&);
virtual RenderPtr<RenderElement> createElementRenderer(Ref<RenderStyle>&&, const RenderTreePosition&) override;
};
class TextControlInnerElement final : public HTMLDivElement {
public:
static Ref<TextControlInnerElement> create(Document&);
protected:
TextControlInnerElement(Document&);
virtual RefPtr<RenderStyle> customStyleForRenderer(RenderStyle& parentStyle) override;
private:
virtual bool isMouseFocusable() const override { return false; }
};
class TextControlInnerTextElement final : public HTMLDivElement {
public:
static Ref<TextControlInnerTextElement> create(Document&);
virtual void defaultEventHandler(Event*) override;
RenderTextControlInnerBlock* renderer() const;
private:
TextControlInnerTextElement(Document&);
virtual RenderPtr<RenderElement> createElementRenderer(Ref<RenderStyle>&&, const RenderTreePosition&) override;
virtual RefPtr<RenderStyle> customStyleForRenderer(RenderStyle& parentStyle) override;
virtual bool isMouseFocusable() const override { return false; }
virtual bool isTextControlInnerTextElement() const override { return true; }
};
class SearchFieldResultsButtonElement final : public HTMLDivElement {
public:
static Ref<SearchFieldResultsButtonElement> create(Document&);
virtual void defaultEventHandler(Event*) override;
#if !PLATFORM(IOS)
virtual bool willRespondToMouseClickEvents() override;
#endif
private:
SearchFieldResultsButtonElement(Document&);
virtual bool isMouseFocusable() const override { return false; }
};
class SearchFieldCancelButtonElement final : public HTMLDivElement {
public:
static Ref<SearchFieldCancelButtonElement> create(Document&);
virtual void defaultEventHandler(Event*) override;
#if !PLATFORM(IOS)
virtual bool willRespondToMouseClickEvents() override;
#endif
private:
SearchFieldCancelButtonElement(Document&);
virtual bool isMouseFocusable() const override { return false; }
};
}
SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::TextControlInnerTextElement)
static bool isType(const WebCore::HTMLElement& element) { return element.isTextControlInnerTextElement(); }
static bool isType(const WebCore::Node& node) { return is<WebCore::HTMLElement>(node) && isType(downcast<WebCore::HTMLElement>(node)); }
SPECIALIZE_TYPE_TRAITS_END()
#endif