OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
5 * Copyright (C) 2004-2011, 2014 Apple Inc. All rights reserved. | 5 * Copyright (C) 2004-2011, 2014 Apple Inc. All rights reserved. |
6 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 6 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 } | 182 } |
183 #else // !ENABLE(OILPAN) | 183 #else // !ENABLE(OILPAN) |
184 // All Nodes are placed in their own heap partition for security. | 184 // All Nodes are placed in their own heap partition for security. |
185 // See http://crbug.com/246860 for detail. | 185 // See http://crbug.com/246860 for detail. |
186 void* operator new(size_t); | 186 void* operator new(size_t); |
187 void operator delete(void*); | 187 void operator delete(void*); |
188 #endif | 188 #endif |
189 | 189 |
190 static void dumpStatistics(); | 190 static void dumpStatistics(); |
191 | 191 |
192 virtual ~Node(); | 192 ~Node() override; |
193 | 193 |
194 // DOM methods & attributes for Node | 194 // DOM methods & attributes for Node |
195 | 195 |
196 bool hasTagName(const HTMLQualifiedName&) const; | 196 bool hasTagName(const HTMLQualifiedName&) const; |
197 bool hasTagName(const SVGQualifiedName&) const; | 197 bool hasTagName(const SVGQualifiedName&) const; |
198 virtual String nodeName() const = 0; | 198 virtual String nodeName() const = 0; |
199 virtual String nodeValue() const; | 199 virtual String nodeValue() const; |
200 virtual void setNodeValue(const String&); | 200 virtual void setNodeValue(const String&); |
201 virtual NodeType nodeType() const = 0; | 201 virtual NodeType nodeType() const = 0; |
202 ContainerNode* parentNode() const; | 202 ContainerNode* parentNode() const; |
(...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
616 virtual bool willRespondToMouseClickEvents(); | 616 virtual bool willRespondToMouseClickEvents(); |
617 virtual bool willRespondToTouchEvents(); | 617 virtual bool willRespondToTouchEvents(); |
618 | 618 |
619 enum ShadowTreesTreatment { | 619 enum ShadowTreesTreatment { |
620 TreatShadowTreesAsDisconnected, | 620 TreatShadowTreesAsDisconnected, |
621 TreatShadowTreesAsComposed | 621 TreatShadowTreesAsComposed |
622 }; | 622 }; |
623 | 623 |
624 unsigned short compareDocumentPosition(const Node*, ShadowTreesTreatment = T
reatShadowTreesAsDisconnected) const; | 624 unsigned short compareDocumentPosition(const Node*, ShadowTreesTreatment = T
reatShadowTreesAsDisconnected) const; |
625 | 625 |
626 virtual Node* toNode() override final; | 626 Node* toNode() final; |
627 | 627 |
628 virtual const AtomicString& interfaceName() const override; | 628 const AtomicString& interfaceName() const override; |
629 virtual ExecutionContext* executionContext() const override final; | 629 ExecutionContext* executionContext() const final; |
630 | 630 |
631 virtual bool addEventListener(const AtomicString& eventType, PassRefPtr<Even
tListener>, bool useCapture = false) override; | 631 bool addEventListener(const AtomicString& eventType, PassRefPtr<EventListene
r>, bool useCapture = false) override; |
632 virtual bool removeEventListener(const AtomicString& eventType, PassRefPtr<E
ventListener>, bool useCapture = false) override; | 632 bool removeEventListener(const AtomicString& eventType, PassRefPtr<EventList
ener>, bool useCapture = false) override; |
633 virtual void removeAllEventListeners() override; | 633 void removeAllEventListeners() override; |
634 void removeAllEventListenersRecursively(); | 634 void removeAllEventListenersRecursively(); |
635 | 635 |
636 // Handlers to do/undo actions on the target node before an event is dispatc
hed to it and after the event | 636 // Handlers to do/undo actions on the target node before an event is dispatc
hed to it and after the event |
637 // has been dispatched. The data pointer is handed back by the preDispatch
and passed to postDispatch. | 637 // has been dispatched. The data pointer is handed back by the preDispatch
and passed to postDispatch. |
638 virtual void* preDispatchEventHandler(Event*) { return nullptr; } | 638 virtual void* preDispatchEventHandler(Event*) { return nullptr; } |
639 virtual void postDispatchEventHandler(Event*, void* /*dataFromPreDispatch*/)
{ } | 639 virtual void postDispatchEventHandler(Event*, void* /*dataFromPreDispatch*/)
{ } |
640 | 640 |
641 using EventTarget::dispatchEvent; | 641 using EventTarget::dispatchEvent; |
642 virtual bool dispatchEvent(PassRefPtrWillBeRawPtr<Event>) override; | 642 bool dispatchEvent(PassRefPtrWillBeRawPtr<Event>) override; |
643 | 643 |
644 void dispatchScopedEvent(PassRefPtrWillBeRawPtr<Event>); | 644 void dispatchScopedEvent(PassRefPtrWillBeRawPtr<Event>); |
645 void dispatchScopedEventDispatchMediator(PassRefPtrWillBeRawPtr<EventDispatc
hMediator>); | 645 void dispatchScopedEventDispatchMediator(PassRefPtrWillBeRawPtr<EventDispatc
hMediator>); |
646 | 646 |
647 virtual void handleLocalEvents(Event&); | 647 virtual void handleLocalEvents(Event&); |
648 | 648 |
649 void dispatchSubtreeModifiedEvent(); | 649 void dispatchSubtreeModifiedEvent(); |
650 bool dispatchDOMActivateEvent(int detail, PassRefPtrWillBeRawPtr<Event> unde
rlyingEvent); | 650 bool dispatchDOMActivateEvent(int detail, PassRefPtrWillBeRawPtr<Event> unde
rlyingEvent); |
651 | 651 |
652 bool dispatchKeyEvent(const PlatformKeyboardEvent&); | 652 bool dispatchKeyEvent(const PlatformKeyboardEvent&); |
653 bool dispatchWheelEvent(const PlatformWheelEvent&); | 653 bool dispatchWheelEvent(const PlatformWheelEvent&); |
654 bool dispatchMouseEvent(const PlatformMouseEvent&, const AtomicString& event
Type, int clickCount = 0, Node* relatedTarget = nullptr); | 654 bool dispatchMouseEvent(const PlatformMouseEvent&, const AtomicString& event
Type, int clickCount = 0, Node* relatedTarget = nullptr); |
655 bool dispatchGestureEvent(const PlatformGestureEvent&); | 655 bool dispatchGestureEvent(const PlatformGestureEvent&); |
656 bool dispatchTouchEvent(PassRefPtrWillBeRawPtr<TouchEvent>); | 656 bool dispatchTouchEvent(PassRefPtrWillBeRawPtr<TouchEvent>); |
657 bool dispatchPointerEvent(PassRefPtrWillBeRawPtr<PointerEvent>); | 657 bool dispatchPointerEvent(PassRefPtrWillBeRawPtr<PointerEvent>); |
658 | 658 |
659 void dispatchSimulatedClick(Event* underlyingEvent, SimulatedClickMouseEvent
Options = SendNoEvents); | 659 void dispatchSimulatedClick(Event* underlyingEvent, SimulatedClickMouseEvent
Options = SendNoEvents); |
660 | 660 |
661 void dispatchInputEvent(); | 661 void dispatchInputEvent(); |
662 | 662 |
663 // Perform the default action for an event. | 663 // Perform the default action for an event. |
664 virtual void defaultEventHandler(Event*); | 664 virtual void defaultEventHandler(Event*); |
665 virtual void willCallDefaultEventHandler(const Event&); | 665 virtual void willCallDefaultEventHandler(const Event&); |
666 | 666 |
667 virtual EventTargetData* eventTargetData() override; | 667 EventTargetData* eventTargetData() override; |
668 virtual EventTargetData& ensureEventTargetData() override; | 668 EventTargetData& ensureEventTargetData() override; |
669 | 669 |
670 void getRegisteredMutationObserversOfType(WillBeHeapHashMap<RawPtrWillBeMemb
er<MutationObserver>, MutationRecordDeliveryOptions>&, MutationObserver::Mutatio
nType, const QualifiedName* attributeName); | 670 void getRegisteredMutationObserversOfType(WillBeHeapHashMap<RawPtrWillBeMemb
er<MutationObserver>, MutationRecordDeliveryOptions>&, MutationObserver::Mutatio
nType, const QualifiedName* attributeName); |
671 void registerMutationObserver(MutationObserver&, MutationObserverOptions, co
nst HashSet<AtomicString>& attributeFilter); | 671 void registerMutationObserver(MutationObserver&, MutationObserverOptions, co
nst HashSet<AtomicString>& attributeFilter); |
672 void unregisterMutationObserver(MutationObserverRegistration*); | 672 void unregisterMutationObserver(MutationObserverRegistration*); |
673 void registerTransientMutationObserver(MutationObserverRegistration*); | 673 void registerTransientMutationObserver(MutationObserverRegistration*); |
674 void unregisterTransientMutationObserver(MutationObserverRegistration*); | 674 void unregisterTransientMutationObserver(MutationObserverRegistration*); |
675 void notifyMutationObserversNodeWillDetach(); | 675 void notifyMutationObserversNodeWillDetach(); |
676 | 676 |
677 unsigned connectedSubframeCount() const; | 677 unsigned connectedSubframeCount() const; |
678 void incrementConnectedSubframeCount(unsigned amount = 1); | 678 void incrementConnectedSubframeCount(unsigned amount = 1); |
679 void decrementConnectedSubframeCount(unsigned amount = 1); | 679 void decrementConnectedSubframeCount(unsigned amount = 1); |
680 void updateAncestorConnectedSubframeCountForInsertion() const; | 680 void updateAncestorConnectedSubframeCountForInsertion() const; |
681 | 681 |
682 PassRefPtrWillBeRawPtr<StaticNodeList> getDestinationInsertionPoints(); | 682 PassRefPtrWillBeRawPtr<StaticNodeList> getDestinationInsertionPoints(); |
683 | 683 |
684 void setAlreadySpellChecked(bool flag) { setFlag(flag, AlreadySpellCheckedFl
ag); } | 684 void setAlreadySpellChecked(bool flag) { setFlag(flag, AlreadySpellCheckedFl
ag); } |
685 bool isAlreadySpellChecked() { return getFlag(AlreadySpellCheckedFlag); } | 685 bool isAlreadySpellChecked() { return getFlag(AlreadySpellCheckedFlag); } |
686 | 686 |
687 bool isFinishedParsingChildren() const { return getFlag(IsFinishedParsingChi
ldrenFlag); } | 687 bool isFinishedParsingChildren() const { return getFlag(IsFinishedParsingChi
ldrenFlag); } |
688 | 688 |
689 DECLARE_VIRTUAL_TRACE(); | 689 DECLARE_VIRTUAL_TRACE(); |
690 | 690 |
691 unsigned lengthOfContents() const; | 691 unsigned lengthOfContents() const; |
692 | 692 |
693 virtual v8::Local<v8::Object> wrap(v8::Isolate*, v8::Local<v8::Object> creat
ionContext) override; | 693 v8::Local<v8::Object> wrap(v8::Isolate*, v8::Local<v8::Object> creationConte
xt) override; |
694 virtual v8::Local<v8::Object> associateWithWrapper(v8::Isolate*, const Wrapp
erTypeInfo*, v8::Local<v8::Object> wrapper) override; | 694 v8::Local<v8::Object> associateWithWrapper(v8::Isolate*, const WrapperTypeIn
fo*, v8::Local<v8::Object> wrapper) override; |
695 | 695 |
696 private: | 696 private: |
697 enum NodeFlags { | 697 enum NodeFlags { |
698 HasRareDataFlag = 1, | 698 HasRareDataFlag = 1, |
699 | 699 |
700 // Node type flags. These never change once created. | 700 // Node type flags. These never change once created. |
701 IsTextFlag = 1 << 1, | 701 IsTextFlag = 1 << 1, |
702 IsContainerFlag = 1 << 2, | 702 IsContainerFlag = 1 << 2, |
703 IsElementFlag = 1 << 3, | 703 IsElementFlag = 1 << 3, |
704 IsHTMLFlag = 1 << 4, | 704 IsHTMLFlag = 1 << 4, |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
917 } // namespace blink | 917 } // namespace blink |
918 | 918 |
919 #ifndef NDEBUG | 919 #ifndef NDEBUG |
920 // Outside the WebCore namespace for ease of invocation from gdb. | 920 // Outside the WebCore namespace for ease of invocation from gdb. |
921 void showNode(const blink::Node*); | 921 void showNode(const blink::Node*); |
922 void showTree(const blink::Node*); | 922 void showTree(const blink::Node*); |
923 void showNodePath(const blink::Node*); | 923 void showNodePath(const blink::Node*); |
924 #endif | 924 #endif |
925 | 925 |
926 #endif // Node_h | 926 #endif // Node_h |
OLD | NEW |