Title: [246419] trunk/Source/WebInspectorUI
Revision
246419
Author
[email protected]
Date
2019-06-13 19:11:17 -0700 (Thu, 13 Jun 2019)

Log Message

Web Inspector: Settings: indent type and size settings aren't respected everywhere
https://bugs.webkit.org/show_bug.cgi?id=198804

Reviewed by Timothy Hatcher.

* UserInterface/Views/CodeMirrorEditor.js:
(WI.CodeMirrorEditor.create):
When creating a `CodeMirror` instance, default to using the global `Setting`s as the options.
If an override is specified in `options`, it will take precedence and the `CodeMirror` will
ignore any changes to the `Setting` as well.

* UserInterface/Views/TextEditor.js:
(WI.TextEditor):
(WI.TextEditor.prototype.close): Deleted.

* UserInterface/Views/AuditTestCaseContentView.js:
(WI.AuditTestCaseContentView.prototype.layout):
* UserInterface/Views/BreakpointActionView.js:
(WI.BreakpointActionView.prototype._updateBody):
* UserInterface/Views/ConsolePrompt.js:
(WI.ConsolePrompt):
* UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WI.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked):
Remove overrides that aren't necessary for `CodeMirror` to fit in the container element:
 - `showWhitespaceCharacters`
 - `indentWithTabs`
 - `indentUnit`

* UserInterface/Views/SourceCodeTextEditor.js:
(WI.SourceCodeTextEditor.prototype.close):
* UserInterface/Views/ShaderProgramContentView.js:
(WI.ShaderProgramContentView.prototype.closed): Deleted.
* UserInterface/Views/TextContentView.js:
(WI.TextContentView.prototype.closed): Deleted.
* UserInterface/Views/TextResourceContentView.js:
(WI.TextResourceContentView.prototype.closed):
Delete the logic for removing event listeners from global `Setting`, as it didn't work
anyways, since none of the event listeners were added using a `thisObject`.

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (246418 => 246419)


--- trunk/Source/WebInspectorUI/ChangeLog	2019-06-14 01:51:09 UTC (rev 246418)
+++ trunk/Source/WebInspectorUI/ChangeLog	2019-06-14 02:11:17 UTC (rev 246419)
@@ -1,5 +1,46 @@
 2019-06-13  Devin Rousso  <[email protected]>
 
+        Web Inspector: Settings: indent type and size settings aren't respected everywhere
+        https://bugs.webkit.org/show_bug.cgi?id=198804
+
+        Reviewed by Timothy Hatcher.
+
+        * UserInterface/Views/CodeMirrorEditor.js:
+        (WI.CodeMirrorEditor.create):
+        When creating a `CodeMirror` instance, default to using the global `Setting`s as the options.
+        If an override is specified in `options`, it will take precedence and the `CodeMirror` will
+        ignore any changes to the `Setting` as well.
+
+        * UserInterface/Views/TextEditor.js:
+        (WI.TextEditor):
+        (WI.TextEditor.prototype.close): Deleted.
+
+        * UserInterface/Views/AuditTestCaseContentView.js:
+        (WI.AuditTestCaseContentView.prototype.layout):
+        * UserInterface/Views/BreakpointActionView.js:
+        (WI.BreakpointActionView.prototype._updateBody):
+        * UserInterface/Views/ConsolePrompt.js:
+        (WI.ConsolePrompt):
+        * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
+        (WI.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked):
+        Remove overrides that aren't necessary for `CodeMirror` to fit in the container element:
+         - `showWhitespaceCharacters`
+         - `indentWithTabs`
+         - `indentUnit`
+
+        * UserInterface/Views/SourceCodeTextEditor.js:
+        (WI.SourceCodeTextEditor.prototype.close):
+        * UserInterface/Views/ShaderProgramContentView.js:
+        (WI.ShaderProgramContentView.prototype.closed): Deleted.
+        * UserInterface/Views/TextContentView.js:
+        (WI.TextContentView.prototype.closed): Deleted.
+        * UserInterface/Views/TextResourceContentView.js:
+        (WI.TextResourceContentView.prototype.closed):
+        Delete the logic for removing event listeners from global `Setting`, as it didn't work
+        anyways, since none of the event listeners were added using a `thisObject`.
+
+2019-06-13  Devin Rousso  <[email protected]>
+
         Web Inspector: Settings: sticky header disappears when over scrolling
         https://bugs.webkit.org/show_bug.cgi?id=198833
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestCaseContentView.js (246418 => 246419)


--- trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestCaseContentView.js	2019-06-14 01:51:09 UTC (rev 246418)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/AuditTestCaseContentView.js	2019-06-14 02:11:17 UTC (rev 246419)
@@ -217,7 +217,6 @@
                         mode: "css",
                         readOnly: true,
                         lineWrapping: true,
-                        showWhitespaceCharacters: WI.settings.showWhitespaceCharacters.value,
                         styleSelectedText: true,
                     });
                     codeMirror.setValue(domNode);

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/BreakpointActionView.js (246418 => 246419)


--- trunk/Source/WebInspectorUI/UserInterface/Views/BreakpointActionView.js	2019-06-14 01:51:09 UTC (rev 246418)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/BreakpointActionView.js	2019-06-14 02:11:17 UTC (rev 246419)
@@ -158,8 +158,6 @@
             this._codeMirror = WI.CodeMirrorEditor.create(editorElement, {
                 lineWrapping: true,
                 mode: "text/_javascript_",
-                indentWithTabs: true,
-                indentUnit: 4,
                 matchBrackets: true,
                 value: this._action.data || "",
             });

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CodeMirrorEditor.js (246418 => 246419)


--- trunk/Source/WebInspectorUI/UserInterface/Views/CodeMirrorEditor.js	2019-06-14 01:51:09 UTC (rev 246418)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CodeMirrorEditor.js	2019-06-14 02:11:17 UTC (rev 246419)
@@ -33,8 +33,30 @@
         element.setAttribute("dir", "ltr");
         element.classList.toggle("read-only", options.readOnly);
 
-        let codeMirror = new CodeMirror(element, options);
+        let codeMirror = new CodeMirror(element, {
+            // These values will be overridden by any value with the same key in `options`.
+            indentWithTabs: WI.settings.indentWithTabs.value,
+            indentUnit: WI.settings.indentUnit.value,
+            tabSize: WI.settings.tabSize.value,
+            lineWrapping: WI.settings.enableLineWrapping.value,
+            showWhitespaceCharacters: WI.settings.showWhitespaceCharacters.value,
+            ...options,
+        });
 
+        function listenForChange(setting, codeMirrorOption) {
+            if (options[codeMirrorOption] !== undefined)
+                return;
+
+            setting.addEventListener(WI.Setting.Event.Changed, (event) => {
+                codeMirror.setOption(codeMirrorOption, setting.value);
+            });
+        }
+        listenForChange(WI.settings.indentWithTabs, "indentWithTabs");
+        listenForChange(WI.settings.indentUnit, "indentUnit");
+        listenForChange(WI.settings.tabSize, "tabSize");
+        listenForChange(WI.settings.enableLineWrapping, "lineWrapping");
+        listenForChange(WI.settings.showWhitespaceCharacters, "showWhitespaceCharacters");
+
         // Override some Mac specific keybindings.
         if (WI.Platform.name === "mac") {
             codeMirror.addKeyMap({

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ConsolePrompt.js (246418 => 246419)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ConsolePrompt.js	2019-06-14 01:51:09 UTC (rev 246418)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ConsolePrompt.js	2019-06-14 02:11:17 UTC (rev 246419)
@@ -40,8 +40,6 @@
         this._codeMirror = WI.CodeMirrorEditor.create(this.element, {
             lineWrapping: true,
             mode: {name: mimeType, globalVars: true},
-            indentWithTabs: true,
-            indentUnit: 4,
             matchBrackets: true
         });
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ScopeChainDetailsSidebarPanel.js (246418 => 246419)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ScopeChainDetailsSidebarPanel.js	2019-06-14 01:51:09 UTC (rev 246418)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ScopeChainDetailsSidebarPanel.js	2019-06-14 02:11:17 UTC (rev 246419)
@@ -364,8 +364,6 @@
         this._codeMirror = WI.CodeMirrorEditor.create(editorElement, {
             lineWrapping: true,
             mode: "text/_javascript_",
-            indentWithTabs: true,
-            indentUnit: 4,
             matchBrackets: true,
             value: "",
         });

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ShaderProgramContentView.js (246418 => 246419)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ShaderProgramContentView.js	2019-06-14 01:51:09 UTC (rev 246418)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ShaderProgramContentView.js	2019-06-14 02:11:17 UTC (rev 246419)
@@ -99,14 +99,6 @@
         super.hidden();
     }
 
-    closed()
-    {
-        this._vertexEditor.close();
-        this._fragmentEditor.close();
-
-        super.closed();
-    }
-
     get supportsSave()
     {
         return true;

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js (246418 => 246419)


--- trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js	2019-06-14 01:51:09 UTC (rev 246418)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js	2019-06-14 02:11:17 UTC (rev 246419)
@@ -165,8 +165,6 @@
 
     close()
     {
-        super.close();
-
         if (this._supportsDebugging) {
             WI.Breakpoint.removeEventListener(null, null, this);
             WI.debuggerManager.removeEventListener(null, null, this);

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TextContentView.js (246418 => 246419)


--- trunk/Source/WebInspectorUI/UserInterface/Views/TextContentView.js	2019-06-14 01:51:09 UTC (rev 246418)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TextContentView.js	2019-06-14 02:11:17 UTC (rev 246419)
@@ -92,13 +92,6 @@
         this._textEditor.hidden();
     }
 
-    closed()
-    {
-        super.closed();
-
-        this._textEditor.close();
-    }
-
     get supportsSave()
     {
         return true;

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TextEditor.js (246418 => 246419)


--- trunk/Source/WebInspectorUI/UserInterface/Views/TextEditor.js	2019-06-14 01:51:09 UTC (rev 246418)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TextEditor.js	2019-06-14 02:11:17 UTC (rev 246419)
@@ -33,37 +33,12 @@
 
         this._codeMirror = WI.CodeMirrorEditor.create(this.element, {
             readOnly: true,
-            indentWithTabs: WI.settings.indentWithTabs.value,
-            indentUnit: WI.settings.indentUnit.value,
-            tabSize: WI.settings.tabSize.value,
             lineNumbers: true,
-            lineWrapping: WI.settings.enableLineWrapping.value,
             matchBrackets: true,
             autoCloseBrackets: true,
-            showWhitespaceCharacters: WI.settings.showWhitespaceCharacters.value,
             styleSelectedText: true,
         });
 
-        WI.settings.indentWithTabs.addEventListener(WI.Setting.Event.Changed, (event) => {
-            this._codeMirror.setOption("indentWithTabs", WI.settings.indentWithTabs.value);
-        });
-
-        WI.settings.indentUnit.addEventListener(WI.Setting.Event.Changed, (event) => {
-            this._codeMirror.setOption("indentUnit", WI.settings.indentUnit.value);
-        });
-
-        WI.settings.tabSize.addEventListener(WI.Setting.Event.Changed, (event) => {
-            this._codeMirror.setOption("tabSize", WI.settings.tabSize.value);
-        });
-
-        WI.settings.enableLineWrapping.addEventListener(WI.Setting.Event.Changed, (event) => {
-            this._codeMirror.setOption("lineWrapping", WI.settings.enableLineWrapping.value);
-        });
-
-        WI.settings.showWhitespaceCharacters.addEventListener(WI.Setting.Event.Changed, (event) => {
-            this._codeMirror.setOption("showWhitespaceCharacters", WI.settings.showWhitespaceCharacters.value);
-        });
-
         this._codeMirror.on("focus", this._editorFocused.bind(this));
         this._codeMirror.on("change", this._contentChanged.bind(this));
         this._codeMirror.on("gutterClick", this._gutterMouseDown.bind(this));
@@ -587,15 +562,6 @@
         this._visible = false;
     }
 
-    close()
-    {
-        WI.settings.indentWithTabs.removeEventListener(null, null, this);
-        WI.settings.indentUnit.removeEventListener(null, null, this);
-        WI.settings.tabSize.removeEventListener(null, null, this);
-        WI.settings.enableLineWrapping.removeEventListener(null, null, this);
-        WI.settings.showWhitespaceCharacters.removeEventListener(null, null, this);
-    }
-
     setBreakpointInfoForLineAndColumn(lineNumber, columnNumber, breakpointInfo)
     {
         if (this._ignoreSetBreakpointInfoCalls)

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TextResourceContentView.js (246418 => 246419)


--- trunk/Source/WebInspectorUI/UserInterface/Views/TextResourceContentView.js	2019-06-14 01:51:09 UTC (rev 246418)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TextResourceContentView.js	2019-06-14 02:11:17 UTC (rev 246419)
@@ -127,8 +127,6 @@
         WI.debuggerManager.removeEventListener(null, null, this);
         WI.settings.showJavaScriptTypeInformation.removeEventListener(null, null, this);
         WI.settings.enableControlFlowProfiler.removeEventListener(null, null, this);
-
-        this._textEditor.close();
     }
 
     contentAvailable(content, base64Encoded)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to