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 Nokia Corporation and/or its subsidiary(-ies) | 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 #include "core/svg/graphics/SVGImage.h" | 89 #include "core/svg/graphics/SVGImage.h" |
90 #include "platform/Partitions.h" | 90 #include "platform/Partitions.h" |
91 #include "platform/TraceEvent.h" | 91 #include "platform/TraceEvent.h" |
92 #include "platform/TracedValue.h" | 92 #include "platform/TracedValue.h" |
93 #include "wtf/HashSet.h" | 93 #include "wtf/HashSet.h" |
94 #include "wtf/PassOwnPtr.h" | 94 #include "wtf/PassOwnPtr.h" |
95 #include "wtf/RefCountedLeakCounter.h" | 95 #include "wtf/RefCountedLeakCounter.h" |
96 #include "wtf/Vector.h" | 96 #include "wtf/Vector.h" |
97 #include "wtf/text/CString.h" | 97 #include "wtf/text/CString.h" |
98 #include "wtf/text/StringBuilder.h" | 98 #include "wtf/text/StringBuilder.h" |
| 99 #include <inttypes.h> |
99 | 100 |
100 namespace blink { | 101 namespace blink { |
101 | 102 |
102 using namespace HTMLNames; | 103 using namespace HTMLNames; |
103 | 104 |
104 struct SameSizeAsNode : NODE_BASE_CLASSES { | 105 struct SameSizeAsNode : NODE_BASE_CLASSES { |
105 uint32_t m_nodeFlags; | 106 uint32_t m_nodeFlags; |
106 void* m_pointer[5]; | 107 void* m_pointer[5]; |
107 }; | 108 }; |
108 | 109 |
(...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
759 m_nodeFlags = (m_nodeFlags & ~StyleChangeMask) | changeType; | 760 m_nodeFlags = (m_nodeFlags & ~StyleChangeMask) | changeType; |
760 } | 761 } |
761 | 762 |
762 void Node::markAncestorsWithChildNeedsStyleRecalc() | 763 void Node::markAncestorsWithChildNeedsStyleRecalc() |
763 { | 764 { |
764 for (ContainerNode* p = parentOrShadowHostNode(); p && !p->childNeedsStyleRe
calc(); p = p->parentOrShadowHostNode()) | 765 for (ContainerNode* p = parentOrShadowHostNode(); p && !p->childNeedsStyleRe
calc(); p = p->parentOrShadowHostNode()) |
765 p->setChildNeedsStyleRecalc(); | 766 p->setChildNeedsStyleRecalc(); |
766 document().scheduleRenderTreeUpdateIfNeeded(); | 767 document().scheduleRenderTreeUpdateIfNeeded(); |
767 } | 768 } |
768 | 769 |
| 770 PassRefPtr<TraceEvent::ConvertableToTraceFormat> jsonObjectForTracedStyleInvalid
ation(const Node* node, const StyleChangeType styleChangeType) |
| 771 { |
| 772 RefPtr<TracedValue> value = TracedValue::create(); |
| 773 value->setString("root_node", node->debugName()); |
| 774 LocalFrame* frame = node->document().frame(); |
| 775 value->setString("frame", String::format("0x%" PRIx64, static_cast<uint64>(r
einterpret_cast<intptr_t>(frame)))); |
| 776 switch(styleChangeType) { |
| 777 case(NoStyleChange): value->setString("styleChange", "NoStyleChange"); b
reak; |
| 778 case(LocalStyleChange): value->setString("styleChange", "LocalStyleChang
e"); break; |
| 779 case(SubtreeStyleChange): value->setString("styleChange", "SubtreeStyleC
hange"); break; |
| 780 case(NeedsReattachStyleChange): value->setString("styleChange", "NeedsRe
attachStyleChange"); break; |
| 781 default: value->setString("styleChange", "Unknown"); |
| 782 } |
| 783 return value; |
| 784 } |
| 785 |
769 void Node::setNeedsStyleRecalc(StyleChangeType changeType) | 786 void Node::setNeedsStyleRecalc(StyleChangeType changeType) |
770 { | 787 { |
771 ASSERT(changeType != NoStyleChange); | 788 ASSERT(changeType != NoStyleChange); |
772 if (!inActiveDocument()) | 789 if (!inActiveDocument()) |
773 return; | 790 return; |
774 | 791 |
775 StyleChangeType existingChangeType = styleChangeType(); | 792 StyleChangeType existingChangeType = styleChangeType(); |
776 if (changeType > existingChangeType) { | 793 if (changeType > existingChangeType) { |
777 setStyleChange(changeType); | 794 setStyleChange(changeType); |
778 if (changeType >= SubtreeStyleChange) | 795 if (changeType >= SubtreeStyleChange) |
779 traceStyleChangeIfNeeded(changeType); | 796 traceStyleChangeIfNeeded(changeType); |
| 797 TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline.invali
dations"), "Invalidation", "data", jsonObjectForTracedStyleInvalidation(this, ch
angeType)); |
780 } | 798 } |
781 | 799 |
782 if (existingChangeType == NoStyleChange) | 800 if (existingChangeType == NoStyleChange) |
783 markAncestorsWithChildNeedsStyleRecalc(); | 801 markAncestorsWithChildNeedsStyleRecalc(); |
784 | 802 |
785 if (isElementNode() && hasRareData()) | 803 if (isElementNode() && hasRareData()) |
786 toElement(*this).setAnimationStyleChange(false); | 804 toElement(*this).setAnimationStyleChange(false); |
787 } | 805 } |
788 | 806 |
789 void Node::clearNeedsStyleRecalc() | 807 void Node::clearNeedsStyleRecalc() |
(...skipping 1700 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2490 node->showTreeForThis(); | 2508 node->showTreeForThis(); |
2491 } | 2509 } |
2492 | 2510 |
2493 void showNodePath(const blink::Node* node) | 2511 void showNodePath(const blink::Node* node) |
2494 { | 2512 { |
2495 if (node) | 2513 if (node) |
2496 node->showNodePathForThis(); | 2514 node->showNodePathForThis(); |
2497 } | 2515 } |
2498 | 2516 |
2499 #endif | 2517 #endif |
OLD | NEW |