| 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 * Copyright (C) 2003, 2010 Apple Inc. All rights reserved. | 5 * Copyright (C) 2003, 2010 Apple Inc. All rights reserved. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 : HTMLElement(titleTag, document) | 39 : HTMLElement(titleTag, document) |
| 40 , m_ignoreTitleUpdatesWhenChildrenChange(false) | 40 , m_ignoreTitleUpdatesWhenChildrenChange(false) |
| 41 { | 41 { |
| 42 } | 42 } |
| 43 | 43 |
| 44 DEFINE_NODE_FACTORY(HTMLTitleElement) | 44 DEFINE_NODE_FACTORY(HTMLTitleElement) |
| 45 | 45 |
| 46 Node::InsertionNotificationRequest HTMLTitleElement::insertedInto(ContainerNode*
insertionPoint) | 46 Node::InsertionNotificationRequest HTMLTitleElement::insertedInto(ContainerNode*
insertionPoint) |
| 47 { | 47 { |
| 48 HTMLElement::insertedInto(insertionPoint); | 48 HTMLElement::insertedInto(insertionPoint); |
| 49 if (inShadowIncludingDocument() && !isInShadowTree()) | 49 if (isConnected() && !isInShadowTree()) |
| 50 document().setTitleElement(this); | 50 document().setTitleElement(this); |
| 51 return InsertionDone; | 51 return InsertionDone; |
| 52 } | 52 } |
| 53 | 53 |
| 54 void HTMLTitleElement::removedFrom(ContainerNode* insertionPoint) | 54 void HTMLTitleElement::removedFrom(ContainerNode* insertionPoint) |
| 55 { | 55 { |
| 56 HTMLElement::removedFrom(insertionPoint); | 56 HTMLElement::removedFrom(insertionPoint); |
| 57 if (insertionPoint->inShadowIncludingDocument() && !insertionPoint->isInShad
owTree()) | 57 if (insertionPoint->isConnected() && !insertionPoint->isInShadowTree()) |
| 58 document().removeTitle(this); | 58 document().removeTitle(this); |
| 59 } | 59 } |
| 60 | 60 |
| 61 void HTMLTitleElement::childrenChanged(const ChildrenChange& change) | 61 void HTMLTitleElement::childrenChanged(const ChildrenChange& change) |
| 62 { | 62 { |
| 63 HTMLElement::childrenChanged(change); | 63 HTMLElement::childrenChanged(change); |
| 64 if (inShadowIncludingDocument() && !isInShadowTree() && !m_ignoreTitleUpdate
sWhenChildrenChange) | 64 if (isConnected() && !isInShadowTree() && !m_ignoreTitleUpdatesWhenChildrenC
hange) |
| 65 document().setTitleElement(this); | 65 document().setTitleElement(this); |
| 66 } | 66 } |
| 67 | 67 |
| 68 String HTMLTitleElement::text() const | 68 String HTMLTitleElement::text() const |
| 69 { | 69 { |
| 70 StringBuilder result; | 70 StringBuilder result; |
| 71 | 71 |
| 72 for (Node *n = firstChild(); n; n = n->nextSibling()) { | 72 for (Node *n = firstChild(); n; n = n->nextSibling()) { |
| 73 if (n->isTextNode()) | 73 if (n->isTextNode()) |
| 74 result.append(toText(n)->data()); | 74 result.append(toText(n)->data()); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 85 // Avoid calling Document::setTitleElement() during intermediate steps. | 85 // Avoid calling Document::setTitleElement() during intermediate steps. |
| 86 TemporaryChange<bool> inhibitTitleUpdateScope(m_ignoreTitleUpdatesWhenCh
ildrenChange, !value.isEmpty()); | 86 TemporaryChange<bool> inhibitTitleUpdateScope(m_ignoreTitleUpdatesWhenCh
ildrenChange, !value.isEmpty()); |
| 87 removeChildren(OmitSubtreeModifiedEvent); | 87 removeChildren(OmitSubtreeModifiedEvent); |
| 88 } | 88 } |
| 89 | 89 |
| 90 if (!value.isEmpty()) | 90 if (!value.isEmpty()) |
| 91 appendChild(document().createTextNode(value.impl()), IGNORE_EXCEPTION); | 91 appendChild(document().createTextNode(value.impl()), IGNORE_EXCEPTION); |
| 92 } | 92 } |
| 93 | 93 |
| 94 } // namespace blink | 94 } // namespace blink |
| OLD | NEW |