summaryrefslogtreecommitdiffstats
path: root/WebCore/dom/Node.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/dom/Node.h')
-rw-r--r--WebCore/dom/Node.h23
1 files changed, 13 insertions, 10 deletions
diff --git a/WebCore/dom/Node.h b/WebCore/dom/Node.h
index ebf275a..495bca9 100644
--- a/WebCore/dom/Node.h
+++ b/WebCore/dom/Node.h
@@ -27,14 +27,9 @@
#include "EventTarget.h"
#include "KURLHash.h"
-#include "PlatformString.h"
-#include "RegisteredEventListener.h"
+#include "ScriptWrappable.h"
#include "TreeShared.h"
-#include "FloatPoint.h"
-#include <wtf/Assertions.h>
#include <wtf/ListHashSet.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/PassRefPtr.h>
namespace WebCore {
@@ -46,6 +41,7 @@ class DynamicNodeList;
class Element;
class Event;
class EventListener;
+class FloatPoint;
class Frame;
class IntRect;
class KeyboardEvent;
@@ -81,7 +77,7 @@ const unsigned short DOCUMENT_POSITION_CONTAINED_BY = 0x10;
const unsigned short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;
// this class implements nodes, which can have a parent but no children:
-class Node : public EventTarget, public TreeShared<Node> {
+class Node : public EventTarget, public TreeShared<Node>, public ScriptWrappable {
friend class Document;
public:
enum NodeType {
@@ -206,6 +202,9 @@ public:
// The node's parent for the purpose of event capture and bubbling.
virtual ContainerNode* eventParentNode();
+ // Returns the enclosing event parent node (or self) that, when clicked, would trigger a navigation.
+ Node* enclosingLinkEventParentOrSelf();
+
// Node ancestors when concerned about event flow
void eventAncestors(Vector<RefPtr<ContainerNode> > &ancestors);
@@ -252,7 +251,7 @@ public:
virtual ContainerNode* addChild(PassRefPtr<Node>);
// Called by the parser when this element's close tag is reached,
- // signalling that all child tags have been parsed and added.
+ // signaling that all child tags have been parsed and added.
// This is needed for <applet> and <object> elements, which can't lay themselves out
// until they know all of their nested <param>s. [Radar 3603191, 4040848].
// Also used for script elements and some SVG elements for similar purposes,
@@ -584,7 +583,10 @@ protected:
void setTabIndexExplicitly(short);
bool hasRareData() const { return m_hasRareData; }
-
+#if ENABLE(SVG)
+ bool hasRareSVGData() const { return m_hasRareSVGData; }
+#endif
+
NodeRareData* rareData() const;
NodeRareData* ensureRareData();
@@ -648,9 +650,10 @@ protected:
#if ENABLE(SVG)
mutable bool m_areSVGAttributesValid : 1; // Element
mutable bool m_synchronizingSVGAttributes : 1; // SVGElement
+ bool m_hasRareSVGData : 1; // SVGElement
#endif
- // 11 bits remaining
+ // 10 bits remaining
};
// Used in Node::addSubresourceAttributeURLs() and in addSubresourceStyleURLs()