summaryrefslogtreecommitdiff
path: root/Source/WebCore/dom/Document.h
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-09-10 19:10:20 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-09-10 19:10:20 +0200
commit284837daa07b29d6a63a748544a90b1f5842ac5c (patch)
treeecd258180bde91fe741e0cfd2638beb3c6da7e8e /Source/WebCore/dom/Document.h
parent2e2ba8ff45915f40ed3e014101269c175f2a89a0 (diff)
downloadqtwebkit-284837daa07b29d6a63a748544a90b1f5842ac5c.tar.gz
Imported WebKit commit 68645295d2e3e09af2c942f092556f06aa5f8b0d (http://svn.webkit.org/repository/webkit/trunk@128073)
New snapshot
Diffstat (limited to 'Source/WebCore/dom/Document.h')
-rw-r--r--Source/WebCore/dom/Document.h26
1 files changed, 18 insertions, 8 deletions
diff --git a/Source/WebCore/dom/Document.h b/Source/WebCore/dom/Document.h
index a0419aa39..dafe04be3 100644
--- a/Source/WebCore/dom/Document.h
+++ b/Source/WebCore/dom/Document.h
@@ -34,6 +34,7 @@
#include "DOMTimeStamp.h"
#include "DocumentEventQueue.h"
#include "DocumentTiming.h"
+#include "HitTestRequest.h"
#include "IconURL.h"
#include "InspectorCounters.h"
#include "IntRect.h"
@@ -69,6 +70,7 @@ class CharacterData;
class Comment;
class ContextFeatures;
class DOMImplementation;
+class DOMNamedFlowCollection;
class DOMSelection;
class DOMWindow;
class Database;
@@ -82,6 +84,7 @@ class DocumentWeakReference;
class DynamicNodeListCacheBase;
class EditingText;
class Element;
+class ElementAttributeData;
class EntityReference;
class Event;
class EventListener;
@@ -110,6 +113,7 @@ class MediaCanStartListener;
class MediaQueryList;
class MediaQueryMatcher;
class MouseEventWithHitTestResults;
+class NamedFlowCollection;
class NodeFilter;
class NodeIterator;
class NodeRareData;
@@ -138,7 +142,6 @@ class TextResourceDecoder;
class TreeWalker;
class UndoManager;
class WebKitNamedFlow;
-class WebKitNamedFlowCollection;
class XMLHttpRequest;
class XPathEvaluator;
class XPathExpression;
@@ -205,6 +208,9 @@ enum NodeListInvalidationType {
};
const int numNodeListInvalidationTypes = InvalidateOnAnyAttrChange + 1;
+struct ImmutableAttributeDataCacheEntry;
+typedef HashMap<unsigned, OwnPtr<ImmutableAttributeDataCacheEntry>, AlreadyHashed> ImmutableAttributeDataCache;
+
class Document : public ContainerNode, public TreeScope, public ScriptExecutionContext {
public:
static PassRefPtr<Document> create(Frame* frame, const KURL& url)
@@ -352,9 +358,10 @@ public:
bool cssRegionsEnabled() const;
#if ENABLE(CSS_REGIONS)
PassRefPtr<WebKitNamedFlow> webkitGetFlowByName(const String&);
+ PassRefPtr<DOMNamedFlowCollection> webkitGetNamedFlows();
#endif
- WebKitNamedFlowCollection* namedFlows();
+ NamedFlowCollection* namedFlows();
bool regionBasedColumnsEnabled() const;
@@ -370,11 +377,10 @@ public:
* @param rightPadding How much to expand the right of the rectangle
* @param bottomPadding How much to expand the bottom of the rectangle
* @param leftPadding How much to expand the left of the rectangle
- * @param ignoreClipping whether or not to ignore the root scroll frame when retrieving the element.
- * If false, this method returns null for coordinates outside of the viewport.
*/
- PassRefPtr<NodeList> nodesFromRect(int centerX, int centerY, unsigned topPadding, unsigned rightPadding,
- unsigned bottomPadding, unsigned leftPadding, bool ignoreClipping, bool allowShadowContent) const;
+ PassRefPtr<NodeList> nodesFromRect(int centerX, int centerY,
+ unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding,
+ HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active) const;
Element* elementFromPoint(int x, int y) const;
PassRefPtr<Range> caretRangeFromPoint(int x, int y);
@@ -1181,6 +1187,8 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
+ PassRefPtr<ElementAttributeData> cachedImmutableAttributeData(const Element*, const Vector<Attribute>&);
+
protected:
Document(Frame*, const KURL&, bool isXHTML, bool isHTML);
@@ -1206,7 +1214,7 @@ private:
virtual String nodeName() const;
virtual NodeType nodeType() const;
virtual bool childTypeAllowed(NodeType) const;
- virtual PassRefPtr<Node> cloneNode(bool deep, ExceptionCode&);
+ virtual PassRefPtr<Node> cloneNode(bool deep);
virtual bool canReplaceChild(Node* newChild, Node* oldChild);
virtual void refScriptExecutionContext() { ref(); }
@@ -1560,12 +1568,14 @@ private:
bool m_visualUpdatesAllowed;
Timer<Document> m_visualUpdatesSuppressionTimer;
- RefPtr<WebKitNamedFlowCollection> m_namedFlows;
+ RefPtr<NamedFlowCollection> m_namedFlows;
#if ENABLE(CSP_NEXT)
RefPtr<DOMSecurityPolicy> m_domSecurityPolicy;
#endif
+ ImmutableAttributeDataCache m_immutableAttributeDataCache;
+
#ifndef NDEBUG
bool m_didDispatchViewportPropertiesChanged;
#endif