Index: Source/core/inspector/InspectorCSSAgent.cpp |
diff --git a/Source/core/inspector/InspectorCSSAgent.cpp b/Source/core/inspector/InspectorCSSAgent.cpp |
index 0f935bf563896d639ef7ad11a068680a23fd8f59..cac901661f4b71e8a0146402c2b5c4430c0bfc41 100644 |
--- a/Source/core/inspector/InspectorCSSAgent.cpp |
+++ b/Source/core/inspector/InspectorCSSAgent.cpp |
@@ -357,8 +357,10 @@ InspectorCSSAgent::InspectorCSSAgent(InspectorDOMAgent* domAgent, InspectorPageA |
InspectorCSSAgent::~InspectorCSSAgent() |
{ |
+#if !ENABLE(OILPAN) |
ASSERT(!m_domAgent); |
reset(); |
+#endif |
} |
void InspectorCSSAgent::setFrontend(InspectorFrontend* frontend) |
@@ -378,7 +380,7 @@ void InspectorCSSAgent::clearFrontend() |
void InspectorCSSAgent::discardAgent() |
{ |
m_domAgent->setDOMListener(0); |
- m_domAgent = 0; |
+ m_domAgent = nullptr; |
} |
void InspectorCSSAgent::restore() |
@@ -391,9 +393,9 @@ void InspectorCSSAgent::flushPendingFrontendMessages() |
{ |
if (!m_invalidatedDocuments.size()) |
return; |
- HashSet<Document*> invalidatedDocuments; |
+ WillBeHeapHashSet<RawPtrWillBeMember<Document> > invalidatedDocuments; |
m_invalidatedDocuments.swap(&invalidatedDocuments); |
- for (HashSet<Document*>::iterator it = invalidatedDocuments.begin(); it != invalidatedDocuments.end(); ++it) |
+ for (WillBeHeapHashSet<RawPtrWillBeMember<Document> >::iterator it = invalidatedDocuments.begin(); it != invalidatedDocuments.end(); ++it) |
updateActiveStyleSheets(*it, ExistingFrontendRefresh); |
} |
@@ -433,8 +435,8 @@ void InspectorCSSAgent::wasEnabled() |
} |
m_instrumentingAgents->setInspectorCSSAgent(this); |
- Vector<Document*> documents = m_domAgent->documents(); |
- for (Vector<Document*>::iterator it = documents.begin(); it != documents.end(); ++it) |
+ WillBeHeapVector<RawPtrWillBeMember<Document> > documents = m_domAgent->documents(); |
+ for (WillBeHeapVector<RawPtrWillBeMember<Document> >::iterator it = documents.begin(); it != documents.end(); ++it) |
updateActiveStyleSheets(*it, InitialFrontendLoad); |
} |
@@ -503,25 +505,25 @@ void InspectorCSSAgent::activeStyleSheetsUpdated(Document* document) |
void InspectorCSSAgent::updateActiveStyleSheets(Document* document, StyleSheetsUpdateType styleSheetsUpdateType) |
{ |
- Vector<CSSStyleSheet*> newSheetsVector; |
+ WillBeHeapVector<RawPtrWillBeMember<CSSStyleSheet> > newSheetsVector; |
InspectorCSSAgent::collectAllDocumentStyleSheets(document, newSheetsVector); |
setActiveStyleSheets(document, newSheetsVector, styleSheetsUpdateType); |
} |
-void InspectorCSSAgent::setActiveStyleSheets(Document* document, const Vector<CSSStyleSheet*>& allSheetsVector, StyleSheetsUpdateType styleSheetsUpdateType) |
+void InspectorCSSAgent::setActiveStyleSheets(Document* document, const WillBeHeapVector<RawPtrWillBeMember<CSSStyleSheet> >& allSheetsVector, StyleSheetsUpdateType styleSheetsUpdateType) |
{ |
bool isInitialFrontendLoad = styleSheetsUpdateType == InitialFrontendLoad; |
- HashSet<CSSStyleSheet*>* documentCSSStyleSheets = m_documentToCSSStyleSheets.get(document); |
+ WillBeHeapHashSet<RawPtrWillBeMember<CSSStyleSheet> >* documentCSSStyleSheets = m_documentToCSSStyleSheets.get(document); |
if (!documentCSSStyleSheets) { |
- documentCSSStyleSheets = new HashSet<CSSStyleSheet*>(); |
- OwnPtr<HashSet<CSSStyleSheet*> > documentCSSStyleSheetsPtr = adoptPtr(documentCSSStyleSheets); |
+ documentCSSStyleSheets = new WillBeHeapHashSet<RawPtrWillBeMember<CSSStyleSheet> >(); |
+ OwnPtrWillBeRawPtr<WillBeHeapHashSet<RawPtrWillBeMember<CSSStyleSheet> > > documentCSSStyleSheetsPtr = adoptPtrWillBeNoop(documentCSSStyleSheets); |
m_documentToCSSStyleSheets.set(document, documentCSSStyleSheetsPtr.release()); |
} |
- HashSet<CSSStyleSheet*> removedSheets(*documentCSSStyleSheets); |
- Vector<CSSStyleSheet*> addedSheets; |
- for (Vector<CSSStyleSheet*>::const_iterator it = allSheetsVector.begin(); it != allSheetsVector.end(); ++it) { |
+ WillBeHeapHashSet<RawPtrWillBeMember<CSSStyleSheet> > removedSheets(*documentCSSStyleSheets); |
+ WillBeHeapVector<RawPtrWillBeMember<CSSStyleSheet> > addedSheets; |
+ for (WillBeHeapVector<RawPtrWillBeMember<CSSStyleSheet> >::const_iterator it = allSheetsVector.begin(); it != allSheetsVector.end(); ++it) { |
CSSStyleSheet* cssStyleSheet = *it; |
if (removedSheets.contains(cssStyleSheet)) { |
removedSheets.remove(cssStyleSheet); |
@@ -532,9 +534,9 @@ void InspectorCSSAgent::setActiveStyleSheets(Document* document, const Vector<CS |
} |
} |
- for (HashSet<CSSStyleSheet*>::iterator it = removedSheets.begin(); it != removedSheets.end(); ++it) { |
+ for (WillBeHeapHashSet<RawPtrWillBeMember<CSSStyleSheet> >::iterator it = removedSheets.begin(); it != removedSheets.end(); ++it) { |
CSSStyleSheet* cssStyleSheet = *it; |
- RefPtr<InspectorStyleSheet> inspectorStyleSheet = m_cssStyleSheetToInspectorStyleSheet.get(cssStyleSheet); |
+ RefPtrWillBeRawPtr<InspectorStyleSheet> inspectorStyleSheet = m_cssStyleSheetToInspectorStyleSheet.get(cssStyleSheet); |
ASSERT(inspectorStyleSheet); |
documentCSSStyleSheets->remove(cssStyleSheet); |
@@ -545,7 +547,7 @@ void InspectorCSSAgent::setActiveStyleSheets(Document* document, const Vector<CS |
} |
} |
- for (Vector<CSSStyleSheet*>::iterator it = addedSheets.begin(); it != addedSheets.end(); ++it) { |
+ for (WillBeHeapVector<RawPtrWillBeMember<CSSStyleSheet> >::iterator it = addedSheets.begin(); it != addedSheets.end(); ++it) { |
CSSStyleSheet* cssStyleSheet = *it; |
bool isNew = isInitialFrontendLoad || !m_cssStyleSheetToInspectorStyleSheet.contains(cssStyleSheet); |
if (isNew) { |
@@ -563,7 +565,7 @@ void InspectorCSSAgent::setActiveStyleSheets(Document* document, const Vector<CS |
void InspectorCSSAgent::documentDetached(Document* document) |
{ |
m_invalidatedDocuments.remove(document); |
- setActiveStyleSheets(document, Vector<CSSStyleSheet*>(), ExistingFrontendRefresh); |
+ setActiveStyleSheets(document, WillBeHeapVector<RawPtrWillBeMember<CSSStyleSheet> >(), ExistingFrontendRefresh); |
} |
bool InspectorCSSAgent::forcePseudoState(Element* element, CSSSelector::PseudoType pseudoType) |
@@ -1132,7 +1134,7 @@ Element* InspectorCSSAgent::elementForId(ErrorString* errorString, int nodeId) |
} |
// static |
-void InspectorCSSAgent::collectAllDocumentStyleSheets(Document* document, Vector<CSSStyleSheet*>& result) |
+void InspectorCSSAgent::collectAllDocumentStyleSheets(Document* document, WillBeHeapVector<RawPtrWillBeMember<CSSStyleSheet> >& result) |
{ |
const WillBeHeapVector<RefPtrWillBeMember<CSSStyleSheet> > activeStyleSheets = document->styleEngine()->activeStyleSheetsForInspector(); |
for (WillBeHeapVector<RefPtrWillBeMember<CSSStyleSheet> >::const_iterator it = activeStyleSheets.begin(); it != activeStyleSheets.end(); ++it) { |
@@ -1142,7 +1144,7 @@ void InspectorCSSAgent::collectAllDocumentStyleSheets(Document* document, Vector |
} |
// static |
-void InspectorCSSAgent::collectStyleSheets(CSSStyleSheet* styleSheet, Vector<CSSStyleSheet*>& result) |
+void InspectorCSSAgent::collectStyleSheets(CSSStyleSheet* styleSheet, WillBeHeapVector<RawPtrWillBeMember<CSSStyleSheet> >& result) |
{ |
result.append(styleSheet); |
for (unsigned i = 0, size = styleSheet->length(); i < size; ++i) { |
@@ -1394,7 +1396,7 @@ void InspectorCSSAgent::didReparseStyleSheet() |
void InspectorCSSAgent::resetPseudoStates() |
{ |
- HashSet<Document*> documentsToChange; |
+ WillBeHeapHashSet<RawPtrWillBeMember<Document> > documentsToChange; |
for (NodeIdToForcedPseudoState::iterator it = m_nodeIdToForcedPseudoState.begin(), end = m_nodeIdToForcedPseudoState.end(); it != end; ++it) { |
Element* element = toElement(m_domAgent->nodeForId(it->key)); |
if (element && element->ownerDocument()) |
@@ -1402,9 +1404,24 @@ void InspectorCSSAgent::resetPseudoStates() |
} |
m_nodeIdToForcedPseudoState.clear(); |
- for (HashSet<Document*>::iterator it = documentsToChange.begin(), end = documentsToChange.end(); it != end; ++it) |
+ for (WillBeHeapHashSet<RawPtrWillBeMember<Document> >::iterator it = documentsToChange.begin(), end = documentsToChange.end(); it != end; ++it) |
(*it)->setNeedsStyleRecalc(SubtreeStyleChange); |
} |
+void InspectorCSSAgent::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_domAgent); |
+ visitor->trace(m_pageAgent); |
+ visitor->trace(m_resourceAgent); |
+#if ENABLE(OILPAN) |
+ visitor->trace(m_cssStyleSheetToInspectorStyleSheet); |
+ visitor->trace(m_documentToCSSStyleSheets); |
+ visitor->trace(m_invalidatedDocuments); |
+ visitor->trace(m_documentToViaInspectorStyleSheet); |
+#endif |
+ visitor->trace(m_inspectorUserAgentStyleSheet); |
+ InspectorBaseAgent::trace(visitor); |
+} |
+ |
} // namespace blink |