Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(315)

Side by Side Diff: third_party/WebKit/Source/core/html/shadow/SliderThumbElement.h

Issue 2209773002: Remove the blocking touch handlers for the input[type=range] and add touch-action instead (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Check if element is nullptr to fix the crash Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3 * Copyright (C) 2010 Google Inc. All rights reserved. 3 * Copyright (C) 2010 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 inline Element* SliderThumbElement::cloneElementWithoutAttributesAndChildren() 73 inline Element* SliderThumbElement::cloneElementWithoutAttributesAndChildren()
74 { 74 {
75 return create(document()); 75 return create(document());
76 } 76 }
77 77
78 // FIXME: There are no ways to check if a node is a SliderThumbElement. 78 // FIXME: There are no ways to check if a node is a SliderThumbElement.
79 DEFINE_ELEMENT_TYPE_CASTS(SliderThumbElement, isHTMLElement()); 79 DEFINE_ELEMENT_TYPE_CASTS(SliderThumbElement, isHTMLElement());
80 80
81 class SliderContainerElement final : public HTMLDivElement { 81 class SliderContainerElement final : public HTMLDivElement {
82 public: 82 public:
83 enum Direction {
84 Horizontal,
85 Vertical,
86 NoMove,
87 };
88
83 DECLARE_NODE_FACTORY(SliderContainerElement); 89 DECLARE_NODE_FACTORY(SliderContainerElement);
90 HTMLInputElement* hostInput() const;
91 void defaultEventHandler(Event*) override;
92 void handleTouchEvent(TouchEvent*);
93 void updateTouchEventHandlerRegistry();
94 void didMoveToNewDocument(Document&) override;
95 void removeAllEventListeners() override;
84 96
85 private: 97 private:
86 explicit SliderContainerElement(Document&); 98 explicit SliderContainerElement(Document&);
87 LayoutObject* createLayoutObject(const ComputedStyle&) override; 99 LayoutObject* createLayoutObject(const ComputedStyle&) override;
88 const AtomicString& shadowPseudoId() const override; 100 const AtomicString& shadowPseudoId() const override;
101 Direction getDirection(LayoutPoint&, LayoutPoint&);
102 bool canSlide();
103
104 bool m_hasTouchEventHandler;
105 bool m_touchStarted;
106 Direction m_slidingDirection;
107 LayoutPoint m_startPoint;
89 }; 108 };
90 109
91 } // namespace blink 110 } // namespace blink
92 111
93 #endif 112 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698