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

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: Use encoding/setEncoding instead 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 1008 matching lines...) Expand 10 before | Expand all | Expand 10 after
1019 1019
1020 void adjustFloatQuadsForScrollAndAbsoluteZoom(Vector<FloatQuad>&, RenderObje ct*); 1020 void adjustFloatQuadsForScrollAndAbsoluteZoom(Vector<FloatQuad>&, RenderObje ct*);
1021 void adjustFloatRectForScrollAndAbsoluteZoom(FloatRect&, RenderObject*); 1021 void adjustFloatRectForScrollAndAbsoluteZoom(FloatRect&, RenderObject*);
1022 1022
1023 bool hasActiveParser(); 1023 bool hasActiveParser();
1024 unsigned activeParserCount() { return m_activeParserCount; } 1024 unsigned activeParserCount() { return m_activeParserCount; }
1025 void incrementActiveParserCount() { ++m_activeParserCount; } 1025 void incrementActiveParserCount() { ++m_activeParserCount; }
1026 void decrementActiveParserCount(); 1026 void decrementActiveParserCount();
1027 1027
1028 void setContextFeatures(PassRefPtr<ContextFeatures>); 1028 void setContextFeatures(PassRefPtr<ContextFeatures>);
1029 ContextFeatures* contextFeatures() { return m_contextFeatures.get(); } 1029 ContextFeatures* contextFeatures() const { return m_contextFeatures.get(); }
1030 1030
1031 DocumentSharedObjectPool* sharedObjectPool() { return m_sharedObjectPool.get (); } 1031 DocumentSharedObjectPool* sharedObjectPool() { return m_sharedObjectPool.get (); }
1032 1032
1033 void didRemoveAllPendingStylesheet(); 1033 void didRemoveAllPendingStylesheet();
1034 void setNeedsNotifyRemoveAllPendingStylesheet() { m_needsNotifyRemoveAllPend ingStylesheet = true; } 1034 void setNeedsNotifyRemoveAllPendingStylesheet() { m_needsNotifyRemoveAllPend ingStylesheet = true; }
1035 void clearStyleResolver(); 1035 void clearStyleResolver();
1036 void notifySeamlessChildDocumentsOfStylesheetUpdate() const; 1036 void notifySeamlessChildDocumentsOfStylesheetUpdate() const;
1037 1037
1038 bool inStyleRecalc() { return m_inStyleRecalc; } 1038 bool inStyleRecalc() { return m_inStyleRecalc; }
1039 1039
(...skipping 30 matching lines...) Expand all
1070 1070
1071 protected: 1071 protected:
1072 Document(const DocumentInit&, DocumentClassFlags = DefaultDocumentClass); 1072 Document(const DocumentInit&, DocumentClassFlags = DefaultDocumentClass);
1073 1073
1074 virtual void didUpdateSecurityOrigin() OVERRIDE; 1074 virtual void didUpdateSecurityOrigin() OVERRIDE;
1075 1075
1076 void clearXMLVersion() { m_xmlVersion = String(); } 1076 void clearXMLVersion() { m_xmlVersion = String(); }
1077 1077
1078 virtual void dispose() OVERRIDE; 1078 virtual void dispose() OVERRIDE;
1079 1079
1080 virtual PassRefPtr<Document> cloneDocumentWithoutChildren();
1081
1080 private: 1082 private:
1081 friend class Node; 1083 friend class Node;
1082 friend class IgnoreDestructiveWriteCountIncrementer; 1084 friend class IgnoreDestructiveWriteCountIncrementer;
1083 1085
1084 void updateDistributionIfNeeded(); 1086 void updateDistributionIfNeeded();
1085 1087
1086 void detachParser(); 1088 void detachParser();
1087 1089
1088 typedef void (*ArgumentsCallback)(const String& keyString, const String& val ueString, Document*, void* data); 1090 typedef void (*ArgumentsCallback)(const String& keyString, const String& val ueString, Document*, void* data);
1089 void processArguments(const String& features, void* data, ArgumentsCallback) ; 1091 void processArguments(const String& features, void* data, ArgumentsCallback) ;
1090 1092
1091 virtual bool isDocument() const OVERRIDE { return true; } 1093 virtual bool isDocument() const OVERRIDE { return true; }
1092 1094
1093 virtual void childrenChanged(bool changedByParser = false, Node* beforeChang e = 0, Node* afterChange = 0, int childCountDelta = 0); 1095 virtual void childrenChanged(bool changedByParser = false, Node* beforeChang e = 0, Node* afterChange = 0, int childCountDelta = 0);
1094 1096
1095 virtual String nodeName() const; 1097 virtual String nodeName() const;
1096 virtual NodeType nodeType() const; 1098 virtual NodeType nodeType() const;
1097 virtual bool childTypeAllowed(NodeType) const; 1099 virtual bool childTypeAllowed(NodeType) const;
1098 virtual PassRefPtr<Node> cloneNode(bool deep = true); 1100 virtual PassRefPtr<Node> cloneNode(bool deep = true);
1101 void cloneDataFromDocument(const Document&);
1099 1102
1100 virtual void refScriptExecutionContext() { ref(); } 1103 virtual void refScriptExecutionContext() { ref(); }
1101 virtual void derefScriptExecutionContext() { deref(); } 1104 virtual void derefScriptExecutionContext() { deref(); }
1102 virtual PassOwnPtr<LifecycleNotifier> createLifecycleNotifier() OVERRIDE; 1105 virtual PassOwnPtr<LifecycleNotifier> createLifecycleNotifier() OVERRIDE;
1103 1106
1104 virtual const KURL& virtualURL() const; // Same as url(), but needed for Scr iptExecutionContext to implement it without a performance loss for direct calls. 1107 virtual const KURL& virtualURL() const; // Same as url(), but needed for Scr iptExecutionContext to implement it without a performance loss for direct calls.
1105 virtual KURL virtualCompleteURL(const String&) const; // Same as completeURL () for the same reason as above. 1108 virtual KURL virtualCompleteURL(const String&) const; // Same as completeURL () for the same reason as above.
1106 1109
1107 virtual void addMessage(MessageSource, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, ScriptState*); 1110 virtual void addMessage(MessageSource, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, ScriptState*);
1108 void internalAddMessage(MessageSource, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack>, Scrip tState*); 1111 void internalAddMessage(MessageSource, MessageLevel, const String& message, const String& sourceURL, unsigned lineNumber, PassRefPtr<ScriptCallStack>, Scrip tState*);
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
1429 inline bool Node::isDocumentNode() const 1432 inline bool Node::isDocumentNode() const
1430 { 1433 {
1431 return this == documentInternal(); 1434 return this == documentInternal();
1432 } 1435 }
1433 1436
1434 Node* eventTargetNodeForDocument(Document*); 1437 Node* eventTargetNodeForDocument(Document*);
1435 1438
1436 } // namespace WebCore 1439 } // namespace WebCore
1437 1440
1438 #endif // Document_h 1441 #endif // Document_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698