| Index: Source/core/dom/Element.h
|
| diff --git a/Source/core/dom/Element.h b/Source/core/dom/Element.h
|
| index dce3454562c6bd32ca41d2e0319f4ffc5fe56a8a..9897387864bb23cdd81954f2454f9192830f3103 100644
|
| --- a/Source/core/dom/Element.h
|
| +++ b/Source/core/dom/Element.h
|
| @@ -56,6 +56,7 @@ class ElementRareData;
|
| class ElementShadow;
|
| class ExceptionState;
|
| class Image;
|
| +class IntersectionObserver;
|
| class IntSize;
|
| class Locale;
|
| class MutableStylePropertySet;
|
| @@ -87,6 +88,7 @@ enum ElementFlags {
|
| enum class ShadowRootType;
|
|
|
| typedef WillBeHeapVector<RefPtrWillBeMember<Attr>> AttrNodeList;
|
| +typedef WillBeHeapVector<RawPtrWillBeMember<IntersectionObserver>> IntersectionObserverList;
|
|
|
| class CORE_EXPORT Element : public ContainerNode {
|
| DEFINE_WRAPPERTYPEINFO();
|
| @@ -515,6 +517,11 @@ public:
|
|
|
| SpellcheckAttributeState spellcheckAttributeState() const;
|
|
|
| + void registerIntersectionObserver(IntersectionObserver*);
|
| + void unregisterIntersectionObserver(IntersectionObserver*);
|
| + bool hasIntersectionObserver() const override { return m_intersectionObservers.size() > 0; }
|
| + IntersectionObserverList& intersectionObservers() { return m_intersectionObservers; }
|
| +
|
| protected:
|
| Element(const QualifiedName& tagName, Document*, ConstructionType);
|
|
|
| @@ -661,6 +668,7 @@ private:
|
| v8::Local<v8::Object> wrapCustomElement(v8::Isolate*, v8::Local<v8::Object> creationContext);
|
|
|
| RefPtrWillBeMember<ElementData> m_elementData;
|
| + IntersectionObserverList m_intersectionObservers;
|
| };
|
|
|
| DEFINE_NODE_TYPE_CASTS(Element, isElementNode());
|
|
|