Title: [209631] trunk/Source/WebInspectorUI
Revision
209631
Author
commit-qu...@webkit.org
Date
2016-12-09 14:43:54 -0800 (Fri, 09 Dec 2016)

Log Message

Web Inspector: Frontend should not be resetting TypeProfiler state when switching between ContentViews
https://bugs.webkit.org/show_bug.cgi?id=165648

Patch by Joseph Pecoraro <pecor...@apple.com> on 2016-12-09
Reviewed by Brian Burg.

* UserInterface/Base/Main.js:
(WebInspector.loaded):
Update all backends when the state changes.

* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):
(WebInspector.SourceCodeTextEditor.prototype.set _basicBlockAnnotatorEnabled):
Moved this code to when the global Setting (which affects all editors) changes.

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (209630 => 209631)


--- trunk/Source/WebInspectorUI/ChangeLog	2016-12-09 22:38:39 UTC (rev 209630)
+++ trunk/Source/WebInspectorUI/ChangeLog	2016-12-09 22:43:54 UTC (rev 209631)
@@ -1,5 +1,21 @@
 2016-12-09  Joseph Pecoraro  <pecor...@apple.com>
 
+        Web Inspector: Frontend should not be resetting TypeProfiler state when switching between ContentViews
+        https://bugs.webkit.org/show_bug.cgi?id=165648
+
+        Reviewed by Brian Burg.
+
+        * UserInterface/Base/Main.js:
+        (WebInspector.loaded):
+        Update all backends when the state changes.
+
+        * UserInterface/Views/SourceCodeTextEditor.js:
+        (WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):
+        (WebInspector.SourceCodeTextEditor.prototype.set _basicBlockAnnotatorEnabled):
+        Moved this code to when the global Setting (which affects all editors) changes.
+
+2016-12-09  Joseph Pecoraro  <pecor...@apple.com>
+
         Web Inspector: Some resources fetched via Fetch API do not have data
         https://bugs.webkit.org/show_bug.cgi?id=165230
         <rdar://problem/29449220>

Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (209630 => 209631)


--- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js	2016-12-09 22:38:39 UTC (rev 209630)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js	2016-12-09 22:43:54 UTC (rev 209631)
@@ -167,10 +167,12 @@
 
     // COMPATIBILITY (iOS 8): Page.enableTypeProfiler did not exist.
     this.showJavaScriptTypeInformationSetting = new WebInspector.Setting("show-_javascript_-type-information", false);
+    this.showJavaScriptTypeInformationSetting.addEventListener(WebInspector.Setting.Event.Changed, this._showJavaScriptTypeInformationSettingChanged, this);
     if (this.showJavaScriptTypeInformationSetting.value && window.RuntimeAgent && RuntimeAgent.enableTypeProfiler)
         RuntimeAgent.enableTypeProfiler();
 
     this.enableControlFlowProfilerSetting = new WebInspector.Setting("enable-control-flow-profiler", false);
+    this.enableControlFlowProfilerSetting.addEventListener(WebInspector.Setting.Event.Changed, this._enableControlFlowProfilerSettingChanged, this);
     if (this.enableControlFlowProfilerSetting.value && window.RuntimeAgent && RuntimeAgent.enableControlFlowProfiler)
         RuntimeAgent.enableControlFlowProfiler();
 
@@ -2089,6 +2091,28 @@
         WebInspector.tabBar.selectedTabBarItem = i - 1;
 };
 
+WebInspector._showJavaScriptTypeInformationSettingChanged = function(event)
+{
+    if (this.showJavaScriptTypeInformationSetting.value) {
+        for (let target of WebInspector.targets)
+            target.RuntimeAgent.enableTypeProfiler();
+    } else {
+        for (let target of WebInspector.targets)
+            target.RuntimeAgent.disableTypeProfiler();
+    }
+};
+
+WebInspector._enableControlFlowProfilerSettingChanged = function(event)
+{
+    if (this.enableControlFlowProfilerSetting.value) {
+        for (let target of WebInspector.targets)
+            target.RuntimeAgent.enableControlFlowProfiler();
+    } else {
+        for (let target of WebInspector.targets)
+            target.RuntimeAgent.disableControlFlowProfiler();
+    }
+};
+
 WebInspector.elementDragStart = function(element, dividerDrag, elementDragEnd, event, cursor, eventTarget)
 {
     if (WebInspector._elementDraggingEventListener || WebInspector._elementEndDraggingEventListener)

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js (209630 => 209631)


--- trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js	2016-12-09 22:38:39 UTC (rev 209630)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js	2016-12-09 22:43:54 UTC (rev 209631)
@@ -2065,17 +2065,11 @@
         if (shouldActivate) {
             console.assert(this.visible, "Annotators should not be enabled if the TextEditor is not visible");
 
-            for (let target of WebInspector.targets)
-                target.RuntimeAgent.enableTypeProfiler();
-
             this._typeTokenAnnotator.reset();
 
             if (!this._typeTokenScrollHandler)
                 this._enableScrollEventsForTypeTokenAnnotator();
         } else {
-            for (let target of WebInspector.targets)
-                target.RuntimeAgent.disableTypeProfiler();
-
             this._typeTokenAnnotator.clear();
 
             if (this._typeTokenScrollHandler)
@@ -2095,9 +2089,6 @@
         if (shouldActivate) {
             console.assert(this.visible, "Annotators should not be enabled if the TextEditor is not visible");
 
-            for (let target of WebInspector.targets)
-                target.RuntimeAgent.enableControlFlowProfiler();
-
             console.assert(!this._basicBlockAnnotator.isActive());
             this._basicBlockAnnotator.reset();
 
@@ -2104,9 +2095,6 @@
             if (!this._controlFlowScrollHandler)
                 this._enableScrollEventsForControlFlowAnnotator();
         } else {
-            for (let target of WebInspector.targets)
-                target.RuntimeAgent.disableControlFlowProfiler();
-
             this._basicBlockAnnotator.clear();
 
             if (this._controlFlowScrollHandler)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to