Title: [214991] releases/WebKitGTK/webkit-2.14/Source
Revision
214991
Author
[email protected]
Date
2017-04-05 23:08:26 -0700 (Wed, 05 Apr 2017)

Log Message

Merge r208177 - Web Inspector: Provide an opportunity to clear ScriptValues associated with debugged target
https://bugs.webkit.org/show_bug.cgi?id=164167
<rdar://problem/29010148>

Patch by Joseph Pecoraro <[email protected]> on 2016-10-31
Reviewed by Mark Lam.

Source/_javascript_Core:

* inspector/InspectorAgentBase.h:
(Inspector::InspectorAgentBase::discardValues):
* inspector/InspectorAgentRegistry.cpp:
(Inspector::AgentRegistry::~AgentRegistry):
(Inspector::AgentRegistry::discardValues):
* inspector/InspectorAgentRegistry.h:
New standard agent method to allow the agent to discard values.

* inspector/agents/InspectorConsoleAgent.h:
* inspector/agents/InspectorConsoleAgent.cpp:
(Inspector::InspectorConsoleAgent::discardValues):
Discard ScriptValues in ConsoleMessages.

* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::globalObjectDestroyed):
Global object is going away, discard values.

Source/WebCore:

* inspector/InspectorController.cpp:
(WebCore::InspectorController::inspectedPageDestroyed):
Page is going away, discard values.

* inspector/WorkerInspectorController.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::workerTerminating):
Worker is going away, discard values.

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/ChangeLog (214990 => 214991)


--- releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/ChangeLog	2017-04-06 05:27:12 UTC (rev 214990)
+++ releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/ChangeLog	2017-04-06 06:08:26 UTC (rev 214991)
@@ -1,3 +1,28 @@
+2016-10-31  Joseph Pecoraro  <[email protected]>
+
+        Web Inspector: Provide an opportunity to clear ScriptValues associated with debugged target
+        https://bugs.webkit.org/show_bug.cgi?id=164167
+        <rdar://problem/29010148>
+
+        Reviewed by Mark Lam.
+
+        * inspector/InspectorAgentBase.h:
+        (Inspector::InspectorAgentBase::discardValues):
+        * inspector/InspectorAgentRegistry.cpp:
+        (Inspector::AgentRegistry::~AgentRegistry):
+        (Inspector::AgentRegistry::discardValues):
+        * inspector/InspectorAgentRegistry.h:
+        New standard agent method to allow the agent to discard values.
+
+        * inspector/agents/InspectorConsoleAgent.h:
+        * inspector/agents/InspectorConsoleAgent.cpp:
+        (Inspector::InspectorConsoleAgent::discardValues):
+        Discard ScriptValues in ConsoleMessages.
+
+        * inspector/JSGlobalObjectInspectorController.cpp:
+        (Inspector::JSGlobalObjectInspectorController::globalObjectDestroyed):
+        Global object is going away, discard values.
+
 2016-12-06  Mark Lam  <[email protected]>
 
         Introduce the concept of Immutable Prototype Exotic Objects to comply with the spec.

Modified: releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/InspectorAgentBase.h (214990 => 214991)


--- releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/InspectorAgentBase.h	2017-04-06 05:27:12 UTC (rev 214990)
+++ releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/InspectorAgentBase.h	2017-04-06 06:08:26 UTC (rev 214991)
@@ -70,6 +70,7 @@
 
     virtual void didCreateFrontendAndBackend(FrontendRouter*, BackendDispatcher*) = 0;
     virtual void willDestroyFrontendAndBackend(DisconnectReason) = 0;
+    virtual void discardValues() { }
     virtual void discardAgent() { }
 
 protected:

Modified: releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/InspectorAgentRegistry.cpp (214990 => 214991)


--- releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/InspectorAgentRegistry.cpp	2017-04-06 05:27:12 UTC (rev 214990)
+++ releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/InspectorAgentRegistry.cpp	2017-04-06 06:08:26 UTC (rev 214991)
@@ -40,7 +40,7 @@
     // Allow agents to remove cross-references to other agents that would otherwise
     // make it difficult to establish a correct destruction order for all agents.
     for (auto& agent : m_agents)
-        agent->discardAgent();    
+        agent->discardAgent();
 }
 
 void AgentRegistry::append(std::unique_ptr<InspectorAgentBase> agent)
@@ -69,5 +69,10 @@
         agent->willDestroyFrontendAndBackend(reason);
 }
 
+void AgentRegistry::discardValues()
+{
+    for (auto& agent : m_agents)
+        agent->discardValues();
+}
+
 } // namespace Inspector
-

Modified: releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/InspectorAgentRegistry.h (214990 => 214991)


--- releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/InspectorAgentRegistry.h	2017-04-06 05:27:12 UTC (rev 214990)
+++ releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/InspectorAgentRegistry.h	2017-04-06 06:08:26 UTC (rev 214991)
@@ -46,6 +46,7 @@
 
     void didCreateFrontendAndBackend(FrontendRouter*, BackendDispatcher*);
     void willDestroyFrontendAndBackend(DisconnectReason);
+    void discardValues();
 
 #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
     void appendExtraAgent(std::unique_ptr<InspectorAgentBase>);

Modified: releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/JSGlobalObjectInspectorController.cpp (214990 => 214991)


--- releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/JSGlobalObjectInspectorController.cpp	2017-04-06 05:27:12 UTC (rev 214990)
+++ releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/JSGlobalObjectInspectorController.cpp	2017-04-06 06:08:26 UTC (rev 214991)
@@ -119,6 +119,8 @@
     ASSERT(!m_frontendRouter->hasFrontends());
 
     m_injectedScriptManager->disconnect();
+
+    m_agents.discardValues();
 }
 
 void JSGlobalObjectInspectorController::connectFrontend(FrontendChannel* frontendChannel, bool isAutomaticInspection)

Modified: releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/agents/InspectorConsoleAgent.cpp (214990 => 214991)


--- releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/agents/InspectorConsoleAgent.cpp	2017-04-06 05:27:12 UTC (rev 214990)
+++ releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/agents/InspectorConsoleAgent.cpp	2017-04-06 06:08:26 UTC (rev 214991)
@@ -66,6 +66,11 @@
     disable(errorString);
 }
 
+void InspectorConsoleAgent::discardValues()
+{
+    m_consoleMessages.clear();
+}
+
 void InspectorConsoleAgent::enable(ErrorString&)
 {
     if (m_enabled)

Modified: releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/agents/InspectorConsoleAgent.h (214990 => 214991)


--- releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/agents/InspectorConsoleAgent.h	2017-04-06 05:27:12 UTC (rev 214990)
+++ releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/inspector/agents/InspectorConsoleAgent.h	2017-04-06 06:08:26 UTC (rev 214991)
@@ -57,6 +57,7 @@
 
     void didCreateFrontendAndBackend(FrontendRouter*, BackendDispatcher*) override;
     void willDestroyFrontendAndBackend(DisconnectReason) override;
+    void discardValues() override;
 
     void enable(ErrorString&) override;
     void disable(ErrorString&) override;

Modified: releases/WebKitGTK/webkit-2.14/Source/WebCore/ChangeLog (214990 => 214991)


--- releases/WebKitGTK/webkit-2.14/Source/WebCore/ChangeLog	2017-04-06 05:27:12 UTC (rev 214990)
+++ releases/WebKitGTK/webkit-2.14/Source/WebCore/ChangeLog	2017-04-06 06:08:26 UTC (rev 214991)
@@ -1,3 +1,20 @@
+2016-10-31  Joseph Pecoraro  <[email protected]>
+
+        Web Inspector: Provide an opportunity to clear ScriptValues associated with debugged target
+        https://bugs.webkit.org/show_bug.cgi?id=164167
+        <rdar://problem/29010148>
+
+        Reviewed by Mark Lam.
+
+        * inspector/InspectorController.cpp:
+        (WebCore::InspectorController::inspectedPageDestroyed):
+        Page is going away, discard values.
+
+        * inspector/WorkerInspectorController.h:
+        * inspector/WorkerInspectorController.cpp:
+        (WebCore::WorkerInspectorController::workerTerminating):
+        Worker is going away, discard values.
+
 2016-09-30  Youenn Fablet  <[email protected]>
 
         DumpRenderTree crashed in com.apple.WebCore: WTF::Optional<WebCore::FetchBodyOwner::BlobLoader>::operator bool const + 12

Modified: releases/WebKitGTK/webkit-2.14/Source/WebCore/inspector/InspectorController.cpp (214990 => 214991)


--- releases/WebKitGTK/webkit-2.14/Source/WebCore/inspector/InspectorController.cpp	2017-04-06 05:27:12 UTC (rev 214990)
+++ releases/WebKitGTK/webkit-2.14/Source/WebCore/inspector/InspectorController.cpp	2017-04-06 06:08:26 UTC (rev 214991)
@@ -209,6 +209,8 @@
 
     // Clean up resources and disconnect local and remote frontends.
     disconnectAllFrontends();
+
+    m_agents.discardValues();
 }
 
 void InspectorController::setInspectorFrontendClient(InspectorFrontendClient* inspectorFrontendClient)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to