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

Side by Side Diff: third_party/WebKit/Source/core/dom/StyleEngine.h

Issue 2394353003: Apply RuleSet changes for active stylesheet changes. (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) 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 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All
7 * rights reserved. 7 * rights reserved.
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved.
9 * (http://www.torchmobile.com/) 9 * (http://www.torchmobile.com/)
10 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 10 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 void pseudoStateChangedForElement(CSSSelector::PseudoType, Element&); 204 void pseudoStateChangedForElement(CSSSelector::PseudoType, Element&);
205 void scheduleSiblingInvalidationsForElement(Element&, 205 void scheduleSiblingInvalidationsForElement(Element&,
206 ContainerNode& schedulingParent, 206 ContainerNode& schedulingParent,
207 unsigned minDirectAdjacent); 207 unsigned minDirectAdjacent);
208 void scheduleInvalidationsForInsertedSibling(Element* beforeElement, 208 void scheduleInvalidationsForInsertedSibling(Element* beforeElement,
209 Element& insertedElement); 209 Element& insertedElement);
210 void scheduleInvalidationsForRemovedSibling(Element* beforeElement, 210 void scheduleInvalidationsForRemovedSibling(Element* beforeElement,
211 Element& removedElement, 211 Element& removedElement,
212 Element& afterElement); 212 Element& afterElement);
213 void scheduleNthPseudoInvalidations(ContainerNode&); 213 void scheduleNthPseudoInvalidations(ContainerNode&);
214 void scheduleInvalidationsForRuleSets( 214 void scheduleInvalidationsForRuleSets(TreeScope&,
215 TreeScope&, 215 const HeapVector<Member<RuleSet>>&);
216 const HeapVector<Member<const RuleSet>>&);
217 216
218 unsigned styleForElementCount() const { return m_styleForElementCount; } 217 unsigned styleForElementCount() const { return m_styleForElementCount; }
219 void incStyleForElementCount() { m_styleForElementCount++; } 218 void incStyleForElementCount() { m_styleForElementCount++; }
220 219
221 StyleResolverStats* stats() { return m_styleResolverStats.get(); } 220 StyleResolverStats* stats() { return m_styleResolverStats.get(); }
222 void setStatsEnabled(bool); 221 void setStatsEnabled(bool);
223 222
224 DECLARE_VIRTUAL_TRACE(); 223 DECLARE_VIRTUAL_TRACE();
225 224
226 DECLARE_TRACE_WRAPPERS(); 225 DECLARE_TRACE_WRAPPERS();
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 } 263 }
265 264
266 void updateActiveStyleSheetsInShadow( 265 void updateActiveStyleSheetsInShadow(
267 StyleResolverUpdateMode, 266 StyleResolverUpdateMode,
268 TreeScope*, 267 TreeScope*,
269 UnorderedTreeScopeSet& treeScopesRemoved); 268 UnorderedTreeScopeSet& treeScopesRemoved);
270 269
271 bool shouldSkipInvalidationFor(const Element&) const; 270 bool shouldSkipInvalidationFor(const Element&) const;
272 void scheduleRuleSetInvalidationsForElement( 271 void scheduleRuleSetInvalidationsForElement(
273 Element&, 272 Element&,
274 const HeapVector<Member<const RuleSet>>&); 273 const HeapVector<Member<RuleSet>>&);
275 void invalidateSlottedElements(HTMLSlotElement&); 274 void invalidateSlottedElements(HTMLSlotElement&);
276 275
277 Member<Document> m_document; 276 Member<Document> m_document;
278 bool m_isMaster; 277 bool m_isMaster;
279 278
280 // Track the number of currently loading top-level stylesheets needed for 279 // Track the number of currently loading top-level stylesheets needed for
281 // layout. Sheets loaded using the @import directive are not included in this 280 // layout. Sheets loaded using the @import directive are not included in this
282 // count. We use this count of pending sheets to detect when we can begin 281 // count. We use this count of pending sheets to detect when we can begin
283 // attaching elements and when it is safe to execute scripts. 282 // attaching elements and when it is safe to execute scripts.
284 int m_pendingScriptBlockingStylesheets = 0; 283 int m_pendingScriptBlockingStylesheets = 0;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 319
321 std::unique_ptr<StyleResolverStats> m_styleResolverStats; 320 std::unique_ptr<StyleResolverStats> m_styleResolverStats;
322 unsigned m_styleForElementCount = 0; 321 unsigned m_styleForElementCount = 0;
323 322
324 friend class StyleEngineTest; 323 friend class StyleEngineTest;
325 }; 324 };
326 325
327 } // namespace blink 326 } // namespace blink
328 327
329 #endif 328 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698