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 bc4af9ba13e484b657ff7ac471fe64203eaaaa76..e01fd5b4fbe56db95b7ddd284983b98bc457d374 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/ui/Widget.js |
+++ b/third_party/WebKit/Source/devtools/front_end/ui/Widget.js |
@@ -153,6 +153,14 @@ WebInspector.Widget.prototype = { |
this._callOnVisibleChildren(this._processWasShown); |
}, |
+ _processWasDetachedFromHierarchy: function() |
+ { |
+ this._notify(this.wasDetachedFromHierarchy); |
+ var copy = this._children.slice(); |
+ for (var widget of copy) |
+ widget._processWasDetachedFromHierarchy(); |
+ }, |
+ |
_processWillHide: function() |
{ |
if (this._inNotification()) |
@@ -200,6 +208,10 @@ WebInspector.Widget.prototype = { |
{ |
}, |
+ wasDetachedFromHierarchy: function() |
+ { |
+ }, |
+ |
onResize: function() |
{ |
}, |
@@ -338,6 +350,7 @@ WebInspector.Widget.prototype = { |
this._parentWidget.childWasDetached(this); |
var parent = this._parentWidget; |
this._parentWidget = null; |
+ this._processWasDetachedFromHierarchy(); |
} else { |
WebInspector.Widget.__assert(this._isRoot, "Removing non-root widget from DOM"); |
} |