WebKit Bugzilla
Attachment 372017 Details for
Bug 198804
: Web Inspector: Settings: indent type and size settings aren't respected everywhere
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-198804-20190612212703.patch (text/plain), 12.93 KB, created by
Devin Rousso
on 2019-06-12 21:27:04 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Devin Rousso
Created:
2019-06-12 21:27:04 PDT
Size:
12.93 KB
patch
obsolete
>diff --git a/Source/WebInspectorUI/ChangeLog b/Source/WebInspectorUI/ChangeLog >index eaecae15bb51b34f2800dc6b54be72133ad7360e..f1ada1a92d2b9f7aea401fbfb271aee351636950 100644 >--- a/Source/WebInspectorUI/ChangeLog >+++ b/Source/WebInspectorUI/ChangeLog >@@ -1,3 +1,44 @@ >+2019-06-12 Devin Rousso <drousso@apple.com> >+ >+ Web Inspector: Settings: indent type and size settings aren't respected everywhere >+ https://bugs.webkit.org/show_bug.cgi?id=198804 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * 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-10 Devin Rousso <drousso@apple.com> > > Web Inspector: Timelines: imported recordings do not have JavaScript call trees >diff --git a/Source/WebInspectorUI/UserInterface/Views/AuditTestCaseContentView.js b/Source/WebInspectorUI/UserInterface/Views/AuditTestCaseContentView.js >index 48686cdacf11a59fddcdfd79c991eba77350316c..168028824999917bda4738e59d7cb296a1237c94 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/AuditTestCaseContentView.js >+++ b/Source/WebInspectorUI/UserInterface/Views/AuditTestCaseContentView.js >@@ -217,7 +217,6 @@ WI.AuditTestCaseContentView = class AuditTestCaseContentView extends WI.AuditTes > mode: "css", > readOnly: true, > lineWrapping: true, >- showWhitespaceCharacters: WI.settings.showWhitespaceCharacters.value, > styleSelectedText: true, > }); > codeMirror.setValue(domNode); >diff --git a/Source/WebInspectorUI/UserInterface/Views/BreakpointActionView.js b/Source/WebInspectorUI/UserInterface/Views/BreakpointActionView.js >index 86e260a49368c048b63f3615b28d440eea448130..35ae79559cb8f3ed5c88093fedf97a0494bc7536 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/BreakpointActionView.js >+++ b/Source/WebInspectorUI/UserInterface/Views/BreakpointActionView.js >@@ -158,8 +158,6 @@ WI.BreakpointActionView = class BreakpointActionView extends WI.Object > this._codeMirror = WI.CodeMirrorEditor.create(editorElement, { > lineWrapping: true, > mode: "text/javascript", >- indentWithTabs: true, >- indentUnit: 4, > matchBrackets: true, > value: this._action.data || "", > }); >diff --git a/Source/WebInspectorUI/UserInterface/Views/CodeMirrorEditor.js b/Source/WebInspectorUI/UserInterface/Views/CodeMirrorEditor.js >index f453cc718deec3787049f9b9bb4ef3fc74c74a26..e445dd3156b209d401238b8a9b18d1bd9571af57 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/CodeMirrorEditor.js >+++ b/Source/WebInspectorUI/UserInterface/Views/CodeMirrorEditor.js >@@ -33,7 +33,29 @@ WI.CodeMirrorEditor = class CodeMirrorEditor > 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") { >diff --git a/Source/WebInspectorUI/UserInterface/Views/ConsolePrompt.js b/Source/WebInspectorUI/UserInterface/Views/ConsolePrompt.js >index 549cab4fdb82834f3649ff539f8606c896a070af..80faca6ad5db2db8557337be51534565523e2882 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/ConsolePrompt.js >+++ b/Source/WebInspectorUI/UserInterface/Views/ConsolePrompt.js >@@ -40,8 +40,6 @@ WI.ConsolePrompt = class ConsolePrompt extends WI.View > this._codeMirror = WI.CodeMirrorEditor.create(this.element, { > lineWrapping: true, > mode: {name: mimeType, globalVars: true}, >- indentWithTabs: true, >- indentUnit: 4, > matchBrackets: true > }); > >diff --git a/Source/WebInspectorUI/UserInterface/Views/ScopeChainDetailsSidebarPanel.js b/Source/WebInspectorUI/UserInterface/Views/ScopeChainDetailsSidebarPanel.js >index 226a2697e7e992b681163ace95c38ff983ac49e4..eb2ff6fc6a92cdc1417d09d822a5bd80e9aec237 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/ScopeChainDetailsSidebarPanel.js >+++ b/Source/WebInspectorUI/UserInterface/Views/ScopeChainDetailsSidebarPanel.js >@@ -364,8 +364,6 @@ WI.ScopeChainDetailsSidebarPanel = class ScopeChainDetailsSidebarPanel extends W > this._codeMirror = WI.CodeMirrorEditor.create(editorElement, { > lineWrapping: true, > mode: "text/javascript", >- indentWithTabs: true, >- indentUnit: 4, > matchBrackets: true, > value: "", > }); >diff --git a/Source/WebInspectorUI/UserInterface/Views/ShaderProgramContentView.js b/Source/WebInspectorUI/UserInterface/Views/ShaderProgramContentView.js >index 7e8da828741b3d7be2515bcd4c6ea937390c4c4c..dd9254ed5bee00856e232a52ff0b72d5b9234384 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/ShaderProgramContentView.js >+++ b/Source/WebInspectorUI/UserInterface/Views/ShaderProgramContentView.js >@@ -99,14 +99,6 @@ WI.ShaderProgramContentView = class ShaderProgramContentView extends WI.ContentV > super.hidden(); > } > >- closed() >- { >- this._vertexEditor.close(); >- this._fragmentEditor.close(); >- >- super.closed(); >- } >- > get supportsSave() > { > return true; >diff --git a/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js b/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js >index 9ee9df4a62934e230e36d15b087a6f9558d8166e..be8ca15e5a6c7de28cd7dcab2d2096d7e4441bed 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js >+++ b/Source/WebInspectorUI/UserInterface/Views/SourceCodeTextEditor.js >@@ -165,8 +165,6 @@ WI.SourceCodeTextEditor = class SourceCodeTextEditor extends WI.TextEditor > > close() > { >- super.close(); >- > if (this._supportsDebugging) { > WI.Breakpoint.removeEventListener(null, null, this); > WI.debuggerManager.removeEventListener(null, null, this); >diff --git a/Source/WebInspectorUI/UserInterface/Views/TextContentView.js b/Source/WebInspectorUI/UserInterface/Views/TextContentView.js >index 25709b327e97a866a3dda4110a66735d426995ba..37bc50381eb9fb84c6b6acec7d831975f8f44981 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/TextContentView.js >+++ b/Source/WebInspectorUI/UserInterface/Views/TextContentView.js >@@ -92,13 +92,6 @@ WI.TextContentView = class TextContentView extends WI.ContentView > this._textEditor.hidden(); > } > >- closed() >- { >- super.closed(); >- >- this._textEditor.close(); >- } >- > get supportsSave() > { > return true; >diff --git a/Source/WebInspectorUI/UserInterface/Views/TextEditor.js b/Source/WebInspectorUI/UserInterface/Views/TextEditor.js >index f16ee734fadfe0cfc40779118d88b67d0ce7735c..645f9791641a0f3c0e9eaa1eb8d50716bf51b7bd 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/TextEditor.js >+++ b/Source/WebInspectorUI/UserInterface/Views/TextEditor.js >@@ -33,37 +33,12 @@ WI.TextEditor = class TextEditor extends WI.View > > 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 @@ WI.TextEditor = class TextEditor extends WI.View > 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) >diff --git a/Source/WebInspectorUI/UserInterface/Views/TextResourceContentView.js b/Source/WebInspectorUI/UserInterface/Views/TextResourceContentView.js >index 49a9b95aa06119dee2f6238d4d87f426c95c60f6..2f9f53beb782aa00b28a84be84c8e06aa9ed9644 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/TextResourceContentView.js >+++ b/Source/WebInspectorUI/UserInterface/Views/TextResourceContentView.js >@@ -127,8 +127,6 @@ WI.TextResourceContentView = class TextResourceContentView extends WI.ResourceCo > 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)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 198804
: 372017