Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(234)

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLSlotElement.h

Issue 2427443003: Reland of Fix FlatTreeTraversal for a slot in a document tree (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2015 Google Inc. All rights reserved. 2 * Copyright (C) 2015 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 // shadow host. This method should be used only when m_assignedNodes is 86 // shadow host. This method should be used only when m_assignedNodes is
87 // dirty. e.g. To detect a slotchange event in DOM mutations. 87 // dirty. e.g. To detect a slotchange event in DOM mutations.
88 bool hasAssignedNodesSlow() const; 88 bool hasAssignedNodesSlow() const;
89 bool findHostChildWithSameSlotName() const; 89 bool findHostChildWithSameSlotName() const;
90 90
91 void enqueueSlotChangeEvent(); 91 void enqueueSlotChangeEvent();
92 92
93 void clearDistribution(); 93 void clearDistribution();
94 void saveAndClearDistribution(); 94 void saveAndClearDistribution();
95 95
96 bool supportsDistribution() const { return isInShadowTree(); }
97 void updateDistributedNodesManually();
98
96 static AtomicString normalizeSlotName(const AtomicString&); 99 static AtomicString normalizeSlotName(const AtomicString&);
97 100
98 DECLARE_VIRTUAL_TRACE(); 101 DECLARE_VIRTUAL_TRACE();
99 102
100 private: 103 private:
101 HTMLSlotElement(Document&); 104 HTMLSlotElement(Document&);
102 105
103 InsertionNotificationRequest insertedInto(ContainerNode*) final; 106 InsertionNotificationRequest insertedInto(ContainerNode*) final;
104 void removedFrom(ContainerNode*) final; 107 void removedFrom(ContainerNode*) final;
105 void willRecalcStyle(StyleRecalcChange) final; 108 void willRecalcStyle(StyleRecalcChange) final;
106 109
107 void dispatchSlotChangeEvent(); 110 void dispatchSlotChangeEvent();
108 111
109 HeapVector<Member<Node>> m_assignedNodes; 112 HeapVector<Member<Node>> m_assignedNodes;
110 HeapVector<Member<Node>> m_distributedNodes; 113 HeapVector<Member<Node>> m_distributedNodes;
111 HeapVector<Member<Node>> m_oldDistributedNodes; 114 HeapVector<Member<Node>> m_oldDistributedNodes;
112 HeapHashMap<Member<const Node>, size_t> m_distributedIndices; 115 HeapHashMap<Member<const Node>, size_t> m_distributedIndices;
113 bool m_slotchangeEventEnqueued = false; 116 bool m_slotchangeEventEnqueued = false;
114 }; 117 };
115 118
116 } // namespace blink 119 } // namespace blink
117 120
118 #endif // HTMLSlotElement_h 121 #endif // HTMLSlotElement_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698