WebKit Bugzilla
Attachment 358657 Details for
Bug 193260
: Web Inspector: Event breakpoints: up/down keys don't always work
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-193260-20190108180407.patch (text/plain), 4.33 KB, created by
Devin Rousso
on 2019-01-08 17:04:08 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Devin Rousso
Created:
2019-01-08 17:04:08 PST
Size:
4.33 KB
patch
obsolete
>diff --git a/Source/WebInspectorUI/ChangeLog b/Source/WebInspectorUI/ChangeLog >index a74d140966ebdff1ee88a5ba5c631a085afdcd98..f0f221977d57d165869f1bb71b3ae65da3c6bd0f 100644 >--- a/Source/WebInspectorUI/ChangeLog >+++ b/Source/WebInspectorUI/ChangeLog >@@ -1,3 +1,17 @@ >+2019-01-08 Devin Rousso <drousso@apple.com> >+ >+ Web Inspector: Event breakpoints: up/down keys don't always work >+ https://bugs.webkit.org/show_bug.cgi?id=193260 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * UserInterface/Views/CompletionSuggestionsView.js: >+ (WI.CompletionSuggestionsView.prototype.set selectedIndex): >+ (WI.CompletionSuggestionsView.prototype.update): >+ Attempt to re-find the previously selected value in the completions list whenever updating. >+ If not found, look for the closest value that was in the list previously and select it. If >+ that still fails, just select the first item (e.g. if the user pastes in a different value). >+ > 2019-01-07 Devin Rousso <drousso@apple.com> > > Web Inspector: Audit: run arrow shouldn't be visible when running tests >diff --git a/Source/WebInspectorUI/UserInterface/Views/CompletionSuggestionsView.js b/Source/WebInspectorUI/UserInterface/Views/CompletionSuggestionsView.js >index 30cc228e6f625ce770324fcfbdb83a98e076ff1b..cce366051faf69c6371d6620899a775411fbaf8d 100644 >--- a/Source/WebInspectorUI/UserInterface/Views/CompletionSuggestionsView.js >+++ b/Source/WebInspectorUI/UserInterface/Views/CompletionSuggestionsView.js >@@ -76,7 +76,11 @@ WI.CompletionSuggestionsView = class CompletionSuggestionsView extends WI.Object > return; > > selectedItemElement.classList.add(WI.CompletionSuggestionsView.SelectedItemStyleClassName); >- selectedItemElement.scrollIntoViewIfNeeded(false); >+ >+ setTimeout(() => { >+ if (selectedItemElement === this._selectedItemElement) >+ selectedItemElement.scrollIntoViewIfNeeded(false); >+ }); > } > > selectNext() >@@ -192,22 +196,54 @@ WI.CompletionSuggestionsView = class CompletionSuggestionsView extends WI.Object > > update(completions, selectedIndex) > { >- this._containerElement.removeChildren(); >+ let oldCompletions = []; >+ let oldSelectedIndex = NaN; >+ if (typeof selectedIndex !== "number" && !isNaN(this._selectedIndex)) { >+ oldCompletions = Array.from(this._containerElement.children).map((child) => child.textContent); >+ oldSelectedIndex = this._selectedIndex; >+ } > >- if (typeof selectedIndex === "number") >- this._selectedIndex = selectedIndex; >+ this._selectedIndex = NaN; >+ this._containerElement.removeChildren(); > > for (var i = 0; i < completions.length; ++i) { > var itemElement = document.createElement("div"); > itemElement.className = WI.CompletionSuggestionsView.ItemElementStyleClassName; > itemElement.textContent = completions[i]; >- if (i === this._selectedIndex) >- itemElement.classList.add(WI.CompletionSuggestionsView.SelectedItemStyleClassName); > this._containerElement.appendChild(itemElement); > > if (this._delegate && typeof this._delegate.completionSuggestionsViewCustomizeCompletionElement === "function") > this._delegate.completionSuggestionsViewCustomizeCompletionElement(this, itemElement, completions[i]); > } >+ >+ if (!isNaN(oldSelectedIndex)) { >+ let sway = 0; >+ while (true) { >+ let itemBefore = oldCompletions[oldSelectedIndex - sway]; >+ let itemAfter = oldCompletions[oldSelectedIndex + sway]; >+ if (!itemBefore && !itemAfter) { >+ selectedIndex = 0; >+ break; >+ } >+ >+ let indexBefore = completions.indexOf(itemBefore); >+ if (indexBefore !== -1) { >+ selectedIndex = indexBefore; >+ break; >+ } >+ >+ let indexAfter = completions.indexOf(itemAfter); >+ if (indexAfter !== -1) { >+ selectedIndex = indexAfter; >+ break; >+ } >+ >+ ++sway; >+ } >+ } >+ >+ if (typeof selectedIndex === "number") >+ this.selectedIndex = selectedIndex; > } > > // Private
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:
hi
:
review-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 193260
:
358642
| 358657