X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fthird_party%2FWebKit%2FSource%2Fcore%2Fdom%2Fshadow%2FElementShadow.h;h=da98542c4d9e265b738f13e8cbf885be27d97a24;hb=004985e17e624662a4c85c76a7654039dc83f028;hp=aaeff7bbe9ddef2b1c7f3bb7b93263ae907a9c59;hpb=2f108dbacb161091e42a3479f4e171339b7e7623;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/third_party/WebKit/Source/core/dom/shadow/ElementShadow.h b/src/third_party/WebKit/Source/core/dom/shadow/ElementShadow.h index aaeff7b..da98542 100644 --- a/src/third_party/WebKit/Source/core/dom/shadow/ElementShadow.h +++ b/src/third_party/WebKit/Source/core/dom/shadow/ElementShadow.h @@ -30,6 +30,7 @@ #include "core/dom/shadow/InsertionPoint.h" #include "core/dom/shadow/SelectRuleFeatureSet.h" #include "core/dom/shadow/ShadowRoot.h" +#include "platform/heap/Handle.h" #include "wtf/DoublyLinkedList.h" #include "wtf/Forward.h" #include "wtf/HashMap.h" @@ -39,10 +40,11 @@ namespace WebCore { -class ElementShadow { - WTF_MAKE_NONCOPYABLE(ElementShadow); WTF_MAKE_FAST_ALLOCATED; +class ElementShadow FINAL : public NoBaseWillBeGarbageCollectedFinalized { + WTF_MAKE_NONCOPYABLE(ElementShadow); + WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED; public: - static PassOwnPtr create(); + static PassOwnPtrWillBeRawPtr create(); ~ElementShadow(); Element* host() const; @@ -52,16 +54,11 @@ public: ShadowRoot& addShadowRoot(Element& shadowHost, ShadowRoot::ShadowRootType); - bool applyAuthorStyles() const { return m_applyAuthorStyles; } - bool didAffectApplyAuthorStyles(); - bool containsActiveStyles() const; - bool hasSameStyles(ElementShadow *) const; + bool hasSameStyles(const ElementShadow*) const; void attach(const Node::AttachContext&); void detach(const Node::AttachContext&); - void removeAllEventListeners(); - void didAffectSelector(AffectedSelectorMask); void willAffectSelector(); const SelectRuleFeatureSet& ensureSelectFeatureSet(); @@ -74,11 +71,14 @@ public: void didDistributeNode(const Node*, InsertionPoint*); + void trace(Visitor*); + private: ElementShadow(); +#if !ENABLE(OILPAN) void removeDetachedShadowRoots(); - bool resolveApplyAuthorStyles() const; +#endif void distribute(); void clearDistribution(); @@ -93,9 +93,9 @@ private: NodeToDestinationInsertionPoints m_nodeToInsertionPoints; SelectRuleFeatureSet m_selectFeatures; + // FIXME: Oilpan: add a heap-based version of DoublyLinkedList<>. DoublyLinkedList m_shadowRoots; bool m_needsDistributionRecalc; - bool m_applyAuthorStyles; bool m_needsSelectFeatureSet; };