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) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. |
6 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 6 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
364 void clearChildNeedsStyleRecalc() { clearFlag(ChildNeedsStyleRecalcFlag); } | 364 void clearChildNeedsStyleRecalc() { clearFlag(ChildNeedsStyleRecalcFlag); } |
365 | 365 |
366 void setNeedsStyleRecalc(StyleChangeType = SubtreeStyleChange, StyleChangeSo
urce = StyleChangeFromCSS); | 366 void setNeedsStyleRecalc(StyleChangeType = SubtreeStyleChange, StyleChangeSo
urce = StyleChangeFromCSS); |
367 void clearNeedsStyleRecalc(); | 367 void clearNeedsStyleRecalc(); |
368 | 368 |
369 bool childNeedsDistributionRecalc() const { return getFlag(ChildNeedsDistrib
utionRecalc); } | 369 bool childNeedsDistributionRecalc() const { return getFlag(ChildNeedsDistrib
utionRecalc); } |
370 void setChildNeedsDistributionRecalc() { setFlag(ChildNeedsDistributionReca
lc); } | 370 void setChildNeedsDistributionRecalc() { setFlag(ChildNeedsDistributionReca
lc); } |
371 void clearChildNeedsDistributionRecalc() { clearFlag(ChildNeedsDistribution
Recalc); } | 371 void clearChildNeedsDistributionRecalc() { clearFlag(ChildNeedsDistribution
Recalc); } |
372 void markAncestorsWithChildNeedsDistributionRecalc(); | 372 void markAncestorsWithChildNeedsDistributionRecalc(); |
373 | 373 |
| 374 bool childNeedsStyleInvalidation() const { return getFlag(ChildNeedsStyleInv
alidation); } |
| 375 void setChildNeedsStyleInvalidation() { setFlag(ChildNeedsStyleInvalidation
); } |
| 376 void clearChildNeedsStyleInvalidation() { clearFlag(ChildNeedsStyleInvalida
tion); } |
| 377 void markAncestorsWithChildNeedsStyleInvalidation(); |
| 378 |
374 void recalcDistribution(); | 379 void recalcDistribution(); |
375 | 380 |
376 bool shouldNotifyRendererWithIdenticalStyles() const { return getFlag(Notify
RendererWithIdenticalStyles); } | 381 bool shouldNotifyRendererWithIdenticalStyles() const { return getFlag(Notify
RendererWithIdenticalStyles); } |
377 | 382 |
378 void setIsLink(bool f); | 383 void setIsLink(bool f); |
379 | 384 |
380 void setInNamedFlow() { setFlag(InNamedFlowFlag); } | 385 void setInNamedFlow() { setFlag(InNamedFlowFlag); } |
381 void clearInNamedFlow() { clearFlag(InNamedFlowFlag); } | 386 void clearInNamedFlow() { clearFlag(InNamedFlowFlag); } |
382 | 387 |
383 bool hasScopedHTMLStyleChild() const { return getFlag(HasScopedHTMLStyleChil
dFlag); } | 388 bool hasScopedHTMLStyleChild() const { return getFlag(HasScopedHTMLStyleChil
dFlag); } |
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
707 HasEventTargetDataFlag = 1 << 22, | 712 HasEventTargetDataFlag = 1 << 22, |
708 V8CollectableDuringMinorGCFlag = 1 << 23, | 713 V8CollectableDuringMinorGCFlag = 1 << 23, |
709 IsInsertionPointFlag = 1 << 24, | 714 IsInsertionPointFlag = 1 << 24, |
710 IsInShadowTreeFlag = 1 << 25, | 715 IsInShadowTreeFlag = 1 << 25, |
711 | 716 |
712 NotifyRendererWithIdenticalStyles = 1 << 26, | 717 NotifyRendererWithIdenticalStyles = 1 << 26, |
713 | 718 |
714 CustomElement = 1 << 27, | 719 CustomElement = 1 << 27, |
715 CustomElementUpgraded = 1 << 28, | 720 CustomElementUpgraded = 1 << 28, |
716 | 721 |
| 722 ChildNeedsStyleInvalidation = 1 << 29, |
| 723 |
717 DefaultNodeFlags = IsParsingChildrenFinishedFlag | ChildNeedsStyleRecalc
Flag | NeedsReattachStyleChange | 724 DefaultNodeFlags = IsParsingChildrenFinishedFlag | ChildNeedsStyleRecalc
Flag | NeedsReattachStyleChange |
718 }; | 725 }; |
719 | 726 |
720 // 4 bits remaining. | 727 // 2 bits remaining. |
721 | 728 |
722 bool getFlag(NodeFlags mask) const { return m_nodeFlags & mask; } | 729 bool getFlag(NodeFlags mask) const { return m_nodeFlags & mask; } |
723 void setFlag(bool f, NodeFlags mask) const { m_nodeFlags = (m_nodeFlags & ~m
ask) | (-(int32_t)f & mask); } | 730 void setFlag(bool f, NodeFlags mask) const { m_nodeFlags = (m_nodeFlags & ~m
ask) | (-(int32_t)f & mask); } |
724 void setFlag(NodeFlags mask) const { m_nodeFlags |= mask; } | 731 void setFlag(NodeFlags mask) const { m_nodeFlags |= mask; } |
725 void clearFlag(NodeFlags mask) const { m_nodeFlags &= ~mask; } | 732 void clearFlag(NodeFlags mask) const { m_nodeFlags &= ~mask; } |
726 | 733 |
727 protected: | 734 protected: |
728 enum ConstructionType { | 735 enum ConstructionType { |
729 CreateOther = DefaultNodeFlags, | 736 CreateOther = DefaultNodeFlags, |
730 CreateText = DefaultNodeFlags | IsTextFlag, | 737 CreateText = DefaultNodeFlags | IsTextFlag, |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
902 | 909 |
903 } // namespace WebCore | 910 } // namespace WebCore |
904 | 911 |
905 #ifndef NDEBUG | 912 #ifndef NDEBUG |
906 // Outside the WebCore namespace for ease of invocation from gdb. | 913 // Outside the WebCore namespace for ease of invocation from gdb. |
907 void showTree(const WebCore::Node*); | 914 void showTree(const WebCore::Node*); |
908 void showNodePath(const WebCore::Node*); | 915 void showNodePath(const WebCore::Node*); |
909 #endif | 916 #endif |
910 | 917 |
911 #endif | 918 #endif |
OLD | NEW |