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

Side by Side Diff: Source/core/dom/Document.h

Issue 23437003: Implement cloneNode for Document (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 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 | Annotate | Revision Log
OLDNEW
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 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
9 * Copyright (C) 2011 Google Inc. All rights reserved. 9 * Copyright (C) 2011 Google Inc. All rights reserved.
10 * 10 *
(...skipping 1004 matching lines...) Expand 10 before | Expand all | Expand 10 after
1015 1015
1016 void adjustFloatQuadsForScrollAndAbsoluteZoom(Vector<FloatQuad>&, RenderObje ct*); 1016 void adjustFloatQuadsForScrollAndAbsoluteZoom(Vector<FloatQuad>&, RenderObje ct*);
1017 void adjustFloatRectForScrollAndAbsoluteZoom(FloatRect&, RenderObject*); 1017 void adjustFloatRectForScrollAndAbsoluteZoom(FloatRect&, RenderObject*);
1018 1018
1019 bool hasActiveParser(); 1019 bool hasActiveParser();
1020 unsigned activeParserCount() { return m_activeParserCount; } 1020 unsigned activeParserCount() { return m_activeParserCount; }
1021 void incrementActiveParserCount() { ++m_activeParserCount; } 1021 void incrementActiveParserCount() { ++m_activeParserCount; }
1022 void decrementActiveParserCount(); 1022 void decrementActiveParserCount();
1023 1023
1024 void setContextFeatures(PassRefPtr<ContextFeatures>); 1024 void setContextFeatures(PassRefPtr<ContextFeatures>);
1025 ContextFeatures* contextFeatures() { return m_contextFeatures.get(); } 1025 ContextFeatures* contextFeatures() const { return m_contextFeatures.get(); }
1026 1026
1027 DocumentSharedObjectPool* sharedObjectPool() { return m_sharedObjectPool.get (); } 1027 DocumentSharedObjectPool* sharedObjectPool() { return m_sharedObjectPool.get (); }
1028 1028
1029 void didRemoveAllPendingStylesheet(); 1029 void didRemoveAllPendingStylesheet();
1030 void setNeedsNotifyRemoveAllPendingStylesheet() { m_needsNotifyRemoveAllPend ingStylesheet = true; } 1030 void setNeedsNotifyRemoveAllPendingStylesheet() { m_needsNotifyRemoveAllPend ingStylesheet = true; }
1031 void clearStyleResolver(); 1031 void clearStyleResolver();
1032 void notifySeamlessChildDocumentsOfStylesheetUpdate() const; 1032 void notifySeamlessChildDocumentsOfStylesheetUpdate() const;
1033 1033
1034 bool inStyleRecalc() { return m_inStyleRecalc; } 1034 bool inStyleRecalc() { return m_inStyleRecalc; }
1035 1035
(...skipping 30 matching lines...) Expand all
1066 1066
1067 protected: 1067 protected:
1068 Document(const DocumentInit&, DocumentClassFlags = DefaultDocumentClass); 1068 Document(const DocumentInit&, DocumentClassFlags = DefaultDocumentClass);
1069 1069
1070 virtual void didUpdateSecurityOrigin() OVERRIDE; 1070 virtual void didUpdateSecurityOrigin() OVERRIDE;
1071 1071
1072 void clearXMLVersion() { m_xmlVersion = String(); } 1072 void clearXMLVersion() { m_xmlVersion = String(); }
1073 1073
1074 virtual void dispose() OVERRIDE; 1074 virtual void dispose() OVERRIDE;
1075 1075
1076 virtual PassRefPtr<Document> cloneDocumentWithoutChildren();
1077
1076 private: 1078 private:
1077 friend class Node; 1079 friend class Node;
1078 friend class IgnoreDestructiveWriteCountIncrementer; 1080 friend class IgnoreDestructiveWriteCountIncrementer;
1079 1081
1080 void updateDistributionIfNeeded(); 1082 void updateDistributionIfNeeded();
1081 1083
1082 void detachParser(); 1084 void detachParser();
1083 1085
1084 typedef void (*ArgumentsCallback)(const String& keyString, const String& val ueString, Document*, void* data); 1086 typedef void (*ArgumentsCallback)(const String& keyString, const String& val ueString, Document*, void* data);
1085 void processArguments(const String& features, void* data, ArgumentsCallback) ; 1087 void processArguments(const String& features, void* data, ArgumentsCallback) ;
1086 1088
1087 virtual bool isDocument() const OVERRIDE { return true; } 1089 virtual bool isDocument() const OVERRIDE { return true; }
1088 1090
1089 virtual void childrenChanged(bool changedByParser = false, Node* beforeChang e = 0, Node* afterChange = 0, int childCountDelta = 0); 1091 virtual void childrenChanged(bool changedByParser = false, Node* beforeChang e = 0, Node* afterChange = 0, int childCountDelta = 0);
1090 1092
1091 virtual String nodeName() const; 1093 virtual String nodeName() const;
1092 virtual NodeType nodeType() const; 1094 virtual NodeType nodeType() const;
1093 virtual bool childTypeAllowed(NodeType) const; 1095 virtual bool childTypeAllowed(NodeType) const;
1094 virtual PassRefPtr<Node> cloneNode(bool deep = true); 1096 virtual PassRefPtr<Node> cloneNode(bool deep = true);
1097 void cloneDataFromDocument(const Document&);
1095 1098
1096 virtual void refScriptExecutionContext() { ref(); } 1099 virtual void refScriptExecutionContext() { ref(); }
1097 virtual void derefScriptExecutionContext() { deref(); } 1100 virtual void derefScriptExecutionContext() { deref(); }
1098 virtual PassOwnPtr<LifecycleNotifier> createLifecycleNotifier() OVERRIDE; 1101 virtual PassOwnPtr<LifecycleNotifier> createLifecycleNotifier() OVERRIDE;
1099 1102
1100 virtual const KURL& virtualURL() const; // Same as url(), but needed for Scr iptExecutionContext to implement it without a performance loss for direct calls. 1103 virtual const KURL& virtualURL() const; // Same as url(), but needed for Scr iptExecutionContext to implement it without a performance loss for direct calls.
1101 virtual KURL virtualCompleteURL(const String&) const; // Same as completeURL () for the same reason as above. 1104 virtual KURL virtualCompleteURL(const String&) const; // Same as completeURL () for the same reason as above.
1102 1105
1103 virtual void addMessage(MessageSource, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, ScriptState*); 1106 virtual void addMessage(MessageSource, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, ScriptState*);
1104 void internalAddMessage(MessageSource, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack>, Scrip tState*); 1107 void internalAddMessage(MessageSource, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack>, Scrip tState*);
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
1424 inline bool Node::isDocumentNode() const 1427 inline bool Node::isDocumentNode() const
1425 { 1428 {
1426 return this == documentInternal(); 1429 return this == documentInternal();
1427 } 1430 }
1428 1431
1429 Node* eventTargetNodeForDocument(Document*); 1432 Node* eventTargetNodeForDocument(Document*);
1430 1433
1431 } // namespace WebCore 1434 } // namespace WebCore
1432 1435
1433 #endif // Document_h 1436 #endif // Document_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698