| Index: third_party/WebKit/Source/devtools/front_end/ui/Widget.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/ui/Widget.js b/third_party/WebKit/Source/devtools/front_end/ui/Widget.js
|
| index a7525f613f0a5db1a332de231215cc49f712ebc6..517f1111ecaed1de20fa032962a2f4637b761962 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/ui/Widget.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/ui/Widget.js
|
| @@ -247,7 +247,7 @@ UI.Widget = class extends Common.Object {
|
|
|
| /**
|
| * @param {!Element} parentElement
|
| - * @param {?Node=} insertBefore
|
| + * @param {?Element=} insertBefore
|
| */
|
| show(parentElement, insertBefore) {
|
| UI.Widget.__assert(parentElement, 'Attempt to attach widget with no parent element');
|
| @@ -258,43 +258,30 @@ UI.Widget = class extends Common.Object {
|
| while (currentParent && !currentParent.__widget)
|
| currentParent = currentParent.parentElementOrShadowHost();
|
| UI.Widget.__assert(currentParent, 'Attempt to attach widget to orphan node');
|
| - this.attach(currentParent.__widget, parentElement, insertBefore);
|
| - } else {
|
| - this._attachedToParentElement = parentElement;
|
| - this._attachedBeforeNode = insertBefore;
|
| + this.attach(currentParent.__widget);
|
| }
|
|
|
| - this.showWidget();
|
| + this.showWidget(parentElement, insertBefore);
|
| }
|
|
|
| /**
|
| * @param {!UI.Widget} parentWidget
|
| - * @param {!Element=} parentElement
|
| - * @param {?Node=} insertBefore
|
| - */
|
| - attach(parentWidget, parentElement, insertBefore) {
|
| - parentElement = parentElement || parentWidget.element;
|
| - if (parentWidget === this._parentWidget) {
|
| - this._attachedToParentElement = parentElement;
|
| - this._attachedBeforeNode = insertBefore;
|
| - if (this._visible)
|
| - this.showWidget();
|
| + */
|
| + attach(parentWidget) {
|
| + if (parentWidget === this._parentWidget)
|
| return;
|
| - }
|
| if (this._parentWidget)
|
| this.detach();
|
| this._parentWidget = parentWidget;
|
| this._parentWidget._children.push(this);
|
| - this._attachedToParentElement = parentElement;
|
| - this._attachedBeforeNode = insertBefore;
|
| this._isRoot = false;
|
| }
|
|
|
| - showWidget() {
|
| - UI.Widget.__assert(this._parentWidget || this._isRoot, 'Attempt to show widget that has not been attached');
|
| - var parentElement = this._attachedToParentElement;
|
| - var insertBefore = this._attachedBeforeNode;
|
| -
|
| + /**
|
| + * @param {!Element} parentElement
|
| + * @param {?Element=} insertBefore
|
| + */
|
| + showWidget(parentElement, insertBefore) {
|
| var currentParent = parentElement;
|
| while (currentParent && !currentParent.__widget)
|
| currentParent = currentParent.parentElementOrShadowHost();
|
| @@ -337,7 +324,8 @@ UI.Widget = class extends Common.Object {
|
| }
|
|
|
| hideWidget() {
|
| - UI.Widget.__assert(this._parentWidget || this._isRoot, 'Attempt to hide widget that has not been attached');
|
| + if (!this._parentWidget)
|
| + return;
|
| this._hideWidget();
|
| }
|
|
|
| @@ -349,8 +337,6 @@ UI.Widget = class extends Common.Object {
|
| return;
|
| this._visible = false;
|
| var parentElement = this.element.parentElement;
|
| - this._attachedToParentElement = parentElement;
|
| - this._attachedBeforeNode = this.element.nextSibling;
|
|
|
| if (this._parentIsShowing())
|
| this._processWillHide();
|
| @@ -389,9 +375,6 @@ UI.Widget = class extends Common.Object {
|
| } else {
|
| UI.Widget.__assert(this._isRoot, 'Removing non-root widget from DOM');
|
| }
|
| -
|
| - this._attachedToParentElement = null;
|
| - this._attachedBeforeNode = null;
|
| }
|
|
|
| detachChildWidgets() {
|
| @@ -602,6 +585,11 @@ UI.Widget = class extends Common.Object {
|
| else
|
| this.doLayout();
|
| }
|
| +
|
| + invalidateSize() {
|
| + if (this._parentWidget)
|
| + this._parentWidget.doLayout();
|
| + }
|
| };
|
|
|
| UI.Widget._originalAppendChild = Element.prototype.appendChild;
|
|
|