| 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 1538 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1549 } | 1549 } |
| 1550 | 1550 |
| 1551 void Element::attachLayoutTree(const AttachContext& context) | 1551 void Element::attachLayoutTree(const AttachContext& context) |
| 1552 { | 1552 { |
| 1553 DCHECK(document().inStyleRecalc()); | 1553 DCHECK(document().inStyleRecalc()); |
| 1554 | 1554 |
| 1555 // We've already been through detach when doing an attach, but we might | 1555 // We've already been through detach when doing an attach, but we might |
| 1556 // need to clear any state that's been added since then. | 1556 // need to clear any state that's been added since then. |
| 1557 if (hasRareData() && getStyleChangeType() == NeedsReattachStyleChange) { | 1557 if (hasRareData() && getStyleChangeType() == NeedsReattachStyleChange) { |
| 1558 ElementRareData* data = elementRareData(); | 1558 ElementRareData* data = elementRareData(); |
| 1559 data->clearComputedStyle(); | 1559 data->clearComputedStyleIfNoLayoutObject(); |
| 1560 } | 1560 } |
| 1561 | 1561 |
| 1562 if (!isSlotOrActiveInsertionPoint()) | 1562 if (!isSlotOrActiveInsertionPoint()) |
| 1563 LayoutTreeBuilderForElement(*this, context.resolvedStyle).createLayoutOb
jectIfNeeded(); | 1563 LayoutTreeBuilderForElement(*this, context.resolvedStyle).createLayoutOb
jectIfNeeded(); |
| 1564 | 1564 |
| 1565 addCallbackSelectors(); | 1565 addCallbackSelectors(); |
| 1566 | 1566 |
| 1567 if (hasRareData() && !layoutObject()) { | 1567 if (hasRareData() && !layoutObject()) { |
| 1568 if (ElementAnimations* elementAnimations = elementRareData()->elementAni
mations()) { | 1568 if (ElementAnimations* elementAnimations = elementRareData()->elementAni
mations()) { |
| 1569 elementAnimations->cssAnimations().cancel(); | 1569 elementAnimations->cssAnimations().cancel(); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 1595 { | 1595 { |
| 1596 HTMLFrameOwnerElement::UpdateSuspendScope suspendWidgetHierarchyUpdates; | 1596 HTMLFrameOwnerElement::UpdateSuspendScope suspendWidgetHierarchyUpdates; |
| 1597 cancelFocusAppearanceUpdate(); | 1597 cancelFocusAppearanceUpdate(); |
| 1598 removeCallbackSelectors(); | 1598 removeCallbackSelectors(); |
| 1599 if (hasRareData()) { | 1599 if (hasRareData()) { |
| 1600 ElementRareData* data = elementRareData(); | 1600 ElementRareData* data = elementRareData(); |
| 1601 data->clearPseudoElements(); | 1601 data->clearPseudoElements(); |
| 1602 | 1602 |
| 1603 // attachLayoutTree() will clear the computed style for us when inside r
ecalcStyle. | 1603 // attachLayoutTree() will clear the computed style for us when inside r
ecalcStyle. |
| 1604 if (!document().inStyleRecalc()) | 1604 if (!document().inStyleRecalc()) |
| 1605 data->clearComputedStyle(); | 1605 data->clearComputedStyleIfNoLayoutObject(); |
| 1606 | 1606 |
| 1607 if (ElementAnimations* elementAnimations = data->elementAnimations()) { | 1607 if (ElementAnimations* elementAnimations = data->elementAnimations()) { |
| 1608 if (context.performingReattach) { | 1608 if (context.performingReattach) { |
| 1609 // FIXME: We call detach from within style recalc, so compositin
gState is not up to date. | 1609 // FIXME: We call detach from within style recalc, so compositin
gState is not up to date. |
| 1610 // https://code.google.com/p/chromium/issues/detail?id=339847 | 1610 // https://code.google.com/p/chromium/issues/detail?id=339847 |
| 1611 DisableCompositingQueryAsserts disabler; | 1611 DisableCompositingQueryAsserts disabler; |
| 1612 | 1612 |
| 1613 // FIXME: restart compositor animations rather than pull back to
the main thread | 1613 // FIXME: restart compositor animations rather than pull back to
the main thread |
| 1614 elementAnimations->restartAnimationOnCompositor(); | 1614 elementAnimations->restartAnimationOnCompositor(); |
| 1615 } else { | 1615 } else { |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1725 DCHECK(!parentOrShadowHostNode()->needsStyleRecalc()); | 1725 DCHECK(!parentOrShadowHostNode()->needsStyleRecalc()); |
| 1726 DCHECK(inActiveDocument()); | 1726 DCHECK(inActiveDocument()); |
| 1727 | 1727 |
| 1728 if (hasCustomStyleCallbacks()) | 1728 if (hasCustomStyleCallbacks()) |
| 1729 willRecalcStyle(change); | 1729 willRecalcStyle(change); |
| 1730 | 1730 |
| 1731 if (change >= IndependentInherit || needsStyleRecalc()) { | 1731 if (change >= IndependentInherit || needsStyleRecalc()) { |
| 1732 if (hasRareData()) { | 1732 if (hasRareData()) { |
| 1733 ElementRareData* data = elementRareData(); | 1733 ElementRareData* data = elementRareData(); |
| 1734 if (change != IndependentInherit) | 1734 if (change != IndependentInherit) |
| 1735 data->clearComputedStyle(); | 1735 data->clearComputedStyleIfNoLayoutObject(); |
| 1736 | 1736 |
| 1737 if (change >= IndependentInherit) { | 1737 if (change >= IndependentInherit) { |
| 1738 if (ElementAnimations* elementAnimations = data->elementAnimatio
ns()) | 1738 if (ElementAnimations* elementAnimations = data->elementAnimatio
ns()) |
| 1739 elementAnimations->setAnimationStyleChange(false); | 1739 elementAnimations->setAnimationStyleChange(false); |
| 1740 } | 1740 } |
| 1741 } | 1741 } |
| 1742 if (parentComputedStyle()) | 1742 if (parentComputedStyle()) |
| 1743 change = recalcOwnStyle(change); | 1743 change = recalcOwnStyle(change); |
| 1744 clearNeedsStyleRecalc(); | 1744 clearNeedsStyleRecalc(); |
| 1745 } | 1745 } |
| (...skipping 2076 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3822 | 3822 |
| 3823 DEFINE_TRACE_WRAPPERS(Element) | 3823 DEFINE_TRACE_WRAPPERS(Element) |
| 3824 { | 3824 { |
| 3825 if (hasRareData()) { | 3825 if (hasRareData()) { |
| 3826 visitor->traceWrappers(elementRareData()); | 3826 visitor->traceWrappers(elementRareData()); |
| 3827 } | 3827 } |
| 3828 ContainerNode::traceWrappers(visitor); | 3828 ContainerNode::traceWrappers(visitor); |
| 3829 } | 3829 } |
| 3830 | 3830 |
| 3831 } // namespace blink | 3831 } // namespace blink |
| OLD | NEW |