| 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 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r
ights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 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) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. | 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. |
| 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) |
| 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. |
| (...skipping 2990 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3001 // Documents may contain no more than one of each of these. | 3001 // Documents may contain no more than one of each of these. |
| 3002 // (One Element and one DocumentType.) | 3002 // (One Element and one DocumentType.) |
| 3003 for (Node* c = firstChild(); c; c = c->nextSibling()) | 3003 for (Node* c = firstChild(); c; c = c->nextSibling()) |
| 3004 if (c->nodeType() == type) | 3004 if (c->nodeType() == type) |
| 3005 return false; | 3005 return false; |
| 3006 return true; | 3006 return true; |
| 3007 } | 3007 } |
| 3008 return false; | 3008 return false; |
| 3009 } | 3009 } |
| 3010 | 3010 |
| 3011 bool Document::canReplaceChild(Node* newChild, Node* oldChild) | 3011 bool Document::canReplaceChild(Node& newChild, Node& oldChild) |
| 3012 { | 3012 { |
| 3013 if (!oldChild) | 3013 if (oldChild.nodeType() == newChild.nodeType()) |
| 3014 // ContainerNode::replaceChild will raise a NotFoundError. | |
| 3015 return true; | |
| 3016 | |
| 3017 if (oldChild->nodeType() == newChild->nodeType()) | |
| 3018 return true; | 3014 return true; |
| 3019 | 3015 |
| 3020 int numDoctypes = 0; | 3016 int numDoctypes = 0; |
| 3021 int numElements = 0; | 3017 int numElements = 0; |
| 3022 | 3018 |
| 3023 // First, check how many doctypes and elements we have, not counting | 3019 // First, check how many doctypes and elements we have, not counting |
| 3024 // the child we're about to remove. | 3020 // the child we're about to remove. |
| 3025 for (Node* c = firstChild(); c; c = c->nextSibling()) { | 3021 for (Node* c = firstChild(); c; c = c->nextSibling()) { |
| 3026 if (c == oldChild) | 3022 if (c == oldChild) |
| 3027 continue; | 3023 continue; |
| 3028 | 3024 |
| 3029 switch (c->nodeType()) { | 3025 switch (c->nodeType()) { |
| 3030 case DOCUMENT_TYPE_NODE: | 3026 case DOCUMENT_TYPE_NODE: |
| 3031 numDoctypes++; | 3027 numDoctypes++; |
| 3032 break; | 3028 break; |
| 3033 case ELEMENT_NODE: | 3029 case ELEMENT_NODE: |
| 3034 numElements++; | 3030 numElements++; |
| 3035 break; | 3031 break; |
| 3036 default: | 3032 default: |
| 3037 break; | 3033 break; |
| 3038 } | 3034 } |
| 3039 } | 3035 } |
| 3040 | 3036 |
| 3041 // Then, see how many doctypes and elements might be added by the new child. | 3037 // Then, see how many doctypes and elements might be added by the new child. |
| 3042 if (newChild->nodeType() == DOCUMENT_FRAGMENT_NODE) { | 3038 if (newChild.nodeType() == DOCUMENT_FRAGMENT_NODE) { |
| 3043 for (Node* c = newChild->firstChild(); c; c = c->nextSibling()) { | 3039 for (Node* c = newChild.firstChild(); c; c = c->nextSibling()) { |
| 3044 switch (c->nodeType()) { | 3040 switch (c->nodeType()) { |
| 3045 case ATTRIBUTE_NODE: | 3041 case ATTRIBUTE_NODE: |
| 3046 case CDATA_SECTION_NODE: | 3042 case CDATA_SECTION_NODE: |
| 3047 case DOCUMENT_FRAGMENT_NODE: | 3043 case DOCUMENT_FRAGMENT_NODE: |
| 3048 case DOCUMENT_NODE: | 3044 case DOCUMENT_NODE: |
| 3049 case ENTITY_NODE: | 3045 case ENTITY_NODE: |
| 3050 case NOTATION_NODE: | 3046 case NOTATION_NODE: |
| 3051 case TEXT_NODE: | 3047 case TEXT_NODE: |
| 3052 case XPATH_NAMESPACE_NODE: | 3048 case XPATH_NAMESPACE_NODE: |
| 3053 return false; | 3049 return false; |
| 3054 case COMMENT_NODE: | 3050 case COMMENT_NODE: |
| 3055 case PROCESSING_INSTRUCTION_NODE: | 3051 case PROCESSING_INSTRUCTION_NODE: |
| 3056 break; | 3052 break; |
| 3057 case DOCUMENT_TYPE_NODE: | 3053 case DOCUMENT_TYPE_NODE: |
| 3058 numDoctypes++; | 3054 numDoctypes++; |
| 3059 break; | 3055 break; |
| 3060 case ELEMENT_NODE: | 3056 case ELEMENT_NODE: |
| 3061 numElements++; | 3057 numElements++; |
| 3062 break; | 3058 break; |
| 3063 } | 3059 } |
| 3064 } | 3060 } |
| 3065 } else { | 3061 } else { |
| 3066 switch (newChild->nodeType()) { | 3062 switch (newChild.nodeType()) { |
| 3067 case ATTRIBUTE_NODE: | 3063 case ATTRIBUTE_NODE: |
| 3068 case CDATA_SECTION_NODE: | 3064 case CDATA_SECTION_NODE: |
| 3069 case DOCUMENT_FRAGMENT_NODE: | 3065 case DOCUMENT_FRAGMENT_NODE: |
| 3070 case DOCUMENT_NODE: | 3066 case DOCUMENT_NODE: |
| 3071 case ENTITY_NODE: | 3067 case ENTITY_NODE: |
| 3072 case NOTATION_NODE: | 3068 case NOTATION_NODE: |
| 3073 case TEXT_NODE: | 3069 case TEXT_NODE: |
| 3074 case XPATH_NAMESPACE_NODE: | 3070 case XPATH_NAMESPACE_NODE: |
| 3075 return false; | 3071 return false; |
| 3076 case COMMENT_NODE: | 3072 case COMMENT_NODE: |
| (...skipping 2136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5213 void Document::modifiedStyleSheet(StyleSheet* sheet, RecalcStyleTime when, Style
ResolverUpdateMode updateMode) | 5209 void Document::modifiedStyleSheet(StyleSheet* sheet, RecalcStyleTime when, Style
ResolverUpdateMode updateMode) |
| 5214 { | 5210 { |
| 5215 if (!isActive()) | 5211 if (!isActive()) |
| 5216 return; | 5212 return; |
| 5217 | 5213 |
| 5218 styleEngine()->modifiedStyleSheet(sheet); | 5214 styleEngine()->modifiedStyleSheet(sheet); |
| 5219 styleResolverChanged(when, updateMode); | 5215 styleResolverChanged(when, updateMode); |
| 5220 } | 5216 } |
| 5221 | 5217 |
| 5222 } // namespace WebCore | 5218 } // namespace WebCore |
| OLD | NEW |