WebKit Bugzilla
Attachment 362349 Details for
Bug 194796
: Web Inspector: Styles: Control-Space should force completion
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
patch.txt (text/plain), 4.81 KB, created by
Nikita Vasilyev
on 2019-02-18 15:32:19 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Nikita Vasilyev
Created:
2019-02-18 15:32:19 PST
Size:
4.81 KB
patch
obsolete
>diff --git a/Source/WebInspectorUI/ChangeLog b/Source/WebInspectorUI/ChangeLog >index 4c344ffd8f8..cf136de9edc 100644 >--- a/Source/WebInspectorUI/ChangeLog >+++ b/Source/WebInspectorUI/ChangeLog >@@ -1,3 +1,21 @@ >+2019-02-18 Nikita Vasilyev <nvasilyev@apple.com> >+ >+ Web Inspector: Styles: Control-Space should force completion >+ https://bugs.webkit.org/show_bug.cgi?id=194796 >+ <rdar://problem/48180822> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Pressing Control-Space when editing CSS property should show completion popover, >+ even if the value is empty. >+ >+ * UserInterface/Views/SpreadsheetStyleProperty.js: >+ (WI.SpreadsheetStyleProperty.prototype._nameCompletionDataProvider): >+ (WI.SpreadsheetStyleProperty.prototype._valueCompletionDataProvider): >+ * UserInterface/Views/SpreadsheetTextField.js: >+ (WI.SpreadsheetTextField.prototype._handleKeyDown): >+ (WI.SpreadsheetTextField.prototype._updateCompletions): >+ > 2019-02-18 Joseph Pecoraro <pecoraro@apple.com> > > Web Inspector: Fix a typo causing assertions in ConsoleManager >diff --git a/Source/WebInspectorUI/UserInterface/Views/SpreadsheetStyleProperty.js b/Source/WebInspectorUI/UserInterface/Views/SpreadsheetStyleProperty.js >index 5e0853a4793..75b20d24694 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/SpreadsheetStyleProperty.js >+++ b/Source/WebInspectorUI/UserInterface/Views/SpreadsheetStyleProperty.js >@@ -709,12 +709,15 @@ WI.SpreadsheetStyleProperty = class SpreadsheetStyleProperty extends WI.Object > } > } > >- _nameCompletionDataProvider(prefix) >+ _nameCompletionDataProvider(prefix, forceCompletion = false) > { >- return { >- prefix, >- completions: WI.CSSCompletions.cssNameCompletions.startsWith(prefix) >- }; >+ let completions; >+ if (!prefix && forceCompletion) >+ completions = WI.CSSCompletions.cssNameCompletions.values; >+ else >+ completions = WI.CSSCompletions.cssNameCompletions.startsWith(prefix); >+ >+ return {prefix, completions}; > } > > _handleValueBeforeInput(event) >@@ -736,19 +739,24 @@ WI.SpreadsheetStyleProperty = class SpreadsheetStyleProperty extends WI.Object > this.spreadsheetTextFieldDidCommit(this._valueTextField, {direction: "forward"}); > } > >- _valueCompletionDataProvider(prefix) >+ _valueCompletionDataProvider(prefix, forceCompletion = false) > { > // For "border: 1px so|", we want to suggest "solid" based on "so" prefix. > let match = prefix.match(/[a-z0-9()-]+$/i); >- if (!match) >+ if (!match && !forceCompletion) > return {completions: [], prefix: ""}; > >- prefix = match[0]; >+ prefix = match ? match[0] : ""; > let propertyName = this._nameElement.textContent.trim(); >- return { >- prefix, >- completions: WI.CSSKeywordCompletions.forProperty(propertyName).startsWith(prefix) >- }; >+ let completionsForPropertyName = WI.CSSKeywordCompletions.forProperty(propertyName); >+ >+ let completions; >+ if (!prefix && forceCompletion) >+ completions = completionsForPropertyName.values; >+ else >+ completions = completionsForPropertyName.startsWith(prefix); >+ >+ return {prefix, completions}; > } > > _setupJumpToSymbol(element) >diff --git a/Source/WebInspectorUI/UserInterface/Views/SpreadsheetTextField.js b/Source/WebInspectorUI/UserInterface/Views/SpreadsheetTextField.js >index ca5a84a554c..22afc1fbbee 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/SpreadsheetTextField.js >+++ b/Source/WebInspectorUI/UserInterface/Views/SpreadsheetTextField.js >@@ -278,6 +278,17 @@ WI.SpreadsheetTextField = class SpreadsheetTextField > } > } > >+ if (event.ctrlKey && event.code === "Space") { >+ event.stop(); >+ if (this._suggestionsView.visible) >+ this._suggestionsView.hide(); >+ else { >+ const forceCompletions = true; >+ this._updateCompletions(forceCompletions); >+ } >+ return; >+ } >+ > if (event.key === "Escape") { > event.stop(); > this._discardChange(); >@@ -358,13 +369,13 @@ WI.SpreadsheetTextField = class SpreadsheetTextField > this._delegate.spreadsheetTextFieldDidChange(this); > } > >- _updateCompletions() >+ _updateCompletions(forceCompletions = false) > { > if (!this._completionProvider) > return; > > let valueWithoutSuggestion = this.valueWithoutSuggestion(); >- let {completions, prefix} = this._completionProvider(valueWithoutSuggestion); >+ let {completions, prefix} = this._completionProvider(valueWithoutSuggestion, forceCompletions); > this._completionPrefix = prefix; > > if (!completions.length) {
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
Flags:
mattbaker
:
review-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194796
:
362349
|
362350
|
362761
|
363042
|
363252