| 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 |