diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/html/shadow/SliderThumbElement.h | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/html/shadow/SliderThumbElement.h')
-rw-r--r-- | Source/WebCore/html/shadow/SliderThumbElement.h | 77 |
1 files changed, 42 insertions, 35 deletions
diff --git a/Source/WebCore/html/shadow/SliderThumbElement.h b/Source/WebCore/html/shadow/SliderThumbElement.h index a061d63b8..f8a99b375 100644 --- a/Source/WebCore/html/shadow/SliderThumbElement.h +++ b/Source/WebCore/html/shadow/SliderThumbElement.h @@ -29,11 +29,9 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef SliderThumbElement_h -#define SliderThumbElement_h +#pragma once #include "HTMLDivElement.h" -#include "HTMLNames.h" #include "RenderBlockFlow.h" #include <wtf/Forward.h> @@ -45,15 +43,15 @@ class TouchEvent; class SliderThumbElement final : public HTMLDivElement { public: - static PassRefPtr<SliderThumbElement> create(Document&); + static Ref<SliderThumbElement> create(Document&); void setPositionFromValue(); void dragFrom(const LayoutPoint&); HTMLInputElement* hostInput() const; void setPositionFromPoint(const LayoutPoint&); -#if ENABLE(TOUCH_EVENTS) && PLATFORM(IOS) - void handleTouchEvent(TouchEvent*); +#if ENABLE(IOS_TOUCH_EVENTS) + void handleTouchEvent(TouchEvent&); void disabledAttributeChanged(); #endif @@ -61,81 +59,90 @@ public: private: SliderThumbElement(Document&); - virtual RenderPtr<RenderElement> createElementRenderer(PassRef<RenderStyle>) override; - virtual PassRefPtr<Element> cloneElementWithoutAttributesAndChildren() override; - virtual bool isDisabledFormControl() const override; - virtual bool matchesReadOnlyPseudoClass() const override; - virtual bool matchesReadWritePseudoClass() const override; - virtual Element* focusDelegate() override; + RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override; + + Ref<Element> cloneElementWithoutAttributesAndChildren(Document&) override; + bool isDisabledFormControl() const override; + bool matchesReadWritePseudoClass() const override; + Element* focusDelegate() override; #if !PLATFORM(IOS) - virtual void defaultEventHandler(Event*) override; - virtual bool willRespondToMouseMoveEvents() override; - virtual bool willRespondToMouseClickEvents() override; + void defaultEventHandler(Event&) override; + bool willRespondToMouseMoveEvents() override; + bool willRespondToMouseClickEvents() override; #endif -#if ENABLE(TOUCH_EVENTS) && PLATFORM(IOS) - virtual void didAttachRenderers() override; +#if ENABLE(IOS_TOUCH_EVENTS) + void didAttachRenderers() override; #endif - virtual void willDetachRenderers() override; + void willDetachRenderers() override; - virtual const AtomicString& shadowPseudoId() const override; + std::optional<ElementStyle> resolveCustomStyle(const RenderStyle&, const RenderStyle*) override; + const AtomicString& shadowPseudoId() const override; void startDragging(); void stopDragging(); -#if ENABLE(TOUCH_EVENTS) && PLATFORM(IOS) +#if ENABLE(IOS_TOUCH_EVENTS) unsigned exclusiveTouchIdentifier() const; void setExclusiveTouchIdentifier(unsigned); void clearExclusiveTouchIdentifier(); - void handleTouchStart(TouchEvent*); - void handleTouchMove(TouchEvent*); - void handleTouchEndAndCancel(TouchEvent*); + void handleTouchStart(TouchEvent&); + void handleTouchMove(TouchEvent&); + void handleTouchEndAndCancel(TouchEvent&); bool shouldAcceptTouchEvents(); void registerForTouchEvents(); void unregisterForTouchEvents(); #endif + AtomicString m_shadowPseudoId; bool m_inDragMode; -#if ENABLE(TOUCH_EVENTS) && PLATFORM(IOS) +#if ENABLE(IOS_TOUCH_EVENTS) // FIXME: Currently it is safe to use 0, but this may need to change - // if touch identifers change in the future and can be 0. + // if touch identifiers change in the future and can be 0. static const unsigned NoIdentifier = 0; unsigned m_exclusiveTouchIdentifier; bool m_isRegisteredAsTouchEventListener; #endif }; -inline PassRefPtr<SliderThumbElement> SliderThumbElement::create(Document& document) +inline Ref<SliderThumbElement> SliderThumbElement::create(Document& document) { - return adoptRef(new SliderThumbElement(document)); + return adoptRef(*new SliderThumbElement(document)); } // -------------------------------- class RenderSliderThumb final : public RenderBlockFlow { public: - RenderSliderThumb(SliderThumbElement&, PassRef<RenderStyle>); - void updateAppearance(RenderStyle* parentStyle); + RenderSliderThumb(SliderThumbElement&, RenderStyle&&); + void updateAppearance(const RenderStyle* parentStyle); private: - virtual bool isSliderThumb() const override; + bool isSliderThumb() const override; }; // -------------------------------- class SliderContainerElement final : public HTMLDivElement { public: - static PassRefPtr<SliderContainerElement> create(Document&); + static Ref<SliderContainerElement> create(Document&); private: SliderContainerElement(Document&); - virtual RenderPtr<RenderElement> createElementRenderer(PassRef<RenderStyle>) override; - virtual const AtomicString& shadowPseudoId() const override; + RenderPtr<RenderElement> createElementRenderer(RenderStyle&&, const RenderTreePosition&) override; + std::optional<ElementStyle> resolveCustomStyle(const RenderStyle&, const RenderStyle*) override; + const AtomicString& shadowPseudoId() const override; + bool isSliderContainerElement() const override { return true; } + + AtomicString m_shadowPseudoId; }; -} +} // namespace WebCore -#endif +SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::SliderContainerElement) + static bool isType(const WebCore::Element& element) { return element.isSliderContainerElement(); } + static bool isType(const WebCore::Node& node) { return is<WebCore::Element>(node) && isType(downcast<WebCore::Element>(node)); } +SPECIALIZE_TYPE_TRAITS_END() |