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 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 void clearChildNeedsStyleRecalc() { clearFlag(ChildNeedsStyleRecalcFlag); } | 365 void clearChildNeedsStyleRecalc() { clearFlag(ChildNeedsStyleRecalcFlag); } |
366 | 366 |
367 void setNeedsStyleRecalc(StyleChangeType = SubtreeStyleChange, StyleChangeSo
urce = StyleChangeFromCSS); | 367 void setNeedsStyleRecalc(StyleChangeType = SubtreeStyleChange, StyleChangeSo
urce = StyleChangeFromCSS); |
368 void clearNeedsStyleRecalc(); | 368 void clearNeedsStyleRecalc(); |
369 | 369 |
370 bool childNeedsDistributionRecalc() const { return getFlag(ChildNeedsDistrib
utionRecalc); } | 370 bool childNeedsDistributionRecalc() const { return getFlag(ChildNeedsDistrib
utionRecalc); } |
371 void setChildNeedsDistributionRecalc() { setFlag(ChildNeedsDistributionReca
lc); } | 371 void setChildNeedsDistributionRecalc() { setFlag(ChildNeedsDistributionReca
lc); } |
372 void clearChildNeedsDistributionRecalc() { clearFlag(ChildNeedsDistribution
Recalc); } | 372 void clearChildNeedsDistributionRecalc() { clearFlag(ChildNeedsDistribution
Recalc); } |
373 void markAncestorsWithChildNeedsDistributionRecalc(); | 373 void markAncestorsWithChildNeedsDistributionRecalc(); |
374 | 374 |
| 375 bool childNeedsInvalidation() const { return getFlag(ChildNeedsInvalidation)
; } |
| 376 void setChildNeedsInvalidation() { setFlag(ChildNeedsInvalidation); } |
| 377 void clearChildNeedsInvalidation() { clearFlag(ChildNeedsInvalidation); } |
| 378 void markAncestorsWithChildNeedsInvalidation(); |
| 379 void setNeedsInvalidation(); |
| 380 virtual bool needsInvalidation() const; |
| 381 |
375 void recalcDistribution(); | 382 void recalcDistribution(); |
376 | 383 |
377 bool shouldNotifyRendererWithIdenticalStyles() const { return getFlag(Notify
RendererWithIdenticalStyles); } | 384 bool shouldNotifyRendererWithIdenticalStyles() const { return getFlag(Notify
RendererWithIdenticalStyles); } |
378 | 385 |
379 void setIsLink(bool f); | 386 void setIsLink(bool f); |
380 | 387 |
381 void setInNamedFlow() { setFlag(InNamedFlowFlag); } | 388 void setInNamedFlow() { setFlag(InNamedFlowFlag); } |
382 void clearInNamedFlow() { clearFlag(InNamedFlowFlag); } | 389 void clearInNamedFlow() { clearFlag(InNamedFlowFlag); } |
383 | 390 |
384 bool hasScopedHTMLStyleChild() const { return getFlag(HasScopedHTMLStyleChil
dFlag); } | 391 bool hasScopedHTMLStyleChild() const { return getFlag(HasScopedHTMLStyleChil
dFlag); } |
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
718 HasEventTargetDataFlag = 1 << 22, | 725 HasEventTargetDataFlag = 1 << 22, |
719 V8CollectableDuringMinorGCFlag = 1 << 23, | 726 V8CollectableDuringMinorGCFlag = 1 << 23, |
720 IsInsertionPointFlag = 1 << 24, | 727 IsInsertionPointFlag = 1 << 24, |
721 IsInShadowTreeFlag = 1 << 25, | 728 IsInShadowTreeFlag = 1 << 25, |
722 | 729 |
723 NotifyRendererWithIdenticalStyles = 1 << 26, | 730 NotifyRendererWithIdenticalStyles = 1 << 26, |
724 | 731 |
725 CustomElement = 1 << 27, | 732 CustomElement = 1 << 27, |
726 CustomElementUpgraded = 1 << 28, | 733 CustomElementUpgraded = 1 << 28, |
727 | 734 |
| 735 ChildNeedsInvalidation = 1 << 29, |
| 736 |
728 DefaultNodeFlags = IsParsingChildrenFinishedFlag | ChildNeedsStyleRecalc
Flag | NeedsReattachStyleChange | 737 DefaultNodeFlags = IsParsingChildrenFinishedFlag | ChildNeedsStyleRecalc
Flag | NeedsReattachStyleChange |
729 }; | 738 }; |
730 | 739 |
731 // 4 bits remaining. | 740 // 2 bits remaining. |
732 | 741 |
733 bool getFlag(NodeFlags mask) const { return m_nodeFlags & mask; } | 742 bool getFlag(NodeFlags mask) const { return m_nodeFlags & mask; } |
734 void setFlag(bool f, NodeFlags mask) const { m_nodeFlags = (m_nodeFlags & ~m
ask) | (-(int32_t)f & mask); } | 743 void setFlag(bool f, NodeFlags mask) const { m_nodeFlags = (m_nodeFlags & ~m
ask) | (-(int32_t)f & mask); } |
735 void setFlag(NodeFlags mask) const { m_nodeFlags |= mask; } | 744 void setFlag(NodeFlags mask) const { m_nodeFlags |= mask; } |
736 void clearFlag(NodeFlags mask) const { m_nodeFlags &= ~mask; } | 745 void clearFlag(NodeFlags mask) const { m_nodeFlags &= ~mask; } |
737 | 746 |
738 protected: | 747 protected: |
739 enum ConstructionType { | 748 enum ConstructionType { |
740 CreateOther = DefaultNodeFlags, | 749 CreateOther = DefaultNodeFlags, |
741 CreateText = DefaultNodeFlags | IsTextFlag, | 750 CreateText = DefaultNodeFlags | IsTextFlag, |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
913 | 922 |
914 } // namespace WebCore | 923 } // namespace WebCore |
915 | 924 |
916 #ifndef NDEBUG | 925 #ifndef NDEBUG |
917 // Outside the WebCore namespace for ease of invocation from gdb. | 926 // Outside the WebCore namespace for ease of invocation from gdb. |
918 void showTree(const WebCore::Node*); | 927 void showTree(const WebCore::Node*); |
919 void showNodePath(const WebCore::Node*); | 928 void showNodePath(const WebCore::Node*); |
920 #endif | 929 #endif |
921 | 930 |
922 #endif | 931 #endif |
OLD | NEW |