| 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 Peter Kelly (pmk@post.com) | 4 * (C) 2001 Peter Kelly (pmk@post.com) |
| 5 * (C) 2001 Dirk Mueller (mueller@kde.org) | 5 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 6 * (C) 2007 David Smith (catfish.man@gmail.com) | 6 * (C) 2007 David Smith (catfish.man@gmail.com) |
| 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
All rights reserved. | 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
All rights reserved. |
| 8 * (C) 2007 Eric Seidel (eric@webkit.org) | 8 * (C) 2007 Eric Seidel (eric@webkit.org) |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 #include "core/html/ClassList.h" | 96 #include "core/html/ClassList.h" |
| 97 #include "core/html/HTMLCanvasElement.h" | 97 #include "core/html/HTMLCanvasElement.h" |
| 98 #include "core/html/HTMLCollection.h" | 98 #include "core/html/HTMLCollection.h" |
| 99 #include "core/html/HTMLDocument.h" | 99 #include "core/html/HTMLDocument.h" |
| 100 #include "core/html/HTMLElement.h" | 100 #include "core/html/HTMLElement.h" |
| 101 #include "core/html/HTMLFormControlsCollection.h" | 101 #include "core/html/HTMLFormControlsCollection.h" |
| 102 #include "core/html/HTMLFrameElementBase.h" | 102 #include "core/html/HTMLFrameElementBase.h" |
| 103 #include "core/html/HTMLFrameOwnerElement.h" | 103 #include "core/html/HTMLFrameOwnerElement.h" |
| 104 #include "core/html/HTMLOptionsCollection.h" | 104 #include "core/html/HTMLOptionsCollection.h" |
| 105 #include "core/html/HTMLPlugInElement.h" | 105 #include "core/html/HTMLPlugInElement.h" |
| 106 #include "core/html/HTMLSlotElement.h" |
| 106 #include "core/html/HTMLTableRowsCollection.h" | 107 #include "core/html/HTMLTableRowsCollection.h" |
| 107 #include "core/html/HTMLTemplateElement.h" | 108 #include "core/html/HTMLTemplateElement.h" |
| 108 #include "core/html/parser/HTMLParserIdioms.h" | 109 #include "core/html/parser/HTMLParserIdioms.h" |
| 109 #include "core/input/EventHandler.h" | 110 #include "core/input/EventHandler.h" |
| 110 #include "core/inspector/InspectorInstrumentation.h" | 111 #include "core/inspector/InspectorInstrumentation.h" |
| 111 #include "core/layout/LayoutTextFragment.h" | 112 #include "core/layout/LayoutTextFragment.h" |
| 112 #include "core/layout/api/LayoutBoxItem.h" | 113 #include "core/layout/api/LayoutBoxItem.h" |
| 113 #include "core/layout/api/LayoutViewItem.h" | 114 #include "core/layout/api/LayoutViewItem.h" |
| 114 #include "core/loader/DocumentLoader.h" | 115 #include "core/loader/DocumentLoader.h" |
| 115 #include "core/page/ChromeClient.h" | 116 #include "core/page/ChromeClient.h" |
| (...skipping 1017 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1133 return value.lowerASCII(); | 1134 return value.lowerASCII(); |
| 1134 return value; | 1135 return value; |
| 1135 } | 1136 } |
| 1136 | 1137 |
| 1137 void Element::attributeChanged(const QualifiedName& name, const AtomicString& ol
dValue, const AtomicString& newValue, AttributeModificationReason reason) | 1138 void Element::attributeChanged(const QualifiedName& name, const AtomicString& ol
dValue, const AtomicString& newValue, AttributeModificationReason reason) |
| 1138 { | 1139 { |
| 1139 if (ElementShadow* parentElementShadow = shadowWhereNodeCanBeDistributed(*th
is)) { | 1140 if (ElementShadow* parentElementShadow = shadowWhereNodeCanBeDistributed(*th
is)) { |
| 1140 if (shouldInvalidateDistributionWhenAttributeChanged(parentElementShadow
, name, newValue)) | 1141 if (shouldInvalidateDistributionWhenAttributeChanged(parentElementShadow
, name, newValue)) |
| 1141 parentElementShadow->setNeedsDistributionRecalc(); | 1142 parentElementShadow->setNeedsDistributionRecalc(); |
| 1142 } | 1143 } |
| 1143 if (name == HTMLNames::slotAttr && isChildOfV1ShadowHost()) | 1144 if (name == HTMLNames::slotAttr && isChildOfV1ShadowHost()) { |
| 1144 parentElementShadow()->setNeedsDistributionRecalc(); | 1145 parentElementShadow()->setNeedsDistributionRecalc(); |
| 1146 if (oldValue != newValue) |
| 1147 parentElement()->shadowRootIfV1()->assignV1(); |
| 1148 } |
| 1145 | 1149 |
| 1146 parseAttribute(name, oldValue, newValue); | 1150 parseAttribute(name, oldValue, newValue); |
| 1147 | 1151 |
| 1148 document().incDOMTreeVersion(); | 1152 document().incDOMTreeVersion(); |
| 1149 | 1153 |
| 1150 if (name == HTMLNames::idAttr) { | 1154 if (name == HTMLNames::idAttr) { |
| 1151 AtomicString oldId = elementData()->idForStyleResolution(); | 1155 AtomicString oldId = elementData()->idForStyleResolution(); |
| 1152 AtomicString newId = makeIdForStyleResolution(newValue, document().inQui
rksMode()); | 1156 AtomicString newId = makeIdForStyleResolution(newValue, document().inQui
rksMode()); |
| 1153 if (newId != oldId) { | 1157 if (newId != oldId) { |
| 1154 elementData()->setIdForStyleResolution(newId); | 1158 elementData()->setIdForStyleResolution(newId); |
| (...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1492 | 1496 |
| 1493 if (ElementAnimations* elementAnimations = data->elementAnimations()) | 1497 if (ElementAnimations* elementAnimations = data->elementAnimations()) |
| 1494 elementAnimations->cssAnimations().cancel(); | 1498 elementAnimations->cssAnimations().cancel(); |
| 1495 | 1499 |
| 1496 if (data->intersectionObserverData()) | 1500 if (data->intersectionObserverData()) |
| 1497 data->intersectionObserverData()->deactivateAllIntersectionObservers
(*this); | 1501 data->intersectionObserverData()->deactivateAllIntersectionObservers
(*this); |
| 1498 } | 1502 } |
| 1499 | 1503 |
| 1500 if (document().frame()) | 1504 if (document().frame()) |
| 1501 document().frame()->eventHandler().elementRemoved(this); | 1505 document().frame()->eventHandler().elementRemoved(this); |
| 1506 |
| 1507 if (HTMLSlotElement* slot = assignedSlot()) { |
| 1508 ShadowRoot* root = slot->containingShadowRoot(); |
| 1509 if (root && root->isV1()) |
| 1510 root->assignV1(); |
| 1511 } |
| 1502 } | 1512 } |
| 1503 | 1513 |
| 1504 void Element::attach(const AttachContext& context) | 1514 void Element::attach(const AttachContext& context) |
| 1505 { | 1515 { |
| 1506 DCHECK(document().inStyleRecalc()); | 1516 DCHECK(document().inStyleRecalc()); |
| 1507 | 1517 |
| 1508 // We've already been through detach when doing an attach, but we might | 1518 // We've already been through detach when doing an attach, but we might |
| 1509 // need to clear any state that's been added since then. | 1519 // need to clear any state that's been added since then. |
| 1510 if (hasRareData() && getStyleChangeType() == NeedsReattachStyleChange) { | 1520 if (hasRareData() && getStyleChangeType() == NeedsReattachStyleChange) { |
| 1511 ElementRareData* data = elementRareData(); | 1521 ElementRareData* data = elementRareData(); |
| (...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2067 } | 2077 } |
| 2068 | 2078 |
| 2069 void Element::childrenChanged(const ChildrenChange& change) | 2079 void Element::childrenChanged(const ChildrenChange& change) |
| 2070 { | 2080 { |
| 2071 ContainerNode::childrenChanged(change); | 2081 ContainerNode::childrenChanged(change); |
| 2072 | 2082 |
| 2073 checkForEmptyStyleChange(); | 2083 checkForEmptyStyleChange(); |
| 2074 if (!change.byParser && change.isChildElementChange()) | 2084 if (!change.byParser && change.isChildElementChange()) |
| 2075 checkForSiblingStyleChanges(change.type == ElementRemoved ? SiblingEleme
ntRemoved : SiblingElementInserted, change.siblingBeforeChange, change.siblingAf
terChange); | 2085 checkForSiblingStyleChanges(change.type == ElementRemoved ? SiblingEleme
ntRemoved : SiblingElementInserted, change.siblingBeforeChange, change.siblingAf
terChange); |
| 2076 | 2086 |
| 2077 if (ElementShadow* shadow = this->shadow()) | 2087 if (ElementShadow* shadow = this->shadow()) { |
| 2078 shadow->setNeedsDistributionRecalc(); | 2088 shadow->setNeedsDistributionRecalc(); |
| 2089 if (document().shadowCascadeOrder() == ShadowCascadeOrder::ShadowCascade
V1) { |
| 2090 ShadowRoot* root = isShadowHost(*this) && shadowRoot()->isV1() ? sha
dowRootIfV1() : isHTMLSlotElement(*this) ? containingShadowRoot() : nullptr; |
| 2091 if (root && root->isV1()) |
| 2092 root->assignV1(); |
| 2093 } |
| 2094 } |
| 2079 } | 2095 } |
| 2080 | 2096 |
| 2081 void Element::finishParsingChildren() | 2097 void Element::finishParsingChildren() |
| 2082 { | 2098 { |
| 2083 setIsFinishedParsingChildren(true); | 2099 setIsFinishedParsingChildren(true); |
| 2084 checkForEmptyStyleChange(); | 2100 checkForEmptyStyleChange(); |
| 2085 checkForSiblingStyleChanges(FinishedParsingChildren, lastChild(), nullptr); | 2101 checkForSiblingStyleChanges(FinishedParsingChildren, lastChild(), nullptr); |
| 2086 } | 2102 } |
| 2087 | 2103 |
| 2088 #ifndef NDEBUG | 2104 #ifndef NDEBUG |
| (...skipping 1590 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3679 | 3695 |
| 3680 DEFINE_TRACE(Element) | 3696 DEFINE_TRACE(Element) |
| 3681 { | 3697 { |
| 3682 if (hasRareData()) | 3698 if (hasRareData()) |
| 3683 visitor->trace(elementRareData()); | 3699 visitor->trace(elementRareData()); |
| 3684 visitor->trace(m_elementData); | 3700 visitor->trace(m_elementData); |
| 3685 ContainerNode::trace(visitor); | 3701 ContainerNode::trace(visitor); |
| 3686 } | 3702 } |
| 3687 | 3703 |
| 3688 } // namespace blink | 3704 } // namespace blink |
| OLD | NEW |