REGRESSION (r226994): Web Inspector: Styles: Suggestions popover floats in top-left...
authornvasilyev@apple.com <nvasilyev@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 25 Jan 2018 00:15:39 +0000 (00:15 +0000)
committernvasilyev@apple.com <nvasilyev@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 25 Jan 2018 00:15:39 +0000 (00:15 +0000)
commit9867c5b4c4df36399cfcbe89d583a9a465936249
tree6fa36038c25e3df362a4f942bc8d947ef1a2d6f1
parentdea5d1837800833bc95e31fa198dcba9f6182cf8
REGRESSION (r226994): Web Inspector: Styles: Suggestions popover floats in top-left corner of Web Inspector after tabbing
https://bugs.webkit.org/show_bug.cgi?id=182027

Reviewed by Matt Baker.

r226994 added a layout of all properties on property removal. Layout caused
a property element to be removed from DOM right before dislaying the suggestion
popover, resulting in the popover being displayed at the top left corner.

* UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
Only update property view indices when a property is removed.

* UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty):
(WI.SpreadsheetStyleProperty.prototype.set index):

* UserInterface/Views/SpreadsheetTextField.js:
(WI.SpreadsheetTextField.prototype._updateCompletions):
Checking this._element.parentNode to see if the element is attached to the DOM tree is unreliable,
since the element may have a non-null parent node that is detached from the DOM tree. To fix that,
we could traverse element's ancestors, but I used a concise isConnected property instead.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebInspectorUI/ChangeLog
Source/WebInspectorUI/UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js
Source/WebInspectorUI/UserInterface/Views/SpreadsheetStyleProperty.js
Source/WebInspectorUI/UserInterface/Views/SpreadsheetTextField.js