| 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-2011, 2014 Apple Inc. All rights reserved. | 5 * Copyright (C) 2004-2011, 2014 Apple Inc. All rights 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 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 class NodeRareData; | 70 class NodeRareData; |
| 71 class PlatformGestureEvent; | 71 class PlatformGestureEvent; |
| 72 class PlatformKeyboardEvent; | 72 class PlatformKeyboardEvent; |
| 73 class PlatformMouseEvent; | 73 class PlatformMouseEvent; |
| 74 class PlatformWheelEvent; | 74 class PlatformWheelEvent; |
| 75 class QualifiedName; | 75 class QualifiedName; |
| 76 class RadioNodeList; | 76 class RadioNodeList; |
| 77 class RegisteredEventListener; | 77 class RegisteredEventListener; |
| 78 class RenderBox; | 78 class RenderBox; |
| 79 class RenderBoxModelObject; | 79 class RenderBoxModelObject; |
| 80 class RenderObject; | 80 class LayoutObject; |
| 81 class RenderStyle; | 81 class RenderStyle; |
| 82 class SVGQualifiedName; | 82 class SVGQualifiedName; |
| 83 class ShadowRoot; | 83 class ShadowRoot; |
| 84 template <typename NodeType> class StaticNodeTypeList; | 84 template <typename NodeType> class StaticNodeTypeList; |
| 85 using StaticNodeList = StaticNodeTypeList<Node>; | 85 using StaticNodeList = StaticNodeTypeList<Node>; |
| 86 class TagCollection; | 86 class TagCollection; |
| 87 class Text; | 87 class Text; |
| 88 class TouchEvent; | 88 class TouchEvent; |
| 89 class WeakNodeMap; | 89 class WeakNodeMap; |
| 90 | 90 |
| 91 const int nodeStyleChangeShift = 19; | 91 const int nodeStyleChangeShift = 19; |
| 92 | 92 |
| 93 enum StyleChangeType { | 93 enum StyleChangeType { |
| 94 NoStyleChange = 0, | 94 NoStyleChange = 0, |
| 95 LocalStyleChange = 1 << nodeStyleChangeShift, | 95 LocalStyleChange = 1 << nodeStyleChangeShift, |
| 96 SubtreeStyleChange = 2 << nodeStyleChangeShift, | 96 SubtreeStyleChange = 2 << nodeStyleChangeShift, |
| 97 NeedsReattachStyleChange = 3 << nodeStyleChangeShift, | 97 NeedsReattachStyleChange = 3 << nodeStyleChangeShift, |
| 98 }; | 98 }; |
| 99 | 99 |
| 100 class NodeRareDataBase { | 100 class NodeRareDataBase { |
| 101 public: | 101 public: |
| 102 RenderObject* renderer() const { return m_renderer; } | 102 LayoutObject* renderer() const { return m_renderer; } |
| 103 void setRenderer(RenderObject* renderer) { m_renderer = renderer; } | 103 void setRenderer(LayoutObject* renderer) { m_renderer = renderer; } |
| 104 | 104 |
| 105 protected: | 105 protected: |
| 106 NodeRareDataBase(RenderObject* renderer) | 106 NodeRareDataBase(LayoutObject* renderer) |
| 107 : m_renderer(renderer) | 107 : m_renderer(renderer) |
| 108 { } | 108 { } |
| 109 | 109 |
| 110 protected: | 110 protected: |
| 111 // Oilpan: This member is traced in NodeRareData. | 111 // Oilpan: This member is traced in NodeRareData. |
| 112 // FIXME: Can we add traceAfterDispatch and finalizeGarbageCollectedObject | 112 // FIXME: Can we add traceAfterDispatch and finalizeGarbageCollectedObject |
| 113 // to NodeRareDataBase, and make m_renderer Member<>? | 113 // to NodeRareDataBase, and make m_renderer Member<>? |
| 114 RenderObject* m_renderer; | 114 LayoutObject* m_renderer; |
| 115 }; | 115 }; |
| 116 | 116 |
| 117 class Node; | 117 class Node; |
| 118 WILL_NOT_BE_EAGERLY_TRACED_CLASS(Node); | 118 WILL_NOT_BE_EAGERLY_TRACED_CLASS(Node); |
| 119 | 119 |
| 120 #if ENABLE(OILPAN) | 120 #if ENABLE(OILPAN) |
| 121 #define NODE_BASE_CLASSES public EventTarget | 121 #define NODE_BASE_CLASSES public EventTarget |
| 122 #else | 122 #else |
| 123 // TreeShared should be the last to pack TreeShared::m_refCount and | 123 // TreeShared should be the last to pack TreeShared::m_refCount and |
| 124 // Node::m_nodeFlags on 64bit platforms. | 124 // Node::m_nodeFlags on 64bit platforms. |
| (...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 497 virtual int maxCharacterOffset() const; | 497 virtual int maxCharacterOffset() const; |
| 498 | 498 |
| 499 // Whether or not a selection can be started in this object | 499 // Whether or not a selection can be started in this object |
| 500 virtual bool canStartSelection() const; | 500 virtual bool canStartSelection() const; |
| 501 | 501 |
| 502 // -------------------------------------------------------------------------
---- | 502 // -------------------------------------------------------------------------
---- |
| 503 // Integration with rendering tree | 503 // Integration with rendering tree |
| 504 | 504 |
| 505 // As renderer() includes a branch you should avoid calling it repeatedly in
hot code paths. | 505 // As renderer() includes a branch you should avoid calling it repeatedly in
hot code paths. |
| 506 // Note that if a Node has a renderer, it's parentNode is guaranteed to have
one as well. | 506 // Note that if a Node has a renderer, it's parentNode is guaranteed to have
one as well. |
| 507 RenderObject* renderer() const { return hasRareData() ? m_data.m_rareData->r
enderer() : m_data.m_renderer; }; | 507 LayoutObject* renderer() const { return hasRareData() ? m_data.m_rareData->r
enderer() : m_data.m_renderer; }; |
| 508 void setRenderer(RenderObject* renderer) | 508 void setRenderer(LayoutObject* renderer) |
| 509 { | 509 { |
| 510 if (hasRareData()) | 510 if (hasRareData()) |
| 511 m_data.m_rareData->setRenderer(renderer); | 511 m_data.m_rareData->setRenderer(renderer); |
| 512 else | 512 else |
| 513 m_data.m_renderer = renderer; | 513 m_data.m_renderer = renderer; |
| 514 } | 514 } |
| 515 | 515 |
| 516 // Use these two methods with caution. | 516 // Use these two methods with caution. |
| 517 RenderBox* renderBox() const; | 517 RenderBox* renderBox() const; |
| 518 RenderBoxModelObject* renderBoxModelObject() const; | 518 RenderBoxModelObject* renderBoxModelObject() const; |
| 519 | 519 |
| 520 struct AttachContext { | 520 struct AttachContext { |
| 521 RenderStyle* resolvedStyle; | 521 RenderStyle* resolvedStyle; |
| 522 bool performingReattach; | 522 bool performingReattach; |
| 523 | 523 |
| 524 AttachContext() : resolvedStyle(nullptr), performingReattach(false) { } | 524 AttachContext() : resolvedStyle(nullptr), performingReattach(false) { } |
| 525 }; | 525 }; |
| 526 | 526 |
| 527 // Attaches this node to the rendering tree. This calculates the style to be
applied to the node and creates an | 527 // Attaches this node to the rendering tree. This calculates the style to be
applied to the node and creates an |
| 528 // appropriate RenderObject which will be inserted into the tree (except whe
n the style has display: none). This | 528 // appropriate LayoutObject which will be inserted into the tree (except whe
n the style has display: none). This |
| 529 // makes the node visible in the FrameView. | 529 // makes the node visible in the FrameView. |
| 530 virtual void attach(const AttachContext& = AttachContext()); | 530 virtual void attach(const AttachContext& = AttachContext()); |
| 531 | 531 |
| 532 // Detaches the node from the rendering tree, making it invisible in the ren
dered view. This method will remove | 532 // Detaches the node from the rendering tree, making it invisible in the ren
dered view. This method will remove |
| 533 // the node's rendering object from the rendering tree and delete it. | 533 // the node's rendering object from the rendering tree and delete it. |
| 534 virtual void detach(const AttachContext& = AttachContext()); | 534 virtual void detach(const AttachContext& = AttachContext()); |
| 535 | 535 |
| 536 #if ENABLE(ASSERT) | 536 #if ENABLE(ASSERT) |
| 537 bool inDetach() const; | 537 bool inDetach() const; |
| 538 #endif | 538 #endif |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 814 WillBeHeapHashSet<RawPtrWillBeMember<MutationObserverRegistration> >* transi
entMutationObserverRegistry(); | 814 WillBeHeapHashSet<RawPtrWillBeMember<MutationObserverRegistration> >* transi
entMutationObserverRegistry(); |
| 815 | 815 |
| 816 uint32_t m_nodeFlags; | 816 uint32_t m_nodeFlags; |
| 817 RawPtrWillBeMember<ContainerNode> m_parentOrShadowHostNode; | 817 RawPtrWillBeMember<ContainerNode> m_parentOrShadowHostNode; |
| 818 RawPtrWillBeMember<TreeScope> m_treeScope; | 818 RawPtrWillBeMember<TreeScope> m_treeScope; |
| 819 RawPtrWillBeMember<Node> m_previous; | 819 RawPtrWillBeMember<Node> m_previous; |
| 820 RawPtrWillBeMember<Node> m_next; | 820 RawPtrWillBeMember<Node> m_next; |
| 821 // When a node has rare data we move the renderer into the rare data. | 821 // When a node has rare data we move the renderer into the rare data. |
| 822 union DataUnion { | 822 union DataUnion { |
| 823 DataUnion() : m_renderer(nullptr) { } | 823 DataUnion() : m_renderer(nullptr) { } |
| 824 RenderObject* m_renderer; | 824 LayoutObject* m_renderer; |
| 825 NodeRareDataBase* m_rareData; | 825 NodeRareDataBase* m_rareData; |
| 826 } m_data; | 826 } m_data; |
| 827 }; | 827 }; |
| 828 | 828 |
| 829 inline void Node::setParentOrShadowHostNode(ContainerNode* parent) | 829 inline void Node::setParentOrShadowHostNode(ContainerNode* parent) |
| 830 { | 830 { |
| 831 ASSERT(isMainThread()); | 831 ASSERT(isMainThread()); |
| 832 m_parentOrShadowHostNode = parent; | 832 m_parentOrShadowHostNode = parent; |
| 833 } | 833 } |
| 834 | 834 |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 903 } // namespace blink | 903 } // namespace blink |
| 904 | 904 |
| 905 #ifndef NDEBUG | 905 #ifndef NDEBUG |
| 906 // Outside the WebCore namespace for ease of invocation from gdb. | 906 // Outside the WebCore namespace for ease of invocation from gdb. |
| 907 void showNode(const blink::Node*); | 907 void showNode(const blink::Node*); |
| 908 void showTree(const blink::Node*); | 908 void showTree(const blink::Node*); |
| 909 void showNodePath(const blink::Node*); | 909 void showNodePath(const blink::Node*); |
| 910 #endif | 910 #endif |
| 911 | 911 |
| 912 #endif // Node_h | 912 #endif // Node_h |
| OLD | NEW |