| Index: Source/core/inspector/InspectorPageAgent.cpp
|
| diff --git a/Source/core/inspector/InspectorPageAgent.cpp b/Source/core/inspector/InspectorPageAgent.cpp
|
| index 0eea2bd408cdca11701cf73b912fd9244bdc7a7f..c5870bc08a92a908e9e85549f4535be3157d1379 100644
|
| --- a/Source/core/inspector/InspectorPageAgent.cpp
|
| +++ b/Source/core/inspector/InspectorPageAgent.cpp
|
| @@ -480,7 +480,15 @@ void InspectorPageAgent::enable(ErrorString*)
|
| m_enabled = true;
|
| m_state->setBoolean(PageAgentState::pageAgentEnabled, true);
|
| m_instrumentingAgents->setInspectorPageAgent(this);
|
| - m_inspectorResourceContentLoader = adoptPtr(new InspectorResourceContentLoader(m_page));
|
| + m_inspectorResourceContentLoader = adoptPtrWillBeNoop(new InspectorResourceContentLoader(m_page));
|
| +}
|
| +
|
| +void InspectorPageAgent::dispose()
|
| +{
|
| + if (!m_inspectorResourceContentLoader)
|
| + return;
|
| + m_inspectorResourceContentLoader->dispose();
|
| + m_inspectorResourceContentLoader.clear();
|
| }
|
|
|
| void InspectorPageAgent::disable(ErrorString*)
|
| @@ -490,7 +498,10 @@ void InspectorPageAgent::disable(ErrorString*)
|
| m_state->remove(PageAgentState::pageAgentScriptsToEvaluateOnLoad);
|
| m_overlay->hide();
|
| m_instrumentingAgents->setInspectorPageAgent(0);
|
| - m_inspectorResourceContentLoader.clear();
|
| + if (m_inspectorResourceContentLoader) {
|
| + m_inspectorResourceContentLoader->dispose();
|
| + m_inspectorResourceContentLoader.clear();
|
| + }
|
| m_deviceMetricsOverridden = false;
|
|
|
| setShowPaintRects(0, false);
|
| @@ -1449,6 +1460,7 @@ void InspectorPageAgent::trace(Visitor* visitor)
|
| {
|
| visitor->trace(m_page);
|
| visitor->trace(m_injectedScriptManager);
|
| + visitor->trace(m_inspectorResourceContentLoader);
|
| InspectorBaseAgent::trace(visitor);
|
| }
|
|
|
|
|