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

Unified Diff: Source/core/dom/shadow/ContentDistributor.h

Issue 17054002: Element::recalcStyle() overly reattach()-es InsertionPoints. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: For landing Created 7 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/dom/Text.cpp ('k') | Source/core/dom/shadow/ContentDistributor.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/dom/shadow/ContentDistributor.h
diff --git a/Source/core/dom/shadow/ContentDistributor.h b/Source/core/dom/shadow/ContentDistributor.h
index 91a480c3cdf1f34b730238fe813a5d5d3b6ca153..c90049b4a606630590f2be5df0a9fd68f97cf358 100644
--- a/Source/core/dom/shadow/ContentDistributor.h
+++ b/Source/core/dom/shadow/ContentDistributor.h
@@ -132,12 +132,13 @@ public:
void didShadowBoundaryChange(Element* host);
void didAffectSelector(Element* host, AffectedSelectorMask);
void willAffectSelector(Element* host);
+ void setNeedsStyleRecalcIfDistributedTo(InsertionPoint*);
- static void ensureDistribution(ShadowRoot*);
+ static void ensureDistribution(Element*);
private:
void distribute(Element* host);
- bool invalidate(Element* host);
+ bool invalidate(Element* host, Vector<Node*, 8>& nodesNeedingReattach);
void populate(Node*, ContentDistribution&);
void collectSelectFeatureSetFrom(ShadowRoot*);
@@ -149,7 +150,8 @@ private:
bool needsDistribution() const;
bool needsInvalidation() const { return m_validity != Invalidated; }
- HashMap<const Node*, RefPtr<InsertionPoint> > m_nodeToInsertionPoint;
+ typedef HashMap<const Node*, RefPtr<InsertionPoint> > NodeInsertionPointMap;
+ NodeInsertionPointMap m_nodeToInsertionPoint;
SelectRuleFeatureSet m_selectFeatures;
unsigned m_needsSelectFeatureSet : 1;
unsigned m_validity : 2;
« no previous file with comments | « Source/core/dom/Text.cpp ('k') | Source/core/dom/shadow/ContentDistributor.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698